Skip to content

Releases: nautechsystems/nautilus_trader

NautilusTrader 1.166.0 Beta

17 Jan 16:51
c58a678
Compare
Choose a tag to compare

NautilusTrader 1.166.0 Beta

Released on 17th January 2023 (UTC).

Breaking Changes

  • Position.unrealized_pnl now None until any realized PnL is generated (to reduce ambiguity)

Enhancements

  • Added instrument status update subscription handlers, thanks @limx0
  • Improvements to InteractiveBrokers DataClient, thanks @rsmb7z
  • Improvements to async task handling for live clients
  • Various improvements to Betfair adapter, thanks @limx0

Fixes

  • Fixed netted Position realized_pnl and realized_return fields, which were incorrectly cumulative
  • Fixed netted Position flip logic (now correctly 'resets' position)
  • Various fixes for Betfair adapter, thanks @limx0
  • InteractiveBrokers integration docs fixes

NautilusTrader 1.165.0 Beta

14 Jan 05:50
d54c97a
Compare
Choose a tag to compare

NautilusTrader 1.165.0 Beta

Released on 14th January 2023 (UTC).

A number of enum variant names have been changed in favour of explicitness,
and also to avoid C naming collisions.

Breaking Changes

  • Renamed AggressorSide.NONE to NO_AGGRESSOR
  • Renamed AggressorSide.BUY to BUYER
  • Renamed AggressorSide.SELL to SELLER
  • Renamed AssetClass.CRYPTO to CRYPTOCURRENCY
  • Renamed LiquiditySide.NONE to NO_LIQUIDITY_SIDE
  • Renamed OMSType to OmsType
  • Renamed OmsType.NONE to UNSPECIFIED
  • Renamed OrderSide.NONE to NO_ORDER_SIDE
  • Renamed PositionSide.NONE to NO_POSITION_SIDE
  • Renamed TrailingOffsetType.NONE to NO_TRAILING_OFFSET
  • Removed TrailingOffsetType.DEFAULT
  • Renamed TriggerType.NONE to NO_TRIGGER
  • Renamed TriggerType.LAST to LAST_TRADE
  • Renamed TriggerType.MARK to MARK_PRICE
  • Renamed TriggerType.INDEX to INDEX_PRICE
  • Renamed ComponentState.INITIALIZED to READY
  • Renamed OrderFactory.bracket(post_only) to post_only_entry
  • Moved manage_gtd_expiry to Strategy.submit_order(...) and Strategy.submit_order_list(...)

Enhancements

  • Added BarSpecification.timedelta property, thanks @rsmb7z
  • Added DataEngineConfig.build_time_bars_with_no_updates option
  • Added OrderFactory.bracket(post_only_tp) param
  • Added OrderListIdGenerator and integrate with OrderFactory
  • Added Cache.add_order_list(...)
  • Added Cache.order_list(...)
  • Added Cache.order_lists(...)
  • Added Cache.order_list_exists(...)
  • Added Cache.order_list_ids(...)
  • Improved generation of OrderListId from factory to ensure uniqueness
  • Added auction matches for backtests, thanks @limx0
  • Added .timedelta property to BarSpecification, thanks @rsmb7z
  • Numerous improvements to the Betfair adapter, thanks @limx0
  • Improvements to Interactive Brokers data subscriptions, thanks @rsmb7z
  • Added DataEngineConfig.validate_data_sequence (False by default and currently only for Bar data), thanks @rsmb7z

Fixes

  • Added TRD_GRP_* enum variants for Binance spot permissions
  • Fixed PARTIALLY_FILLED -> EXPIRED order state transition, thanks @bb01100100

NautilusTrader 1.164.0 Beta

23 Dec 23:25
46611e7
Compare
Choose a tag to compare

NautilusTrader 1.164.0 Beta

Released on 23rd December 2022 (UTC).

Breaking Changes

None

Enhancements

  • Added managed GTD order expiry (experimental feature, config may change)
  • Added Rust ParquetReader and ParquetWriter (for QuoteTick and TradeTick only)

Fixes

  • Fixed MARKET_IF_TOUCHED orders for OrderFactory.bracket(..)
  • Fixed OrderEmulator trigger event handling for live trading
  • Fixed OrderEmulator transformation to market orders which had a GTD time in force
  • Fixed serialization of OrderUpdated events
  • Fixed typing and edge cases for new msgspec, thanks @limx0
  • Fixed data wrangler processing with missing data, thanks @rsmb7z

NautilusTrader 1.163.0 Beta

17 Dec 11:47
7ef9941
Compare
Choose a tag to compare

NautilusTrader 1.163.0 Beta

Released on 17th December 2022 (UTC).

Breaking Changes

None

Enhancements

None

Fixes

  • Fixed MARKET_IF_TOUCHED and LIMIT_IF_TOUCHED trigger and modify behavior
  • Fixed MatchingEngine updates of stop order types
  • Fixed combinations of passive or immediate trigger vs passive or immediate fill behavior
  • Fixed memory leaks from passing string pointers from Rust, thanks @twitu

NautilusTrader 1.162.0 Beta

11 Dec 22:19
981d8e2
Compare
Choose a tag to compare

NautilusTrader 1.162.0 Beta

Released on 12th December 2022 (UTC).

Breaking Changes

  • OrderFactory bracket order methods consolidated to .bracket(...)

Enhancements

  • Extended OrderFactory to provide more bracket order types
  • Simplified GitHub CI and removed nox dependency

Fixes

  • Fixed OrderBook sorting for bid side, thanks @gaugau3000
  • Fixed MARKET_TO_LIMIT order initial fill behaviour
  • Fixed BollingerBands indicator mid-band calculations, thanks zhp (Discord)

