NautilusTrader 1.214.0 Beta
Released on 28th March 2025 (UTC).
Enhancements
- Added Coinbase International Exchange initial integration adapter
- Added
time_in_forceparameter forStrategy.close_position(...) - Added
time_in_forceparameter forStrategy.close_all_positions(...) - Added
MarkPriceUpdatedata type - Added
IndexPriceUpdatedata type - Added
Actor.subscribe_mark_prices(...) - Added
Actor.subscribe_index_prices(...) - Added
Actor.unsubscribe_mark_prices(...) - Added
Actor.unsubscribe_index_prices(...) - Added
Actor.on_mark_price(...) - Added
Actor.on_index_price(...) - Added
Cache.mark_price(...) - Added
Cache.index_price(...) - Added
Cache.mark_prices(...) - Added
Cache.index_prices(...) - Added
Cache.mark_price_count(...) - Added
Cache.index_price_count(...) - Added
Cache.has_mark_prices(...) - Added
Cache.has_index_prices(...) - Added
UnixNanos.to_rfc3339()for ISO 8601 (RFC 3339) strings - Added
recv_window_msconfig for Bybit WebSocket order client (#2466), thanks @sunlei - Enhanced
UnixNanosstring parsing to support YYYY-MM-DD date format (interpreted as midnight UTC)
Breaking Changes
- Changed
Cache.add_mark_price(self, InstrumentId instrument_id, Price price)toadd_mark_price(self, MarkPriceUpdate mark_price)
Internal Improvements
- Improved
WebSocketClientandSocketClientdesign with dedicated writer task and message channel - Completed global message bus design in Rust (#2460), thanks @filipmacek
- Refactored enum dispatch (#2461), thanks @filipmacek
- Refactored data interfaces to messages in Rust
- Refined catalog file operations in Rust (#2454), thanks @faysou
- Refined quote ticks and klines for Bybit (#2465), thanks @davidsblom
- Standardized use of
anyhow::bail(#2459), thanks @faysou - Ported
add_venueforBacktestEnginein Rust (#2457), thanks @filipmacek - Ported
add_instrumentforBacktestEnginein Rust (#2469), thanks @filipmacek - Upgraded
rediscrate to v0.29.2
Fixes
- Fixed race condition on multiple reconnect attempts for
WebSocketClientandSocketClient - Fixed position state snapshot
ts_snapshotvalue, which was alwaysts_lastinstead of timestamp when the snapshot was taken - Fixed instrument parsing for Tardis, now correctly applies changes and filters by
effective - Fixed
OrderStatusReportfor conditional orders of dYdX (#2467), thanks @davidsblom - Fixed submitting stop market orders for dYdX (#2471), thanks @davidsblom
- Fixed retrying HTTP calls on
DecodeErrorfor dYdX (#2472), thanks @davidsblom - Fixed
LIMIT_IF_TOUCHEDorder type enum parsing for Bybit - Fixed
MARKETorder type enum parsing for Bybit - Fixed quote ticks for Polymarket to only emit new quote ticks when the top-of-book changes
- Fixed error on cancel order for IB (#2475), thanks @FGU1
Documentation Updates
Deprecations
None