v1.205.0
nautechsystems/nautilus_traderv1.205.0Nov 3, 2024by github-actions[bot]
AI Summary
Major updates include Tardis Machine and HTTP API integration, new bar aggregation capabilities, and a significant upgrade to the PyO3 ecosystem.
Key Highlights
- Full integration of Tardis Machine and HTTP API.
- Added monthly and weekly bar aggregation capabilities.
- Rust port of the analysis subpackage.
Breaking Changes
- Removed pyo3 DataTransformer (refactored to separate functions).
- Moved TEST_DATA_DIR constant from tests to nautilus_trader package.
New Features
- LiveExecEngineConfig.open_check_interval_secs option
- OrderBook.get_avg_px_qty_for_exposure in Rust
- raise_exception optional parameter for TradingNode.run
- OrderCancelRejected event generation for dYdX
Full Release Notes
# NautilusTrader 1.205.0 Beta Released on 3rd November 2024 (UTC). ### Enhancements - Added Tardis Machine and HTTP API integration in Python and Rust - Added `LiveExecEngineConfig.open_check_interval_secs` config option to actively reconcile open orders with the venue - Added aggregation of bars from historical data (#2002), thanks @faysou - Added monthly and weekly bar aggregations (#2025), thanks @faysou - Added `raise_exception` optional parameter to `TradingNode.run` (#2021), thanks @faysou - Added `OrderBook.get_avg_px_qty_for_exposure` in Rust (#1893), thanks @elementace - Added timeouts to Interactive Brokers adapter configurations (#2026), thanks @rsmb7z - Added optional time origins for time bar aggregation (#2028), thanks @faysou - Added Polymarket position status reports and order status report generation based on fill reports - Added USDC.e (PoS) currency (used by Polymarket) to internal currency map - Upgraded Polymarket WebSocket API to new version ### Internal Improvements - Ported analysis subpackage to Rust (#2016), thanks @Pushkarm029 - Improved Postgres testing (#2018), thanks @filipmacek - Improved Redis version parsing to support truncated versions (improves compatibility with Redis-compliant databases) - Refined Arrow serialization (record batch functions now also available in Rust) - Refined core `Bar` API to remove unnecessary unwraps - Standardized network client logging - Fixed all pyo3 deprecations for API breaking changes - Fixed all clippy warning lints for PyO3 changes (#2030), thanks @Pushkarm029 - PyO3 upgrade refactor and repair catalog tests (#2032), thanks @twitu - Upgraded `pyo3` crate to v0.22.5 - Upgraded `pyo3-async-runtimes` crate to v0.22.0 - Upgraded `tokio` crate to v1.41.0 ### Breaking Changes - Removed pyo3 `DataTransformer` (was being used for namespacing, so refactored to separate functions) - Moved `TEST_DATA_DIR` constant from `tests` to `nautilus_trader` package (#2020), thanks @faysou ### Fixes - Fixed use of Redis `KEYS` command which, is unsupported in cluster environments (replaced with `SCAN` for compatibility) - Fixed decoding fill HTTP messages for dYdX (#2022), thanks @davidsblom - Fixed account balance report for dYdX (#2024), thanks @davidsblom - Fixed Interactive Brokers market data client subscription log message (#2012), thanks @marcodambros - Fixed Polymarket execution reconciliation (was not able to reconcile from closed orders) - Fixed catalog query mem leak test (#2031), thanks @Pushkarm029 - Fixed `OrderInitialized.to_dict()` `tags` value type to `list[str]` (was a concatenated `str`) - Fixed `OrderInitialized.to_dict()` `linked_order_ids` value type to `list[str]` (was a concatenated `str`) - Fixed Betfair clients shutdown (#2037), thanks @limx0