Skip to content

High frequency trading (HFT) framework built for futures using machine learning and deep learning techniques.

Notifications You must be signed in to change notification settings

anuragpy07/ML-HFT

Repository files navigation

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

Order Book Signals

We use limit order book data to develop trading signals, including Depth Ratio, Rise Ratio, and Order Book Imbalance (OBI).

Price Series

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

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

About

High frequency trading (HFT) framework built for futures using machine learning and deep learning techniques.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published