v1.209.0

nautechsystems/nautilus_traderv1.209.0Dec 25, 2024by github-actions[bot]

AI Summary

This release adds WebSocket API trading support for Bybit and introduces `BybitOrderBookDeltaDataLoader` for backtesting. It also improves Databento symbology support and adds trade execution processing via the matching engine.

Key Highlights

  • Added WebSocket API trading support for Bybit
  • Added `BybitOrderBookDeltaDataLoader` with tutorial
  • Added margin and commission documentation
  • Added trade execution support via matching engine

Breaking Changes

  • Moved `BinanceOrderBookDeltaDataLoader` from `nautilus_trader.persistence.loaders` to `nautilus_trader.adapters.binance.loaders`

New Features

  • Added WebSocket API trading support for Bybit
  • Added `BybitOrderBookDeltaDataLoader`
  • Added optional `depth` param for `OrderBook` methods
  • Added trade execution support processed by matching engine
  • Refactored to use `exchange` MIC code as `venue` for Databento GLBX dataset

Full Release Notes

# NautilusTrader 1.209.0 Beta

Released on 25th December 2024 (UTC).

### Enhancements
- Added WebSocket API trading support for Bybit (#2129), thanks @sunlei
- Added `BybitOrderBookDeltaDataLoader` with tutorial for Bybit backtesting (#2131), thanks @DeevsDeevs
- Added margin and commission docs (#2128), thanks @stefansimik
- Added optional `depth` param for some `OrderBook` methods
- Added trade execution support where trades are processed by the matching engine (can be useful backtesting with throttled book and trades data)
- Refactored to use `exchange` MIC code as `venue` for instrument IDs with Databento GLBX dataset (#2108, #2121, #2124, #2126), thanks @faysou
- Refactored to use `self.config` attributes consistently (#2120), thanks @stefansimik

### Internal Improvements
- Optimized `UUID4::new()` avoiding unnecessary string allocation, achieving a ~2.8x performance improvement (added benches)
- Upgraded v4-proto for dYdX (#2136), thanks @davidsblom
- Upgraded `databento` crate to v0.17.0

### Breaking Changes
- Moved `BinanceOrderBookDeltaDataLoader` from `nautilus_trader.persistence.loaders` to `nautilus_trader.adapters.binance.loaders`

### Fixes
- Fixed multi-threaded monotonicity for `AtomicTime` in real-time mode
- Fixed timeout error code for Bybit (#2130), thanks @sunlei
- Fixed instruments info retrieval for Bybit (#2134), thanks @sunlei
- Fixed `request_aggregated_bars` metadata handling (#2137), thanks @faysou
- Fixed demo notebook `backtest_high_level.ipynb` (#2142), thanks @stefansimik