v1.177.0

nautechsystems/nautilus_traderv1.177.0Aug 25, 2023by github-actions[bot]

AI Summary

New additions include ActorExecutor, OrderEmulated/Released events, and WebSocket text sending capabilities, accompanied by a major renaming of QuoteTick properties.

Key Highlights

  • Added ActorExecutor with Actor API for threaded tasks
  • Added OrderEmulated event and OrderStatus.EMULATED
  • Added BacktestVenueConfig.use_position_ids option
  • Added Cache methods for exec_spawn tracking

Breaking Changes

  • Renamed QuoteTick.bid to bid_price
  • Renamed QuoteTick.ask to ask_price

New Features

  • ActorExecutor
  • OrderEmulated and Released events
  • WebSocket text sending

Full Release Notes

# NautilusTrader 1.177.0 Beta

Released on 26th August 2023 (UTC).

This release includes a large breaking change to `QuoteTick` bid and ask price property and 
parameter naming. This was done in the interest of maintaining our generally explicit naming 
standards, and has caused confusion for some users in the past. Data using 'bid' and 'ask' columns should
still work with the legacy data wranglers, as columns are renamed under the hood to accommodate
this change.

### Enhancements
- Added `ActorExecutor` with `Actor` API for creating and running threaded tasks in live environments
- Added `OrderEmulated` event and associated `OrderStatus.EMULATED` enum variant
- Added `OrderReleased` event and associated `OrderStatus.RELEASED` enum variant
- Added `BacktestVenueConfig.use_position_ids` option (default true to retain current behavior)
- Added `Cache.exec_spawn_total_quantity(...)` convenience method
- Added `Cache.exec_spawn_total_filled_qty(...)` convenience method
- Added `Cache.exec_spawn_total_leaves_qty(...)` convenience method
- Added `WebSocketClient.send_text`, thanks @twitu
- Implemented string interning for `TimeEvent`

### Breaking Changes
- Renamed `QuoteTick.bid` to `bid_price` including all associated parameters (for explicit naming standards)
- Renamed `QuoteTick.ask` to `ask_price` including all associated parameters (for explicit naming standards)

### Fixes
- Fixed execution algorithm `position_id` assignment in `HEDGING` mode
- Fixed `OrderMatchingEngine` processing of emulated orders
- Fixed `OrderEmulator` processing of exec algorithm orders
- Fixed `ExecutionEngine` processing of exec algorithm orders (exec spawn IDs)
- Fixed `Cache` emulated order indexing (were not being properly discarded from the set when closed)
- Fixed `RedisCacheDatabase` loading of transformed `LIMIT` orders
- Fixed a connection issue with the IB client, thanks @dkharrat and @rsmb7z