Skip to content

Releases: nautechsystems/nautilus_trader

NautilusTrader 1.141.0 Beta

04 Apr 13:27
82b8dfc
Compare
Choose a tag to compare

NautilusTrader 1.141.0 Beta

Released on 4th April 2022 (UTC).

Breaking Changes

  • Renamed BacktestNode.run_sync() to BacktestNode.run()
  • Renamed flatten_position() to close_position()
  • Renamed flatten_all_positions() to close_all_positions()
  • Renamed Order.flatten_side() to Order.closing_side()
  • Renamed TradingNodeConfig check_residuals_delay to timeout_post_stop
  • The SimulatedExchange will now 'receive' market data prior to the DataEngine
    (note that this did not affect any test)
  • Tightened requirement for DataType types to be subclasses of Data
  • CacheDatabaseConfig.type now defaults to in-memory
  • NAUTILUS_CATALOG env var changed to NAUTILUS_PATH
  • DataCatalog root path now located under $OLD_PATH/catalog/ from the Nautilus path
  • hiredis and redis are now optional extras as 'redis'
  • hyperopt is now an optional extra as 'hyperopt'

Enhancements

  • Unify NautilusKernel across backtest and live systems
  • Improved configuration by grouping into config subpackage
  • Improved configuration objects and flows
  • Numerous improvements to the Binance Spot/Margin and Futures integration
  • Added Docker image builds and GH packages
  • Added BinanceFuturesMarkPriceUpdate type and data stream
  • Added generic subscribe and unsubscribe to template
  • Added Binance Futures COIN_M testnet
  • The clarity of various error messages was improved

