Skip to content

Releases: nautechsystems/nautilus_trader

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

NautilusTrader 1.156.0 Beta

19 Oct 12:27
0d3b8e4
Compare
Choose a tag to compare

NautilusTrader 1.156.0 Beta

Released on 19th October 2022 (UTC).

This will be the final release with support for Python 3.8.

Breaking Changes

  • Added OrderSide.NONE enum variant
  • Added PositionSide.NONE enum variant
  • Changed order of TriggerType enum variants
  • Renamed AggressorSide.UNKNOWN -> AggressorSide.NONE (for consistency with other enums)
  • Renamed Order.type to Order.order_type (reduces ambiguity and aligns with Rust struct field)
  • Renamed OrderInitialized.type to OrderInitialized.order_type reduces ambiguity)
  • Renamed Bar.type to Bar.bar_type (reduces ambiguity and aligns with Rust struct field)
  • Removed redundant check_position_exists flag
  • Removed hyperopt as considered unmaintained and there are better options
  • Existing pickled data for QuoteTick is now invalid (change to schema for correctness)
  • Existing catalog data for OrderInitialized is now invalid (change to schema for emulation)

Enhancements

  • Added configurable automated in-flight order status checks
  • Added order side filter to numerous cache order methods
  • Added position side filter to numerous cache position methods
  • Added optional order_side to cancel_all_orders strategy method
  • Added optional position_side to close_all_positions strategy method
  • Added support for Binance Spot second bars
  • Added RelativeVolatilityIndex indicator, thanks @graceyangfan
  • Extracted OrderMatchingEngine from SimulatedExchange with refinements
  • Extracted MatchingCore from OrderMatchingEngine
  • Improved HTTP error handling and client logging (messages now contain reason)

Fixes

  • Fixed price and size precision validation for QuoteTick from raw values
  • Fixed IB adapter data parsing for decimal precision
  • Fixed HTTP error handling and releasing of response coroutines, thanks @jackma
  • Fixed Position calculations and account for when any base currency == commission currency, thanks @jackma

NautilusTrader 1.155.0 Beta

15 Sep 12:15
b71fee0
Compare
Choose a tag to compare

NautilusTrader 1.155.0 Beta

Released on September 15th 2022 (UTC).

This is an early release to address some parsing bugs in the FTX adapter.

Breaking Changes

None

Enhancements

None

Fixes

  • Fixed parsing bug for FTX futures
  • Fixed parsing bug for FTX Bar

NautilusTrader 1.154.0 Beta

14 Sep 10:33
ff0244a
Compare
Choose a tag to compare

NautilusTrader 1.154.0 Beta

Released on September 14th 2022 (UTC).

Breaking Changes

  • Changed ExecEngineConfig allow_cash_positions default to True (more typical use case)
  • Removed check param from Bar (always checked for simplicity)

Enhancements

  • Added MARKET_TO_LIMIT order implementation for SimulatedExchange
  • Make strategy order_id_tag truly optional and auto incrementing
  • Added PsychologicalLine indicator, thanks @graceyangfan
  • Added initial Rust parquet integration, thanks @twitu and @ghill2
  • Added validation for setting leverages on CASH accounts
  • De-cythonized live data and execution client base classes for usability

Fixes

  • Fixed limit order IOC and FOK behaviour, thanks @limx0 for identifying
  • Fixed FTX CryptoFuture instrument parsing, thanks @limx0
  • Fixed missing imports in data catalog example notebook, thanks @gaugau3000
  • Fixed order update behaviour, affected orders:
    • LIMIT_IF_TOUCHED
    • MARKET_IF_TOUCHED
    • MARKET_TO_LIMIT
    • STOP_LIMIT

NautilusTrader 1.153.0 Beta

05 Sep 23:45
7539f5d
Compare
Choose a tag to compare

NautilusTrader 1.153.0 Beta

Released on September 6th 2022 (UTC).

Breaking Changes

None

Enhancements

  • Added trigger orders for FTX adapter
  • Improved BinanceBar to handle enormous quote volumes
  • Improved robustness of instrument parsing for Binance and FTX adapters
  • Improved robustness of WebSocket message handling for Binance and FTX adapters
  • Added override_usd option for FTX adapter
  • Added log_warnings config option for Binance and FTX instrument providers
  • Added TRD_GRP_005 enum variant for Binance spot permissions

Fixes

  • Fixed bar aggregator partial bar handling
  • Fixed CurrencyType variants in Rust
  • Fixed missing encoding in Catalog parsing method, thanks @limx0 and @aviatorBeijing

NautilusTrader 1.152.0 Beta

01 Sep 07:08
198b397
Compare
Choose a tag to compare

NautilusTrader 1.152.0 Beta

Released on September 1st 2022 (UTC).

Breaking Changes

  • Renamed offset_type to trailing_offset_type
  • Renamed is_frozen_account -> frozen_account
  • Removed bar_execution from config API (implicitly turned on with bars currently)

Enhancements

  • Added TRAILING_STOP_MARKET order implementation for SimulatedExchange
  • Added TRAILING_STOP_LIMIT order implementation for SimulatedExchange
  • Added all simulated exchange options to BacktestVenueConfig

Fixes

  • Fixed creation and caching of order book on subscribing to deltas, thanks @limx0
  • Fixed use of LoopTimer in live clock for trading node, thanks @sidnvy
  • Fixed order cancels for IB adapter, thanks @limx0

NautilusTrader 1.151.0 Beta

22 Aug 02:46
9a6f74d
Compare
Choose a tag to compare

NautilusTrader 1.151.0 Beta

Released on August 22nd 2022 (UTC).

Breaking Changes

None

Enhancements

  • Added on_historical_data method with wiring for functionality
  • Added 'unthrottled' 0ms order book updates for Binance Futures
  • Improved robustness of WebSocketClient base during reconnects

Fixes

  • Fixed sdist includes for Rust Cargo files (fixes pip installs)
  • Fixed LatencyModel integer overflows, thanks @limx0
  • Fixed parsing of Binance Futures FUNDING_FEE updates
  • Fixed asyncio.tasks.gather for Python 3.10+