In this project, we provide a framework/pipeline for high-frequency trading using machine learning and deep learning techniques. More advanced feature engineering (with depth, trade, and quote data) and models (such as pre-trained models) can be applied in this framework.
- Extract trading signals from level-II order book data
- Predict order book dynamics using machine learning and deep learning techniques
We use tick-level depth data of the SGX FTSE China A50 Index Futures (a major Asia-Pacific index future traded on the Singapore Exchange).
We use limit order book data to develop trading signals, including Depth Ratio, Rise Ratio, and Order Book Imbalance (OBI).
- Simple average depth ratio and OBI:
- Weighted average depth ratio, OBI, and rise ratio:
-
Basic Models:
- RandomForestClassifier
- ExtraTreesClassifier
- AdaBoostClassifier
- GradientBoostingClassifier
- Support Vector Machines
- Other classifiers: Softmax, KNN, MLP, LSTM, etc.
-
Hyperparameters:
- Training window: 30 min
- Test window: 10 sec
- Prediction label: 15 min forward
- Prediction accuracy:
- Prediction Accuracy Series:
- Cross Validation Mean Accuracy:
- Best Model:
Feature Engineering
Other potentially useful signals:
- Volume imbalance signal
- Trade imbalance signal
- Technical indicators of bid and ask series (RSI, MACD, etc.)
- WAP/WPR, weighted average price, VWAP, TWAP
- ...
Signal generation techniques:
- Consider different weights for different levels of order book data for a particular signal
- Consider moving averages with period n (hyperparameter)
- Consider weighted averages of signals, such as weighted average of trade imbalance and order book imbalance
- Lasso regression, genetic programming
- ...
Models
This project only provides a baseline. More advanced models are welcome:
- CNN
- GRU/LSTM
- XGBoost, AdaBoost, GBDT, LightGBM
- Attention, Auto-encoder
- TabNet
- Pre-trained models
- ...
Performance Metrics
The performance metrics are subject to amendment, including the PnL calculation, commission fee consideration, etc.
👨💻 Author
Anurag Kumar Final-year student at IIIT Bhagalpur, India Passionate about quantitative finance, problem-solving, data structures and algorithms, and software engineering.
If you like this project, consider giving it a ⭐ on GitHub — it really helps!
Also, feel free to follow me on GitHub for more projects and updates: 👉 https://github.com/anuragpy07










