NautilusTrader 1.196.0 Beta
Released on 5th July 2024 (UTC).
Enhancements
- Added
request_order_book_snapshotmethod (#1745), thanks @graceyangfan - Added order book data validation for
BacktestNodewhen a venuebook_typeisL2_MBPorL3_MBO - Added Bybit demo account support (set
is_demoto True in configs) - Added Bybit stop order types (
STOP_MARKET,STOP_LIMIT,MARKET_IF_TOUCHED,LIMIT_IF_TOUCHED,TRAILING_STOP_MARKET) - Added Binance venue option for adapter configurations (#1738), thanks @DevRoss
- Added Betfair amend order quantity support (#1687 and #1751), thanks @imemo88 and @limx0
- Added Postgres tests serial test group for nextest runner (#1753), thanks @filipmacek
- Added Postgres account persistence capability (#1768), thanks @filipmacek
- Refactored
AccountAnypattern in Rust (#1755), thanks @filipmacek - Changed
DatabentoLiveClientto use new snapshot on subscribe feature - Changed identifier generator time tag component to include seconds (affects new
ClientOrderId,OrderIdandPositionIdgeneration) - Changed
<Arc<Mutex<bool>>toAtomicBoolin Rustnetworkcrate, thanks @NextThread and @twitu - Ported
KlingerVolumeOscillatorindicator to Rust (#1724), thanks @pushkarm029 - Ported
DirectionalMovementindicator to Rust (#1725), thanks @pushkarm029 - Ported
ArcherMovingAveragesTrendsindicator to Rust (#1726), thanks @pushkarm029 - Ported
Swingsindicator to Rust (#1731), thanks @pushkarm029 - Ported
BollingerBandsindicator to Rust (#1734), thanks @pushkarm029 - Ported
VolatilityRatioindicator to Rust (#1735), thanks @pushkarm029 - Ported
Stochasticsindicator to Rust (#1736), thanks @pushkarm029 - Ported
Pressureindicator to Rust (#1739), thanks @pushkarm029 - Ported
PsychologicalLineindicator to Rust (#1740), thanks @pushkarm029 - Ported
CommodityChannelIndexindicator to Rust (#1742), thanks @pushkarm029 - Ported
LinearRegressionindicator to Rust (#1743), thanks @pushkarm029 - Ported
DonchianChannelindicator to Rust (#1744), thanks @pushkarm029 - Ported
KeltnerChannelindicator to Rust (#1746), thanks @pushkarm029 - Ported
RelativeVolatilityIndexindicator to Rust (#1748), thanks @pushkarm029 - Ported
RateOfChangeindicator to Rust (#1750), thanks @pushkarm029 - Ported
MovingAverageConvergenceDivergenceindicator to Rust (#1752), thanks @pushkarm029 - Ported
OnBalanceVolumeindicator to Rust (#1756), thanks @pushkarm029 - Ported
SpreadAnalyzerindicator to Rust (#1762), thanks @pushkarm029 - Ported
KeltnerPositionindicator to Rust (#1763), thanks @pushkarm029 - Ported
FuzzyCandlesticksindicator to Rust (#1766), thanks @pushkarm029
Breaking Changes
- Renamed
Actor.subscribe_order_book_snapshotsandunsubscribe_order_book_snapshotstosubscribe_order_book_at_intervalandunsubscribe_order_book_at_intervalrespectively (this clarifies the method behavior where the handler then receivesOrderBookat a regular interval, distinct from a collection of deltas representing a snapshot)
Fixes
- Fixed
LIMITorder fill behavior forL2_MBPandL3_MBObook types (was not honoring limit price as maker), thanks for reporting @dpmabo - Fixed
CashAccountPnL calculations when opening a position with multiple fills, thanks @Otlk - Fixed msgspec encoding and decoding of
Environmentenum forNautilusKernelConfig - Fixed
OrderMatchingEngineprocessing by book type for quotes and deltas (#1754), thanks @davidsblom - Fixed
DatabentoDataLoader.from_dbn_fileforOrderBookDeltas whenas_legacy_cython=False - Fixed
DatabentoDataLoaderOHLCV bar schema loading (incorrectly accounting for display factor0), thanks for reporting @faysou - Fixed
DatabentoDataLoadermultiplier and round lot size decoding, thanks for reporting @faysou - Fixed Binance order report generation
active_symbolstype miss matching (#1729), thanks @DevRoss - Fixed Binance trade data websocket schemas (Binance no longer publish
bbuyer andaseller order IDs) - Fixed
BinanceFuturesInstrumentProviderparsing of min notional, thanks for the report @AnthonyVince - Fixed
BinanceSpotInstrumentProviderparsing of min and max notional - Fixed Bybit order book deltas subscriptions for
INVERSEproduct type - Fixed
Cachedocumentation forget(was the same asadd), thanks for reporting @faysou