Algorithmic virtual trading using the neostox platform

Related tags

Algorithms neopy
Overview

Documentation

Neostox doesnt have an API Support, so this is a little selenium code to automate strategies

How to use

  • Clone this repository and then make a .env file where you will store your email_id and password.
  • Edit your strategy class
  • Run the strategy.py file and a new neostox window will open up
  • Just finish the recaptcha and press enter on the terminal from where you ran your file
  • It will fetch the list of instruments in your side bar and store them

Broker.py

Handles signing in , fetching list of options , fetching data every minute and placing orders

Strategy.py

The strategy function in the Strategy class is called every minute and it finally takes one of 3 steps :

  1. Place a buy order
  2. Place a sell order
  3. Do nothing

Since this is my first time using selenium, I had run into few issues which I havent yet been able to resolve. I have put them up in the Issues tab Anyone more familiar with selenium can kindly fix those issues by creating a new branch and then upon verification, they will be merged with the main branch

You might also like...
Algorithm for Cutting Stock Problem using Google OR-Tools. Link to the tool:
Algorithm for Cutting Stock Problem using Google OR-Tools. Link to the tool:

Cutting Stock Problem Cutting Stock Problem (CSP) deals with planning the cutting of items (rods / sheets) from given stock items (which are usually o

A Python project for optimizing the 8 Queens Puzzle using the Genetic Algorithm implemented in PyGAD.
A Python project for optimizing the 8 Queens Puzzle using the Genetic Algorithm implemented in PyGAD.

8QueensGenetic A Python project for optimizing the 8 Queens Puzzle using the Genetic Algorithm implemented in PyGAD. The project uses the Kivy cross-p

sudoku solver using CSP forward-tracking algorithms.

Sudoku sudoku solver using CSP forward-tracking algorithms. Description Sudoku is a logic-based game that consists of 9 3x3 grids that create one larg

A Python program to easily solve the n-queens problem using min-conflicts algorithm

QueensProblem A program to easily solve the n-queens problem using min-conflicts algorithm Performances estimated with a sample of 1000 different rand

Data Model built using Logistic Regression Algorithm on Python.

Logistic-Regression Problem Statement: Your client is a retail banking institution. Term deposits are a major source of income for a bank. A term depo

FingerPy is a algorithm to measure, analyse and monitor heart-beat using only a video of the user's finger on a mobile cellphone camera.
FingerPy is a algorithm to measure, analyse and monitor heart-beat using only a video of the user's finger on a mobile cellphone camera.

FingerPy is a algorithm using python, scipy and fft to measure, analyse and monitor heart-beat using only a video of the user's finger on a m

Using Bayesian, KNN, Logistic Regression to classify spam and non-spam.

Make Sure the dataset file "spamData.mat" is in the folder spam\src Environment: Python --version = 3.7 Third Party: numpy, matplotlib, math, scipy

This is an Airport Scheduling Time table implemented using Genetic Algorithm

This is an Airport Scheduling Time table implemented using Genetic Algorithm In this The scheduling is performed on the basisi of that no two Air planes are arriving or departing at the same runway at the same time and day there are total of 4 Airplanes 3 and 3 Runways.

Python algorithm to determine the optimal elevation threshold of a GNSS receiver, by using a statistical test known as the Brown-Forsynthe test.

Levene and Brown-Forsynthe: Test for variances Application to Global Navigation Satellite Systems (GNSS) Python algorithm to determine the optimal ele

Comments
  • Automatic adding of option instruments in the side bar

    Automatic adding of option instruments in the side bar

    Currently, all the options instruments that your strategy function uses, will have to be manually added to the sidebar in the neostox website. This needs to be automated, so that user need not waste time adding them

    opened by abhishekmittal15 0
  • Restarting the program is not possible

    Restarting the program is not possible

    In case the program crashes midst execution, then restarting the program wont work, because the program doesn't have access to the data collected in the previous execution anymore. So data needs to be written to a file, so when the program is restarted, it can be started from any index of user's choice, and all the data before that index must be read from the file.

    opened by abhishekmittal15 0
  • Crashes if the funds are insufficient

    Crashes if the funds are insufficient

    When an order is being placed and the funds are insufficient, then the order window needs to be explicitly closed, which the code doesn't do yet. So the data fetch function doesn't work in the next minute.

    opened by abhishekmittal15 0
  • Unable to change quantity in an order

    Unable to change quantity in an order

    The buy_order and sell_order take quantity as argument, but while placing the order they don't take the value of qty into consideration and by default just place an order of quantity=1

    opened by abhishekmittal15 0
Owner
Abhishek Mittal
3rd year student in IIITH, pursuing Electronics and Communication. Interested in quantum computing,finance and statistics
Abhishek Mittal
Python based framework providing a simple and intuitive framework for algorithmic trading

Harvest is a Python based framework providing a simple and intuitive framework for algorithmic trading. Visit Harvest's website for details, tutorials

null 100 Jan 3, 2023
Gnat - GNAT is NOT Algorithmic Trading

GNAT GNAT is NOT Algorithmic Trading! GNAT is a financial tool with two goals in

Sher Shah 2 Jan 9, 2022
zoofs is a Python library for performing feature selection using an variety of nature inspired wrapper algorithms. The algorithms range from swarm-intelligence to physics based to Evolutionary. It's easy to use ,flexible and powerful tool to reduce your feature size.

zoofs is a Python library for performing feature selection using a variety of nature-inspired wrapper algorithms. The algorithms range from swarm-intelligence to physics-based to Evolutionary. It's easy to use , flexible and powerful tool to reduce your feature size.

Jaswinder Singh 168 Dec 30, 2022
Sorting Algorithm Visualiser using pygame

SortingVisualiser Sorting Algorithm Visualiser using pygame Features Visualisation of some traditional sorting algorithms like quicksort and bubblesor

null 4 Sep 5, 2021
A Python Package for Portfolio Optimization using the Critical Line Algorithm

A Python Package for Portfolio Optimization using the Critical Line Algorithm

null 19 Oct 11, 2022
🧬 Training the car to do self-parking using a genetic algorithm

?? Training the car to do self-parking using a genetic algorithm

Oleksii Trekhleb 652 Jan 3, 2023
A tictactoe where you never win, implemented using minimax algorithm

Unbeatable_TicTacToe A tictactoe where you never win, implemented using minimax algorithm Requirements Make sure you have the pygame module along with

Jessica Jolly 3 Jul 28, 2022
Optimal skincare partition finder using graph theory

Pigment The problem of partitioning up a skincare regime into parts such that each part does not interfere with itself is equivalent to the minimal cl

Jason Nguyen 1 Nov 22, 2021
Exact algorithm for computing two-sided statistical tolerance intervals under a normal distribution assumption using Python.

norm-tol-int Exact algorithm for computing two-sided statistical tolerance intervals under a normal distribution assumption using Python. Methods The

Jed Ludlow 1 Jan 6, 2022
Sign data using symmetric-key algorithm encryption.

Sign data using symmetric-key algorithm encryption. Validate signed data and identify possible validation errors. Uses sha-(1, 224, 256, 385 and 512)/hmac for signature encryption. Custom hash algorithms are allowed. Useful shortcut functions for signing (and validating) dictionaries and URLs.

Artur Barseghyan 39 Jun 10, 2022