NautilusTrader 1.191.0 Beta
NautilusTrader 1.191.0 Beta
Released on 20th April 2024 (UTC).
Enhancements
- Implemented
FeeModel
includingFixedFeeModel
andMakerTakerFeeModel
(#1584), thanks @rsmb7z - Implemented
TradeTickDataWrangler.process_bar_data
(#1585), thanks @rsmb7z - Implemented multiple timeframe bar execution (will use lowest timeframe per instrument)
- Optimized
LiveTimer
efficiency and accuracy withtokio
timer under the hood - Optimized
QuoteTickDataWrangler
andTradeTickDataWrangler
(#1590), thanks @rsmb7z - Standardized adapter client logging (handle more logging from client base classes)
- Simplified and consolidated Rust
OrderBook
design - Improved
CacheDatabaseAdapter
graceful close and thread join - Improved
MessageBus
graceful close and thread join - Improved
modify_order
error logging when order values remain unchanged - Added
RecordFlag
enum for Rust and Python - Interactive Brokers further improvements and fixes, thanks @rsmb7z
- Ported Bias indicator to Rust, thanks @Pushkarm029
Breaking Changes
- Reordered
OrderBookDelta
paramsflags
andsequence
and removed default 0 values (more explicit and less chance of mismatches) - Reordered
OrderBook
paramsflags
andsequence
and removed default 0 values (more explicit and less chance of mismatches) - Added
flags
parameter toOrderBook.add
- Added
flags
parameter toOrderBook.update
- Added
flags
parameter toOrderBook.delete
- Changed Arrow schema for all instruments: added
info
binary field - Changed Arrow schema for
CryptoFuture
: addedis_inverse
boolean field - Renamed both
OrderBookMbo
andOrderBookMbp
toOrderBook
(consolidated) - Renamed
Indicator.handle_book_mbo
andIndicator.handle_book_mbp
tohandle_book
(consolidated) - Renamed
register_serializable_object
toregister_serializable_type
(also renames first param fromobj
tocls
)
Fixes
- Fixed
MessageBus
pattern resolving (fixes a performance regression where topics published with no subscribers would always re-resolve) - Fixed
BacktestNode
streaming data management (was not clearing between chunks), thanks for the report @dpmabo - Fixed
RiskEngine
cumulative notional calculations for margin accounts (was incorrectly using base currency when selling) - Fixed selling
Equity
instruments withCASH
account andNETTING
OMS incorrectly rejecting (should be able to reduce position) - Fixed Databento bars decoding (was incorrectly applying display factor)
- Fixed
Binance
bar (kline) to useclose_time
forts_event
wasopentime
(#1591), thanks for reporting @OnlyC - Fixed
AccountMarginExceeded
error condition (margin must actually be exceeded now, and can be zero) - Fixed
ParquetDataCatalog
path globbing which was including all paths with substrings of specified instrument IDs