v1.139.0

nautechsystems/nautilus_traderv1.139.0Mar 11, 2022by github-actions[bot]

AI Summary

Beta release introducing new order types, adapters for Binance Futures and Interactive Brokers, and replacing msgpack with msgspec.

Key Highlights

  • Added initial Binance Futures and Interactive Brokers adapters
  • Added new order types (MARKET_TO_LIMIT, MARKET_IF_TOUCHED)
  • Replaced msgpack with msgspec

Breaking Changes

  • Renamed CurrencySpot to CurrencyPair
  • Renamed PerformanceAnalyzer to PortfolioAnalyzer
  • Renamed BinanceTicker to BinanceSpotTicker

New Features

  • Binance Futures adapter implementation
  • Interactive Brokers adapter implementation
  • New order types (MARKET_TO_LIMIT, MARKET_IF_TOUCHED, etc.)
  • Custom portfolio statistics
  • CryptoFuture instrument
  • msgspec library integration

Full Release Notes

# 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.