Fixes

  • Fixed multiple instruments in DataCatalog (#554), (#560) by @limx0
  • Fixed timestamp ordering streaming from DataCatalog (#561) by @limx0
  • Fixed CSVReader (#563) by @limx0
  • Fixed slow subscribers to the Binance WebSocket streams
  • Fixed configuration of base_currency for backtests
  • Fixed importable strategy configs (previously not returning correct class)
  • Fixed fully_qualified_name() format

NautilusTrader 1.140.0 Beta

14 Mar 00:05
Compare
Choose a tag to compare

NautilusTrader 1.140.0 Beta

Release Notes

Released on 13th March 2022 (UTC).

This is a patch release which fixes a moderate severity security vulnerability in
pillow < 9.0.1:

If the path to the temporary directory on Linux or macOS contained a space, 
this would break removal of the temporary image file after im.show() (and related actions), 
and potentially remove an unrelated file. This been present since PIL.

This release upgrades to pillow 9.0.1.

Note the minor version was incremented in error.

NautilusTrader 1.139.0 Beta

11 Mar 22:20
16bacd0
Compare
Choose a tag to compare

NautilusTrader 1.139.0 Beta

Release Notes

Released on 11th March 2022 (UTC).

Breaking Changes

  • Renamed CurrencySpot to CurrencyPair.
  • Renamed PerformanceAnalyzer to PortfolioAnalyzer.
  • Renamed BacktestDataConfig.data_cls_path to data_cls.
  • Renamed BinanceTicker to BinanceSpotTicker.
  • Renamed BinanceSpotExecutionClient to BinanceExecutionClient.

Enhancements

  • Added initial (beta) Binance Futures adapter implementation.
  • Added initial (beta) Interactive Brokers adapter implementation.
  • Added custom portfolio statistics.
  • Added CryptoFuture instrument.
  • Added OrderType.MARKET_TO_LIMIT.
  • Added OrderType.MARKET_IF_TOUCHED.
  • Added OrderType.LIMIT_IF_TOUCHED.
  • Added MarketToLimitOrder order type.
  • Added MarketIfTouchedOrder order type.
  • Added LimitIfTouchedOrder order type.
  • Added Order.has_price property (convenience).
  • Added Order.has_trigger_price property (convenience).
  • Added msg param to LoggerAdapter.exception().
  • Added WebSocket log_send and log_recv config options.
  • Added WebSocket auto_ping_interval (seconds) config option.
  • Replaced msgpack with msgspec (faster drop in replacement https://github.com/jcrist/msgspec).
  • Improved exception messages by providing helpful context.
  • Improved BacktestDataConfig API: now takes either a type of Data or a fully qualified path string.

Fixes

  • Fixed FTX execution WebSocket 'ping strategy'.
  • Fixed non-deterministic config dask tokenization.

NautilusTrader 1.138.0 Beta

13 Feb 21:57
ca11c2a
Compare
Choose a tag to compare

NautilusTrader 1.138.0 Beta

Release Notes

Released on 15th February 2022 (UTC).

This release contains numerous method, parameter and property name changes

For consistency and standardization with other protocols, the ExecutionId type
has been renamed to TradeId as they express the same concept with a more
standardized terminology. In the interests of enforcing correctness and
safety this type is now utilized for the TradeTick.trade_id.

Breaking Changes

  • Renamed working orders to open orders including all associated methods and params.
  • Renamed completed orders to closed orders including all associated methods and params.
  • Removed active order concept (often confused with open).
  • Renamed trigger to trigger_price.
  • Renamed StopMarketOrder.price to StopMarketOrder.trigger_price.
  • Renamed all params related to a StopMarketOrders price to trigger_price.
  • Renamed ExecutionId to TradeId.
  • Renamed execution_id to trade_id.
  • Renamed Order.trade_id to Order.last_trade_id (for clarity).
  • Renamed other variations and references of 'execution ID' to 'trade ID'.
  • Renamed contingency to contingency_type.

Enhancements

  • Introduced the TradeId type to enforce trade_id typing.
  • Improve handling of unleveraged cash asset positions including Crypto and Fiat spot currency instruments.
  • Added ExecEngineConfig option allow_cash_positions (False by default).
  • Added TrailingOffsetType enum.
  • Added TrailingStopMarketOrder.
  • Added TrailingStopLimitOrder.
  • Added trailing order factory methods.
  • Added trigger_type param to stop orders.
  • Added TriggerType enum.
  • Large refactoring of order base and impl classes.
  • Overhaul of execution reports.
  • Overhaul of execution state reconciliation.

Fixes

  • Fixed WebSocket base reconnect handling.

NautilusTrader 1.137.1 Beta

15 Jan 12:13
6c86b9a
Compare
Choose a tag to compare

NautilusTrader 1.137.1 Beta

Release Notes

Released on 15th January 2022 (UTC).

This is a patch release which fixes moderate to high severity security vulnerabilities in
pillow < 9.0.0:

  • PIL.ImageMath.eval allows evaluation of arbitrary expressions, such as ones that use the Python exec method.
  • path_getbbox in path.c has a buffer over-read during initialization of ImagePath.Path.
  • path_getbbox in path.c improperly initializes ImagePath.Path.

This release upgrades to pillow 9.0.0.

NautilusTrader 1.137.0 Beta

12 Jan 23:13
70e87ee
Compare
Choose a tag to compare

NautilusTrader 1.137.0 Beta

Release Notes

Released on 12th January 2022.

Breaking Changes

  • Removed redundant currency param from AccountBalance.
  • Renamed local_symbol to native_symbol.
  • Removed the VenueType enum and venue_type param in favour of a routing bool flag.
  • Removed account_id param from execution client factories and constructors.
  • Changed venue generated IDs (order, execution, position) which now begin with the venue ID.

Enhancements

  • Added FTX integration for testing.
  • Added FTX US configuration option.
  • Added Binance US configuration option.
  • Added MarginBalance object to assist with margin account functionality.

Fixes

  • Fixed parsing of BarType with symbols including hyphens -.
  • Fixed BinanceTicker __repr__ (was missing whitespace after a comma).
  • Fixed DataEngine requests for historical TradeTick.
  • Fixed DataEngine _handle_data_response typing of data to object.

NautilusTrader 1.136.0 Beta

29 Dec 12:22
56be4f9
Compare
Choose a tag to compare

NautilusTrader 1.136.0 Beta

Release Notes

Released 29th December 2021.

Breaking Changes

  • Changed subscribe_data(...) method (client_id now optional).
  • Changed unsubscribe_data(...) method (client_id now optional).
  • Changed publish_data(...) method (added data_type).
  • Renamed MessageBus.subscriptions method param to pattern.
  • Renamed MessageBus.has_subscribers method param to pattern.`
  • Removed subscribe_strategy_data(...) method.
  • Removed unsubscribe_strategy_data(...) method.
  • Removed publish_strategy_data(...) method.
  • Renamed CryptoSwap to CryptoPerpetual.

Enhancements

  • Can now modify or cancel in-flight orders live and backtest.
  • Updated CancelOrder to allow None venue_order_id.
  • Updated ModifyOrder to allow None venue_order_id.
  • Updated OrderPendingUpdate to allow None venue_order_id.
  • Updated OrderPendingCancel to allow None venue_order_id.
  • Updated OrderCancelRejected to allow None venue_order_id.
  • Updated OrderModifyRejected to allow None venue_order_id.
  • Added DataType.topic string for improved message bus handling.

Fixes

  • Implemented comparisons for DataType, BarSpecification and BarType.
  • Fixed QuoteTickDataWrangler.process_bar_data with random_seed.

NautilusTrader 1.135.0 Beta

13 Dec 10:36
35baeda
Compare
Choose a tag to compare

NautilusTrader 1.135.0 Beta

Release Notes

Released 13th December 2021.

Breaking Changes

  • Renamed match_id to trade_id.

Enhancements

  • Added bars method to DataCatalog.
  • Improved parsing of Binance historical bars data.
  • Added CancelAllOrders command.
  • Added bulk cancel capability to Binance integration.
  • Added bulk cancel capability to Betfair integration.

Fixes

  • Fixed handling of cpu_freq call in logging for ARM architecture.
  • Fixed market order fill edge case for bar data
  • Fixed handling of GenericData in backtests.

NautilusTrader 1.134.0 Beta

22 Nov 00:48
2d602dd
Compare
Choose a tag to compare

NautilusTrader 1.134.0 Beta - Release Notes

Released on 22nd, November 2021

Breaking Changes

  • Changed hidden order option to display_qty to support iceberg orders.
  • Renamed Trader.component_ids() to Trader.actor_ids().
  • Renamed Trader.component_states() to Trader.actor_states().
  • Renamed Trader.add_component() to Trader.add_actor().
  • Renamed Trader.add_components() to Trader.add_actors().
  • Renamed Trader.clear_components() to Trader.clear_actors().

Enhancements

  • Added initial implementation of Binance SPOT integration (beta stage testing).
  • Added support for display quantity/iceberg orders.

Fixes

  • Fixed Actor clock time advancement in backtest engine.

NautilusTrader 1.133.0 Beta

08 Nov 11:50
f9e8bd8
Compare
Choose a tag to compare

NautilusTrader 1.133.0 Beta - Release Notes

Released on 8th, November 2021

Breaking Changes

None

Enhancements

  • Added LatencyModel for simulated exchange.
  • Added last_update_id to order books.
  • Added update_id to order book data.
  • Added depth param when subscribing to order book deltas.
  • Added Clock.timestamp_ms().
  • Added TestDataProvider and consolidate test data.
  • Added orjson default serializer for arrow.
  • Reorganized example strategies and launch scripts.

Fixes

  • Fixed logic for partial fills in backtests.
  • Various Betfair integration fixes.
  • Various BacktestNode fixes.