NautilusTrader 1.161.0 Beta

09 Dec 12:52
ad0f3f0
Compare
Choose a tag to compare

NautilusTrader 1.161.0 Beta

Released on 10th December 2022 (UTC).

This release adds support for Python 3.11.

Breaking Changes

  • Renamed OrderFactory.bracket_market to OrderFactory.bracket_market_entry
  • Renamed OrderFactory.bracket_limit to OrderFactory.bracket_limit_entry
  • Renamed OrderFactory bracket order price and trigger_price parameters

Enhancements

  • Consolidated config objects to msgspec providing better performance and correctness
  • Added OrderFactory.bracket_stop_limit_entry_stop_limit_tp(...)
  • Numerous improvements to the Interactive Brokers adapter, thanks @limx0 and @rsmb7z
  • Removed dependency on pydantic

Fixes

  • Fixed STOP_MARKET order behavior to fill at market on immediate trigger
  • Fixed STOP_LIMIT order behavior to fill at market on immediate trigger and marketable
  • Fixed STOP_LIMIT order behavior to fill at market on processed trigger and marketable
  • Fixed LIMIT_IF_TOUCHED order behavior to fill at market on immediate trigger and marketable
  • Fixed Binance start and stop time units for bar (kline) requests, thanks @Tzumx
  • RiskEngineConfig.bypass set to True will now correctly bypass throttlers, thanks @DownBadCapital
  • Fixed updating of emulated orders
  • Numerous fixes to the Interactive Brokers adapter, thanks @limx0 and @rsmb7z

NautilusTrader 1.160.0 Beta

28 Nov 11:24
9a90b77
Compare
Choose a tag to compare

NautilusTrader 1.160.0 Beta

Released on 28th November 2022 (UTC).

Breaking Changes

  • Removed time portion from generated IDs (affects ClientOrderId and PositionOrderId)
  • Renamed orderbook.data.Order to orderbook.data.BookOrder (reduce conflicts/confusion)
  • Renamed Instrument.get_cost_currency(...) to Instrument.get_settlement_currency(...) (more accurate terminology)

Enhancements

  • Added emulated contingency orders capability to OrderEmulator
  • Moved test_kit module to main package to support downstream project/package testing

Fixes

  • Fixed position event sequencing: now generates PositionOpened when reopening a closed position
  • Fixed LIMIT order fill characteristics when immediately marketable as a taker
  • Fixed LIMIT order fill characteristics when passively filled as a maker as quotes move through
  • Fixed canceling OTO contingent orders when still in-flight
  • Fixed RiskEngine notional check when selling cash assets (spot currency pairs)
  • Fixed flush on closed file bug for persistence stream writers

NautilusTrader 1.159.0 Beta

19 Nov 00:59
4f3bde0
Compare
Choose a tag to compare

NautilusTrader 1.159.0 Beta

Released on 18th November 2022 (UTC).

Breaking Changes

  • Removed FTX integration
  • Renamed SubmitOrderList.list -> SubmitOrderList.order_list
  • Slight adjustment to bar aggregation (will not use the last close as the open)

Enhancements

  • Implemented TRAILING_STOP_MARKET orders for Binance Futures (beta)
  • Added OUO One-Updates-Other ContingencyType with matching engine implementation
  • Added bar price fallback for exchange rate calculations, thanks @ghill2

Fixes

  • Fixed deallocation of Rust backing struct on Python exceptions causing segfaults
  • Fixed bar aggregation start times for bar specs outside typical intervals (60-SECOND rather than 1-MINUTE etc)
  • Fixed backtest engine main loop ordering of time events with identically timestamped data
  • Fixed ModifyOrder message str and repr when no quantity
  • Fixed OCO contingency orders which were actually implemented as OUO for backtests
  • Fixed various bugs for Interactive Brokers integration, thanks @limx0 and @rsmb7z
  • Fixed pyarrow version parsing, thanks @ghill2
  • Fixed returning venue from InstrumentId, thanks @rsmb7z

NautilusTrader 1.158.0 Beta

03 Nov 11:58
bfa725c
Compare
Choose a tag to compare

NautilusTrader 1.158.0 Beta

Released on 3rd November 2022 (UTC).

Breaking Changes

  • Added LiveExecEngineConfig.reconciliation boolean flag to control if reconciliation is active
  • Removed LiveExecEngineConfig.reconciliation_auto (unclear naming and concept)
  • All Redis keys have changed to a lowercase convention (please either migrate or flush your Redis)
  • Removed BidAskMinMax indicator (to reduce total package size)
  • Removed HilbertPeriod indicator (to reduce total package size)
  • Removed HilbertSignalNoiseRatio indicator (to reduce total package size)
  • Removed HilbertTransform indicator (to reduce total package size)

Enhancements

  • Improved accuracy of clocks for backtests (all clocks will now match generated TimeEvents)
  • Improved risk engine checks for reduce_only orders
  • Added Actor.request_instruments(...) method
  • Added Order.would_reduce_only(...) method
  • Extended instrument(s) Req/Res handling for DataClient and `Actor

Fixes

  • Fixed memory management for Rust backing structs (now being properly freed)

NautilusTrader 1.157.0 Beta

23 Oct 23:37
57f60c1
Compare
Choose a tag to compare

NautilusTrader 1.157.0 Beta

Released on 24th October 2022 (UTC).

Breaking Changes

  • None

Enhancements

  • Added experimental local order emulation for all order types (except MARKET and MARKET_TO_LIMIT) see docs
  • Added min_latency, max_latency and avg_latency to HttpClient base class

Fixes

  • Fixed Binance Spot display_qty for iceberg orders, thanks @jackma
  • Fixed Binance HTTP client error logging