NautilusTrader 1.200.0 Beta
Released on 7th September 2024 (UTC).
Enhancements
- Added dYdX integration (#1861, #1868, #1873, #1874, #1875, #1877, #1879, #1880, #1882, #1886, #1887, #1890, #1891, #1896, #1901, #1903, #1907, #1910, #1911, #1913, #1915), thanks @davidsblom
- Added composite bar types, bars aggregated from other bar types (#1859, #1885, #1888, #1894, #1905), thanks @faysou
- Added
OrderBookDeltas.batchfor batching groups of deltas based on record flags (batch untilF_LAST) - Added
OrderBookDeltasbatching support forParquetDataCatalog(usedata_clsofOrderBookDeltasto batch with the same flags method as live adapters) - Added
RetryManagerPoolto abstract common retry functionality for all adapters - Added
InstrumentClosefunctionality forOrderMatchingEngine, thanks @limx0 - Added
BacktestRunConfig.dispose_on_completionconfig setting to control post-run disposal behavior for each internal backtest engine (Trueby default to retain current behavior) - Added
recv_window_msconfig setting forBinanceExecClientConfig - Added
sl_time_in_forceandtp_time_in_forceparameters toOrderFactory.bracket(...)method - Added custom
client_order_idparameters toOrderFactorymethods - Added support for Binance RSA and Ed25519 API key types (#1908), thanks @NextThread
- Added
multiplierparameter forCryptoPerpetual(default 1) - Implemented
BybitExecutionClientretry logic forsubmit_order,modify_order,cancel_orderandcancel_all_orders - Improved error modeling and handling in Rust (#1866), thanks @twitu
- Improved
HttpClienterror handling and addedHttpClientErrorexception for Python (#1872), thanks @twitu - Improved
WebSocketClienterror handling and addedWebSocketClientErrorexception for Python (#1876), thanks @twitu - Improved
WebSocketClient.send_textefficiency (now accepts UTF-8 encoded bytes, rather than a Python string) - Improved
@customdataclassdecorator withdatefield and refined__repr__(#1900, #1906, #1909), thanks @faysou - Improved standardization of
OrderBookDeltasparsing and records flags for crypto venues - Refactored
RedisMessageBusDatabaseto tokio tasks - Refactored
RedisCacheDatabaseto tokio tasks - Upgraded
tokiocrate to v1.40.0
Breaking Changes
- Renamed
heartbeat_intervaltoheartbeat_interval_secs(more explicitly indicates time units) - Moved
heartbeat_interval_secsconfig setting toMessageBusConfig(the message bus handles external stream processing) - Changed
WebSocketClient.send_text(...)to takedataasbytesrather thanstr - Changed
CryptoPerpetualArrow schema to includemultiplierfield - Changed
CryptoFutureArrow schema to includemultiplierfield
Fixes
- Fixed
OrderBookmemory deallocation in Python finalizer (memory was not being freed on object destruction), thanks for reporting @zeyuhuan - Fixed
Ordertags serialization (was not concatenating to a single string), thanks for reporting @DevRoss - Fixed
types_filterserialization inMessageBusConfigduring kernel setup - Fixed
InstrumentProviderhandling ofload_ids_on_startwhen elements are alreadyInstrumentIds - Fixed
InstrumentProviderConfighashing forfiltersfield