NautilusTrader 1.192.0 Beta
Released on 18th May 2024 (UTC).
Enhancements
- Added Nautilus CLI (see docs) (#1602), many thanks @filipmacek
- Added
CfdandCommodityinstruments with Interactive Brokers support (#1604), thanks @DracheShiki - Added
OrderMatchingEnginefutures and options contract activation and expiration simulation - Added Sandbox example with Interactive Brokers (#1618), thanks @rsmb7z
- Added
ParquetDataCatalogS3 support (#1620), thanks @benjaminsingleton - Added
Bar.from_raw_arrays_to_list(#1623), thanks @rsmb7z - Added
SandboxExecutionClientConfig.bar_executionoption (#1646), thanks @davidsblom - Improved venue order ID generation and assignment (it was previously possible for the
OrderMatchingEngineto generate multiple IDs for the same order) - Improved
LiveTimerrobustness and flexibility by not requiring positive intervals or stop times in the future (will immediately produce a time event), thanks for reporting @davidsblom
Breaking Changes
- Removed
allow_cash_positionsconfig (simplify to the most common use case, spot trading should track positions) - Changed
tagsparam and return type fromstrtolist[str](more naturally expresses multiple tags) - Changed
Order.to_dict()commissionandlinked_order_idfields to lists of strings rather than comma separated strings - Changed
OrderMatchingEngineto no longer process internally aggregated bars for execution (no tests failed, but still classifying as a behavior change), thanks for reporting @davidsblom
Fixes
- Fixed
CashAccountPnL and balance calculations (was adjusting filled quantity based on open position quantity - causing a desync and incorrect balance values) - Fixed
from_strforPrice,QuantityandMoneywhen input string contains underscores in Rust, thanks for reporting @filipmacek - Fixed
Moneystring parsing where the value fromstr(money)can now be passed toMoney.from_str - Fixed
TimeEventequality (now based on the eventidrather than the eventname) - Fixed
ParquetDataCatalogbar queries byinstrument_idwhich were no longer returning data (the intent is to usebar_type, however usinginstrument_idnow returns all matching bars) - Fixed venue order ID generation and application in sandbox mode (was previously generating additional venue order IDs), thanks for reporting @rsmb7z and @davidsblom
- Fixed multiple fills causing overfills in sandbox mode (
OrderMatchingEnginenow caching filled quantity to prevent this) (#1642), thanks @davidsblom - Fixed
leaves_qtyexception message underflow (now correctly displays the projected negative leaves quantity) - Fixed Interactive Brokers contract details parsing (#1615), thanks @rsmb7z
- Fixed Interactive Brokers portfolio registration (#1616), thanks @rsmb7z
- Fixed Interactive Brokers
IBOrderattributes assignment (#1634), thanks @rsmb7z - Fixed IBKR reconnection after gateway/TWS disconnection (#1622), thanks @benjaminsingleton
- Fixed Binance Futures account balance calculation (was over stating
freebalance with margin collateral, which could result in a negativelockedbalance) - Fixed Betfair stream reconnection and avoid multiple reconnect attempts (#1644), thanks @imemo88