nautechsystems / nautilus_trader

A high-performance algorithmic trading platform and event-driven backtester
https://nautilustrader.io
GNU Lesser General Public License v3.0
1.7k stars 398 forks source link

Fix OrderMatchingEngine processing by book type for quotes and deltas #1754

Closed davidsblom closed 2 days ago

davidsblom commented 2 days ago

…der books

Pull Request

When the strategy subscribes to both quote deltas and order book deltas, the matching engine applies both quotes as well as deltas to the order book which is incorrect. In case of the Bybit venue, quote ticks are pushed at a higher frequency than deltas. Hence, some strategies would like to get the latest top of the book quotes, and also build indicators on top of the full order book.

The matching engine should use a L1_MBP order book when subscribing to both quotes and deltas, because the quotes are sent earlier introducing a lookahead bias.

Type of change

Delete options that are not relevant.

How has this change been tested?

Locally running backtests

cjdsellers commented 2 days ago

Agreed, this change is good when running a backtest with both quotes and deltas. We only want to apply the deltas conditionally for L2 and L3 books.