A high-frequency trading and market-making backtesting tool in Python and Rust, which accounts for limit orders, queue positions, and latencies, utilizing full tick data for trades and order books.
Fixed Fixed data conversion errors in the Rust experimental implementation. Changed ceil to floor to adopt a more conservative approach for calculating executed quantity in the PartialFillExchange model.
Added Implemented timestamp unit conversion in data utilities. Enabled support for regular stream conversion for Binance Futures feed data. (Previously, only combined stream was supported.)
Fixed Fixed cancellable condition (PARTIALLY_FILLED).
Added Simplified data validation logic in data utils. Added a new format conversion to support Rust implementation.
Fixed
Fixed a issue where Tardis data converter cannot handle unordered local_timestamp
.
Fixed a potential problem where IntpOrderLatency
returns an incorrect value.
Added
Added an option to retrieve equity without DateTime conversion.
Updated difforderbooksnapshot
to provide detailed update flags.
Fixed Fixed a problem where a snapshot exists only for one side. #56
Fixed Removed the redundant loop used to find the frontmost timestamp.
Added
Added PowerProbQueueModel
, ProbQueueModel2
, LogProbQueueModel2
, ProbQueueModel3
and PowerProbQueueModel3
to support different probability profiles.
#42 Added a utility to convert continuous order book snapshot data into market-by-price data that can be processed by hftbacktest.
Fixed
#44 Fix bugs regarding PartialFillExchange
.
#48 Fix order sequence error due to delays.
Fixed
Fix an issue where a proper start timestamp cannot be found.
Fix the mingled timestamp issue of Binance Historical Market Data converter.
Fix the issue where the response latency is not correctly calculated due to an incorrect if statement in IntpOrderLatency
.
Added An optional header argument has been added to Binance Historical Market Data converter in order to determine whether the first row is a header or not.
Unresolved Tardis data processing problem that causes hang in backtesting is fixed. It needs regenerating normalized data to resolve the problem.
Tardis data processing problem that causes hang in backtesting is fixed. It needs regenerating normalized data to resolve the problem. Order rejection feature by exchange errors(e.g 5xx error in crypto exchanges) is added.
add args for snapshot buffer.
lot_size
property is added to HftBacktest
.