v1.156.0
nautechsystems/nautilus_traderv1.156.0Oct 19, 2022by github-actions[bot]
AI Summary
This is the final release supporting Python 3.8, featuring significant refactoring for consistency with Rust structs, removal of the hyperopt module, and the extraction of core matching components.
Key Highlights
- Final release with Python 3.8 support
- Extraction of `OrderMatchingEngine` and `MatchingCore` from `SimulatedExchange`
- Added `RelativeVolatilityIndex` indicator
- Improved HTTP error handling and client logging
Breaking Changes
- Added `OrderSide.NONE` enum variant
- Added `PositionSide.NONE` enum variant
- Renamed `AggressorSide.UNKNOWN` -> `AggressorSide.NONE`
- Renamed `Order.type` to `Order.order_type`
- Renamed `OrderInitialized.type` to `OrderInitialized.order_type`
- Renamed `Bar.type` to `Bar.bar_type`
- Removed redundant `check_position_exists` flag
- Removed `hyperopt` module
- Existing pickled data for `QuoteTick` is invalid
- Existing catalog data for `OrderInitialized` is invalid
New Features
- Configurable automated in-flight order status checks
- Added support for Binance Spot second bars
- Added `side` filter to numerous cache order methods
- Added `side` filter to numerous cache position methods
Full Release Notes
# 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