|
| 1 | +# NautilusTrader 1.180.0 Beta |
| 2 | + |
| 3 | +Released on 3rd November 2023 (UTC). |
| 4 | + |
| 5 | +### Enhancements |
| 6 | +- Improved internal latency for live engines by using `loop.call_soon_threadsafe(...)` |
| 7 | +- Improved `RedisCacheDatabase` client connection error handling with retries |
| 8 | +- Added `WebSocketClient` connection headers, thanks @ruthvik125 and @twitu |
| 9 | +- Added `support_contingent_orders` option for venues (to simulate venues which do not support contingent orders) |
| 10 | +- Added `StrategyConfig.manage_contingent_orders` option (to automatically manage **open** contingenct orders) |
| 11 | +- Added `FuturesContract.activation_utc` property which returns a `pd.Timestamp` tz-aware (UTC) |
| 12 | +- Added `OptionsContract.activation_utc` property which returns a `pd.Timestamp` tz-aware (UTC) |
| 13 | +- Added `CryptoFuture.activation_utc` property which returns a `pd.Timestamp` tz-aware (UTC) |
| 14 | +- Added `FuturesContract.expiration_utc` property which returns a `pd.Timestamp` tz-aware (UTC) |
| 15 | +- Added `OptionsContract.expiration_utc` property which returns a `pd.Timestamp` tz-aware (UTC) |
| 16 | +- Added `CryptoFuture.expiration_utc` property which returns a `pd.Timestamp` tz-aware (UTC) |
| 17 | + |
| 18 | +### Breaking Changes |
| 19 | +- Renamed `FuturesContract.expiry_date` to `expiration_ns` (and associated params) as `uint64_t` UNIX nanoseconds |
| 20 | +- Renamed `OptionsContract.expiry_date` to `expiration_ns` (and associated params) as `uint64_t` UNIX nanoseconds |
| 21 | +- Renamed `CryptoFuture.expiry_date` to `expiration_ns` (and associated params) as `uint64_t` UNIX nanoseconds |
| 22 | +- Changed `FuturesContract` arrow schema |
| 23 | +- Changed `OptionsContract` arrow schema |
| 24 | +- Changed `CryptoFuture` arrow schema |
| 25 | +- Transformed orders will now retain the original `ts_init` timestamp |
| 26 | +- Removed unimplemented `batch_more` option for `Strategy.modify_order` |
| 27 | +- Removed `InstrumentProvider.venue` property (redundant as a provider may have many venues) |
| 28 | +- Dropped support for Python 3.9 |
| 29 | + |
| 30 | +### Fixes |
| 31 | +- Fixed `ParquetDataCatalog` file writing template, thanks @limx0 |
| 32 | +- Fixed `Binance` all orders requests which would omit order reports when using a `start` param |
| 33 | +- Fixed managed GTD orders past expiry cancellation on restart (orders were not being canceled) |
| 34 | +- Fixed managed GTD orders cancel timer on order cancel (timers were not being canceled) |
| 35 | +- Fixed `BacktestEngine` logging error with immediate stop (caused by certain timestamps being `None`) |
| 36 | +- Fixed `BacktestNode` exceptions during backtest runs preventing next sequential run, thanks for reporting @cavan-black |
| 37 | +- Fixed `BinanceSpotPersmission` value error by relaxing typing for `BinanceSpotSymbolInfo.permissions` |
| 38 | +- Interactive Brokers adapter various fixes, thanks @rsmb7z |
| 39 | + |
| 40 | +--- |
| 41 | + |
1 | 42 | # NautilusTrader 1.179.0 Beta
|
2 | 43 |
|
3 | 44 | Released on 22nd October 2023 (UTC).
|
@@ -153,7 +194,7 @@ Released on 31st July 2023 (UTC).
|
153 | 194 | - Fixed dictionary representation of orders for `venue_order_id` (for three order types)
|
154 | 195 | - Fixed `Currency` registration with core global map on creation
|
155 | 196 | - Fixed serialization of `OrderInitialized.exec_algorithm_params` to spec (bytes rather than string)
|
156 |
| -- Fixed assignment of position IDs for contingency orders (when parent filled) |
| 197 | +- Fixed assignment of position IDs for contingent orders (when parent filled) |
157 | 198 | - Fixed `PENDING_CANCEL` -> `EXPIRED` as valid state transition (real world possibility)
|
158 | 199 | - Fixed fill handling of `reduce_only` orders when partially filled
|
159 | 200 | - Fixed Binance reconciliation which was requesting reports for the same symbol multiple times
|
@@ -231,8 +272,8 @@ Released on 19th May 2023 (UTC).
|
231 | 272 | - Fixed handling of emulated order contingencies (not based on status of spawned algorithm orders)
|
232 | 273 | - Fixed sending execution algorithm commands from strategy
|
233 | 274 | - Fixed `OrderEmulator` releasing of already closed orders
|
234 |
| -- Fixed `MatchingEngine` processing of reduce only for child contingency orders |
235 |
| -- Fixed `MatchingEngine` position ID assignment for child contingency orders |
| 275 | +- Fixed `MatchingEngine` processing of reduce only for child contingent orders |
| 276 | +- Fixed `MatchingEngine` position ID assignment for child contingent orders |
236 | 277 | - Fixed `Actor` handling of historical data from requests (will now call `on_historical_data` regardless of state), thanks for reporting @miller-moore
|
237 | 278 | - Fixed pyarrow schema dictionary index keys being too narrow (int8 -> int16), thanks for reporting @rterbush
|
238 | 279 |
|
@@ -279,15 +320,15 @@ Released on 30th April 2023 (UTC).
|
279 | 320 | - Added `TWAPExecAlgorithm` and `TWAPExecAlgorithmConfig` to examples
|
280 | 321 | - Build out `ExecAlgorithm` base class for implementing 'first class' execution algorithms
|
281 | 322 | - Rewired execution for improved flow flexibility between emulated orders, execution algorithms and the `RiskEngine`
|
282 |
| -- Improved handling for `OrderEmulator` updating of contingency orders from execution algorithms |
| 323 | +- Improved handling for `OrderEmulator` updating of contingent orders from execution algorithms |
283 | 324 | - Defined public API for instruments, can now import directly from `nautilus_trader.model.instruments` (denest namespace)
|
284 | 325 | - Defined public API for orders, can now import directly from `nautilus_trader.model.orders` (denest namespace)
|
285 | 326 | - Defined public API for order book, can now import directly from `nautilus_trader.model.orderbook` (denest namespace)
|
286 | 327 | - Now stripping debug symbols after build (reduced binary sizes)
|
287 | 328 | - Refined build and added additional `debug` Makefile convenience targets
|
288 | 329 |
|
289 | 330 | ### Fixes
|
290 |
| -- Fixed processing of contingency orders when in a pending update state |
| 331 | +- Fixed processing of contingent orders when in a pending update state |
291 | 332 | - Fixed calculation of PnL for flipped positions (only book realized PnL against open position)
|
292 | 333 | - Fixed `WebSocketClient` session disconnect, thanks for reporting @miller-moore
|
293 | 334 | - Added missing `BinanceSymbolFilterType.NOTIONAL`
|
@@ -596,7 +637,7 @@ Released on 28th November 2022 (UTC).
|
596 | 637 | - Renamed `Instrument.get_cost_currency(...)` to `Instrument.get_settlement_currency(...)` (more accurate terminology)
|
597 | 638 |
|
598 | 639 | ### Enhancements
|
599 |
| -- Added emulated contingency orders capability to `OrderEmulator` |
| 640 | +- Added emulated contingent orders capability to `OrderEmulator` |
600 | 641 | - Moved `test_kit` module to main package to support downstream project/package testing
|
601 | 642 |
|
602 | 643 | ### Fixes
|
@@ -628,7 +669,7 @@ Released on 18th November 2022 (UTC).
|
628 | 669 | - Fixed bar aggregation start times for bar specs outside typical intervals (60-SECOND rather than 1-MINUTE etc)
|
629 | 670 | - Fixed backtest engine main loop ordering of time events with identically timestamped data
|
630 | 671 | - Fixed `ModifyOrder` message `str` and `repr` when no quantity
|
631 |
| -- Fixed OCO contingency orders which were actually implemented as OUO for backtests |
| 672 | +- Fixed OCO contingent orders which were actually implemented as OUO for backtests |
632 | 673 | - Fixed various bugs for Interactive Brokers integration, thanks @limx0 and @rsmb7z
|
633 | 674 | - Fixed pyarrow version parsing, thanks @ghill2
|
634 | 675 | - Fixed returning venue from InstrumentId, thanks @rsmb7z
|
@@ -1444,7 +1485,7 @@ Released on 12th September 2021.
|
1444 | 1485 | - Added order custom user tags
|
1445 | 1486 | - Added `Actor.register_warning_event` (also applicable to `TradingStrategy`)
|
1446 | 1487 | - Added `Actor.deregister_warning_event` (also applicable to `TradingStrategy`)
|
1447 |
| -- Added `ContingencyType` enum (for contingency orders in an `OrderList`) |
| 1488 | +- Added `ContingencyType` enum (for contingent orders in an `OrderList`) |
1448 | 1489 | - All order types can now be `reduce_only` (#437)
|
1449 | 1490 | - Refined backtest configuration options
|
1450 | 1491 | - Improved efficiency of `UUID4` using the Rust `fastuuid` Python bindings
|
|
0 commit comments