v1.169.0
nautechsystems/nautilus_traderv1.169.0Feb 18, 2023by github-actions[bot]
AI Summary
This release features a complete overhaul of the Binance adapter and introduces an optimized logger using Rust MPSC channels.
Key Highlights
- Complete overhaul and improvements to Binance adapter.
- Added Binance aggregated trades functionality with `use_agg_trade_ticks`.
- Implemented optimized logger using Rust MPSC channel and separate thread.
- Exposed `MatchingEngine` public API for custom functionality.
Breaking Changes
- `NautilusConfig` objects are now pseudo-immutable (msgspec 0.13.0).
- Renamed `OrderFactory.bracket` param `post_only_entry` -> `entry_post_only`.
- Renamed `OrderFactory.bracket` param `post_only_tp` -> `tp_post_only`.
- Renamed `build_time_bars_with_no_updates` -> `time_bars_build_with_no_updates`.
- Renamed `OrderFactory.set_order_count()` -> `set_client_order_id_count()`.
- Renamed `TradingNode.start()` to `TradingNode.run()`.
New Features
- Added `OrderFactory.generate_client_order_id()`.
- Added `OrderFactory.generate_order_list_id()`.
- Added `OrderFactory.create_list(...)`.
- Added `__len__` implementation for `OrderList`.
- Exposed `TradingNode.run_async()` and `stop_async()`.
Full Release Notes
# NautilusTrader 1.169.0 Beta Released on 18th February 2023 (UTC). ### Breaking Changes - `NautilusConfig` objects now _pseudo-immutable_ from new msgspec 0.13.0 - Renamed `OrderFactory.bracket` param `post_only_entry` -> `entry_post_only` (consistency with other params) - Renamed `OrderFactory.bracket` param `post_only_tp` -> `tp_post_only` (consistency with other params) - Renamed `build_time_bars_with_no_updates` -> `time_bars_build_with_no_updates` (consistency with new param) - Renamed `OrderFactory.set_order_count()` -> `set_client_order_id_count()` (clarity) - Renamed `TradingNode.start()` to `TradingNode.run()` ### Enhancements - Complete overhaul and improvements to Binance adapter(s), thanks @poshcoe - Added Binance aggregated trades functionality with `use_agg_trade_ticks`, thanks @poshcoe - Added `time_bars_timestamp_on_close` option for configurable bar timestamping (True by default) - Added `OrderFactory.generate_client_order_id()` (calls internal generator) - Added `OrderFactory.generate_order_list_id()` (calls internal generator) - Added `OrderFactory.create_list(...)` as easier method for creating order lists - Added `__len__` implementation for `OrderList` (returns length of orders) - Implemented optimized logger using Rust MPSC channel and separate thread - Expose and improve `MatchingEngine` public API for custom functionality - Exposed `TradingNode.run_async()` for easier running from async context - Exposed `TradingNode.stop_async()` for easier stopping from async context ### Fixes - Fixed registration of `SimulationModule` (and refine `Actor` base registration) - Fixed loading of previously emulated and transformed orders (handles transforming `OrderInitialized` event) - Fixed handling of `MARKET_TO_LIMIT` orders in matching and risk engines, thanks for reporting @martinsaip