1
+ # NautilusTrader 1.181.0 Beta
2
+
3
+ Released on 2nd December (UTC).
4
+
5
+ This release adds support for Python 3.12.
6
+
7
+ ### Enhancements
8
+ - Rewrote Interactive Brokers integration documentation, many thanks @benjaminsingleton
9
+ - Added Interactive Brokers adapter support for crypto instruments with cash quantity, thanks @benjaminsingleton
10
+ - Added ` HistoricInteractiveBrokerClient ` , thanks @benjaminsingleton and @limx0
11
+ - Added ` DataEngineConfig.time_bars_interval_type ` (determines the type of interval used for time aggregation ` left-open ` or ` right-open ` )
12
+ - Added ` LoggingConfig.log_colors ` to optionally use ANSI codes to produce colored logs (default true to retain current behavior)
13
+ - Added ` QuoteTickDataWrangler.process_bar_data ` options for ` offset_interval_ms ` and ` timestamp_is_close `
14
+ - Added identifier generators in Rust, thanks @filipmacek
15
+ - Added ` OrderFactory ` in Rust, thanks @filipmacek
16
+ - Added ` WilderMovingAverage ` in Rust, thanks @ayush-sb
17
+ - Added ` HullMovingAverage ` in Rust, thanks @ayush-sb
18
+ - Added all common identifier generators in Rust, thanks @filipmacek
19
+ - Added generic SQL database support with ` sqlx ` in Rust, thanks @filipmacek
20
+
21
+ ### Breaking Changes
22
+ - Consolidated all ` data ` submodules into one ` data ` module (reduce binary wheel size)
23
+ - Moved ` OrderBook ` from ` model.orderbook.book ` to ` model.book ` (subpackage only had this single module)
24
+ - Moved ` Currency ` from ` model.currency ` to ` model.objects ` (consolidating modules to reduce binary wheel size)
25
+ - Moved ` MessageBus ` from ` common.msgbus ` to ` common.component ` (consolidating modules to reduce binary wheel size)
26
+ - Moved ` MsgSpecSerializer ` from ` serialization.msgpack.serializer ` to ` serialization.serializer `
27
+ - Moved ` CacheConfig ` ` snapshot_orders ` , ` snapshot_positions ` , ` snapshot_positions_interval ` to ` NautilusKernelConfig ` (logical applicability)
28
+ - Renamed ` MsgPackSerializer ` to ` MsgSpecSeralizer ` (now handles both JSON and MsgPack formats)
29
+
30
+ ### Fixes
31
+ - Fixed missing ` trader_id ` in ` Position ` dictionary representation, thanks @filipmacek
32
+ - Fixed conversion of fixed precision integers to floats (should be dividing to avoid rounding errors), thanks for reporting @filipmacek
33
+ - Fixed daily timestamp parsing for Interactive Brokers, thanks @benjaminsingleton
34
+ - Fixed live reconciliation trade processing for partially filled then canceled orders
35
+ - Fixed ` RiskEngine ` cumulative notional risk check for ` CurrencyPair ` SELL orders on multi-currency cash accounts
36
+
37
+ ---
38
+
1
39
# NautilusTrader 1.180.0 Beta
2
40
3
41
Released on 3rd November 2023 (UTC).
@@ -7,7 +45,7 @@ Released on 3rd November 2023 (UTC).
7
45
- Improved ` RedisCacheDatabase ` client connection error handling with retries
8
46
- Added ` WebSocketClient ` connection headers, thanks @ruthvik125 and @twitu
9
47
- 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)
48
+ - Added ` StrategyConfig.manage_contingent_orders ` option (to automatically manage ** open** contingent orders)
11
49
- Added ` FuturesContract.activation_utc ` property which returns a ` pd.Timestamp ` tz-aware (UTC)
12
50
- Added ` OptionsContract.activation_utc ` property which returns a ` pd.Timestamp ` tz-aware (UTC)
13
51
- Added ` CryptoFuture.activation_utc ` property which returns a ` pd.Timestamp ` tz-aware (UTC)
@@ -19,9 +57,9 @@ Released on 3rd November 2023 (UTC).
19
57
- Renamed ` FuturesContract.expiry_date ` to ` expiration_ns ` (and associated params) as ` uint64_t ` UNIX nanoseconds
20
58
- Renamed ` OptionsContract.expiry_date ` to ` expiration_ns ` (and associated params) as ` uint64_t ` UNIX nanoseconds
21
59
- 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
60
+ - Changed ` FuturesContract ` Arrow schema
61
+ - Changed ` OptionsContract ` Arrow schema
62
+ - Changed ` CryptoFuture ` Arrow schema
25
63
- Transformed orders will now retain the original ` ts_init ` timestamp
26
64
- Removed unimplemented ` batch_more ` option for ` Strategy.modify_order `
27
65
- Removed ` InstrumentProvider.venue ` property (redundant as a provider may have many venues)
@@ -275,7 +313,7 @@ Released on 19th May 2023 (UTC).
275
313
- Fixed ` MatchingEngine ` processing of reduce only for child contingent orders
276
314
- Fixed ` MatchingEngine ` position ID assignment for child contingent orders
277
315
- Fixed ` Actor ` handling of historical data from requests (will now call ` on_historical_data ` regardless of state), thanks for reporting @miller-moore
278
- - Fixed pyarrow schema dictionary index keys being too narrow (int8 -> int16), thanks for reporting @rterbush
316
+ - Fixed ` pyarrow ` schema dictionary index keys being too narrow (int8 -> int16), thanks for reporting @rterbush
279
317
280
318
---
281
319
0 commit comments