HFT
High frequency trading (HFT) framework built for futures using machine learning and deep learning techniques.
Install / Use
npx skills add anuragpy07/HFTInstalls into whichever agent you are using.
README
High Frequency Trading Framework with Machine/Deep Learning
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.
Target
- Extract trading signals from level-II order book data
- Predict order book dynamics using machine learning and deep learning techniques
Data
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).
Strategy Pipeline
<img src="./Graph/pipline.png" width="650">Order Book Signals
We use limit order book data to develop trading signals, including Depth Ratio, Rise Ratio, and Order Book Imbalance (OBI).
<img src="./Graph/depth.png" width="650">Price Series
<img src="./images/best_bid_ask.png" width="750">Feature Engineering & HFT Factors Design
- Simple average depth ratio and OBI:
- Weighted average depth ratio, OBI, and rise ratio:
Model Fitting
-
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
Performance Metrics
- Prediction accuracy:
- Prediction Accuracy Series:
- Cross Validation Mean Accuracy:
- Best Model:
PnL Visualization
<img src="./images/best_CV_result_all.png" width="800">Improvements
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.
⭐ Support
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
Related Skills
mcp
Use the `mcp_perplexity-ask_perplexity_search` tools to answer questions. You should use this instead of the `web_search` tool because it is a lot more accurate.
practical-power-systems-synthesis
This skill enables synthesis in the domain of power-systems (engineering). It represents research-level-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform synthesis operations related to power-systems.
semi-supervised-optogenetics-testing
This skill enables testing in the domain of optogenetics (neuroscience). It represents intermediate-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform testing operations related to optogenetics.
data-mining-interpretation-fundamental
This skill enables interpretation in the domain of data-mining (data-science). It represents fundamental-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform interpretation operations related to data-mining.
