Releases: cuberone/nautilus_trader
Releases · cuberone/nautilus_trader
NautilusTrader 1.188.0 Beta
NautilusTrader 1.188.0 Beta
Released on 25th February 2024 (UTC).
Enhancements
- Added
FuturesSpread
instrument type - Added
OptionsSpread
instrument type - Added
InstrumentClass.FUTURE_SPREAD
- Added
InstrumentClass.OPTION_SPREAD
- Added
managed
parameter tosubscribe_order_book_deltas
, default true to retain current behavior (if false then the data engine will not automatically manage a book) - Added
managed
parameter tosubscribe_order_book_snapshots
, default true to retain current behavior (if false then the data engine will not automatically manage a book) - Added additional validations for
OrderMatchingEngine
(will now reject orders with incorrect price or quantity precisions) - Removed
interval_ms
20 millisecond limitation forsubscribe_order_book_snapshots
(i.e. just needs to be positive), although we recommend you consider subscribing to deltas below 100 milliseconds - Ported
LiveClock
andLiveTimer
implementations to Rust - Implemented
OrderBookDeltas
pickling - Implemented
AverageTrueRange
in Rust, thanks @rsmb7z
Breaking Changes
- Changed
TradeId
value maximum length to 36 characters (will raise aValueError
if value exceeds the maximum)
Fixes
- Fixed
TradeId
memory leak due assigning unique values to theUstr
global string cache (which are never freed for the lifetime of the program) - Fixed
TradeTick
size precision for pyo3 conversion (size precision was incorrectly price precision) - Fixed
RiskEngine
cash value check when selling (would previously divide quantity by price which is too much), thanks for reporting@AnthonyVince - Fixed FOK time in force behavior (allows fills beyond the top level, will cancel if cannot fill full size)
- Fixed IOC time in force behavior (allows fills beyond the top level, will cancel any remaining after all fills are applied)
- Fixed
LiveClock
timer behavior for small intervals causing next time to be less than now (timer then would not run) - Fixed log level filtering for
log_level_file
(bug introduced in v1.187.0), thanks @twitu - Fixed logging
print_config
config option (was not being passed through to the logging system) - Fixed logging timestamps for backtesting (static clock was not being incrementally set to individual
TimeEvent
timestamps) - Fixed account balance updates (fills from zero quantity
NETTING
positions will generate account balance updates) - Fixed
MessageBus
publishable types collection type (needed to betuple
notset
) - Fixed
Controller
registration of components to ensure all active clocks are iterated correctly during backtests - Fixed
Equity
short selling forCASH
accounts (will now reject) - Fixed
ActorFactory.create
JSON encoding (was missing the encoding hook) - Fixed
ImportableConfig.create
JSON encoding (was missing the encoding hook) - Fixed
ImportableStrategyConfig.create
JSON encoding (was missing the encoding hook) - Fixed
ExecAlgorithmFactory.create
JSON encoding (was missing the encoding hook) - Fixed
ControllerConfig
base class and docstring - Fixed Interactive Brokers historical bar data bug, thanks @benjaminsingleton
- Fixed persistence
freeze_dict
function to handlefs_storage_options
, thanks @dimitar-petrov