14 releases (4 breaking)
new 0.5.0 | Nov 24, 2024 |
---|---|
0.4.0 | Sep 3, 2024 |
0.3.2 | Aug 10, 2024 |
0.2.2 | Jul 16, 2024 |
0.1.3 | May 30, 2024 |
#6 in #hft
4MB
11K
SLoC
HftBacktest
This project is currently in its initial development stages, meaning that breaking changes may occur without prior notice. The live bot feature has not undergone comprehensive testing yet; therefore, it must be used at your own risk.
High-Frequency Trading Backtesting and Live Bot in Rust
This Rust framework is designed for developing and running high-frequency trading and market-making strategies. It focuses on accounting for both feed and order latencies, as well as the order queue position for order fill simulation. The framework aims to provide more accurate market replay-based backtesting, based on full order book and trade tick feed data. You can also run the live bot using the same algo code.
Key Features
- Complete tick-by-tick simulation with a customizable time interval or based on the feed and order receipt.
- Full order book reconstruction based on L2 Market-By-Price and L3 Market-By-Order feeds.
- Backtest accounting for both feed and order latency, using provided models or your own custom model.
- Order fill simulation that takes into account the order queue position, using provided models or your own custom model.
- Backtesting of multi-asset and multi-exchange models
- Deployment of a live trading bot using the same algorithm code: currently for Binance Futures and Bybit.
Getting started
Installation
Installation from cargo repository
cargo add hftbacktest
Installation of the up-to-date development version from the sources
hftbacktest = { git = "https://github.com/nkaz001/hftbacktest.git" }
Data Format
The Rust implementation uses a different data format compared to the Python implementation. Please see the Rust version part of Data Preparation tutorial.
Examples
high-frequency gridtrading: The complete process of backtesting Binance Futures using a high-frequency grid trading strategy implemented in Rust.
Please see examples.
Documentation
For general information, please see document here.
For the Rust implementation, please see document here.
Roadmap
Please see the roadmap.
Contributing
Thank you for considering contributing to hftbacktest! Welcome any and all help to improve the project. If you have an idea for an enhancement or a bug fix, please open an issue or discussion on GitHub to discuss it.
The following items are examples of contributions you can make to this project:
Please see the roadmap.
Dependencies
~1–15MB
~134K SLoC