Nautilus-trader

Latest version: v1.194.0

Safety actively analyzes 636318 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 16

9.0.1

If the path to the temporary directory on Linux or macOS contained a space,
this would break removal of the temporary image file after im.show() (and related actions),
and potentially remove an unrelated file. This been present since PIL.

This release upgrades to pillow 9.0.1.

Note the minor version was incremented in error.

---

9.0.0

- PIL.ImageMath.eval allows evaluation of arbitrary expressions, such as ones that use the Python exec method
- path_getbbox in path.c has a buffer over-read during initialization of ImagePath.Path
- path_getbbox in path.c improperly initializes ImagePath.Path

This release upgrades to `pillow 9.0.0`.

---

1.194.0

Released on 31st May 2024 (UTC).

Enhancements
- Added `DataEngine` order book deltas buffering to `F_LAST` flag (1673), thanks davidsblom
- Added `DataEngineConfig.buffer_deltas` config option for the above (1670), thanks davidsblom
- Improved Bybit order book deltas parsing to set `F_LAST` flag (1670), thanks davidsblom
- Improved Bybit handling for top-of-book quotes and order book deltas (1672), thanks davidsblom
- Improved Interactive Brokers integration test mocks (1669), thanks rsmb7z
- Improved error message when no tick scheme initialized for an instrument, thanks for reporting VeraLyu
- Improved `SandboxExecutionClient` instrument handling (instruments just need to be added to cache)
- Ported `VolumeWeightedAveragePrice` indicator to Rust (1665), thanks Pushkarm029
- Ported `VerticalHorizontalFilter` indicator to Rust (1666), thanks Pushkarm029

Breaking Changes
None

Fixes
- Fixed `SimulatedExchange` processing of commands in real-time for sandbox mode
- Fixed `DataEngine` unsubscribe handling (edge case would attempt to unsubscribe from the client multiple times)
- Fixed Bybit order book deltas parsing (was appending bid side twice) (1668), thanks davidsblom
- Fixed Binance instruments price and size precision parsing (was incorrectly stripping trailing zeros)
- Fixed `BinanceBar` streaming feather writing (was not setting up writer)
- Fixed backtest high-level tutorial documentation errors, thanks for reporting Leonz5288

---

1.193.0

Released on 24th May 2024 (UTC).

Enhancements
- Added Interactive Brokers support for Market-on-Close (MOC) and Limit-on-Close (LOC) order types (1663), thanks rsmb7z
- Added Bybit sandbox example (1659), thanks davidsblom
- Added Binance sandbox example

Breaking Changes
- Overhauled `SandboxExecutionClientConfig` to more closely match `BacktestVenueConfig` (many changes and additions)

Fixes
- Fixed DataFusion backend data ordering by `ts_init` when streaming (1656), thanks twitu
- Fixed Interactive Brokers tick level historical data downloading (1653), thanks DracheShiki

---

1.192.0

Released on 18th May 2024 (UTC).

Enhancements
- Added Nautilus CLI (see [docs](https://docs.nautilustrader.io/nightly/developer_guide/index.html)) (#1602), many thanks filipmacek
- Added `Cfd` and `Commodity` instruments with Interactive Brokers support (1604), thanks DracheShiki
- Added `OrderMatchingEngine` futures and options contract activation and expiration simulation
- Added Sandbox example with Interactive Brokers (1618), thanks rsmb7z
- Added `ParquetDataCatalog` S3 support (1620), thanks benjaminsingleton
- Added `Bar.from_raw_arrays_to_list` (1623), thanks rsmb7z
- Added `SandboxExecutionClientConfig.bar_execution` option (1646), thanks davidsblom
- Improved venue order ID generation and assignment (it was previously possible for the `OrderMatchingEngine` to generate multiple IDs for the same order)
- Improved `LiveTimer` robustness and flexibility by not requiring positive intervals or stop times in the future (will immediately produce a time event), thanks for reporting davidsblom

Breaking Changes
- Removed `allow_cash_positions` config (simplify to the most common use case, spot trading should track positions)
- Changed `tags` param and return type from `str` to `list[str]` (more naturally expresses multiple tags)
- Changed `Order.to_dict()` `commission` and `linked_order_id` fields to lists of strings rather than comma separated strings
- Changed `OrderMatchingEngine` to no longer process internally aggregated bars for execution (no tests failed, but still classifying as a behavior change), thanks for reporting davidsblom

Fixes
- Fixed `CashAccount` PnL and balance calculations (was adjusting filled quantity based on open position quantity - causing a desync and incorrect balance values)
- Fixed `from_str` for `Price`, `Quantity` and `Money` when input string contains underscores in Rust, thanks for reporting filipmacek
- Fixed `Money` string parsing where the value from `str(money)` can now be passed to `Money.from_str`
- Fixed `TimeEvent` equality (now based on the event `id` rather than the event `name`)
- Fixed `ParquetDataCatalog` bar queries by `instrument_id` which were no longer returning data (the intent is to use `bar_type`, however using `instrument_id` now returns all matching bars)
- Fixed venue order ID generation and application in sandbox mode (was previously generating additional venue order IDs), thanks for reporting rsmb7z and davidsblom
- Fixed multiple fills causing overfills in sandbox mode (`OrderMatchingEngine` now caching filled quantity to prevent this) (1642), thanks davidsblom
- Fixed `leaves_qty` exception message underflow (now correctly displays the projected negative leaves quantity)
- Fixed Interactive Brokers contract details parsing (1615), thanks rsmb7z
- Fixed Interactive Brokers portfolio registration (1616), thanks rsmb7z
- Fixed Interactive Brokers `IBOrder` attributes assignment (1634), thanks rsmb7z
- Fixed IBKR reconnection after gateway/TWS disconnection (1622), thanks benjaminsingleton
- Fixed Binance Futures account balance calculation (was over stating `free` balance with margin collateral, which could result in a negative `locked` balance)
- Fixed Betfair stream reconnection and avoid multiple reconnect attempts (1644), thanks imemo88

---

1.191.0

Released on 20th April 2024 (UTC).

Enhancements
- Implemented `FeeModel` including `FixedFeeModel` and `MakerTakerFeeModel` (1584), thanks rsmb7z
- Implemented `TradeTickDataWrangler.process_bar_data` (1585), thanks rsmb7z
- Implemented multiple timeframe bar execution (will use lowest timeframe per instrument)
- Optimized `LiveTimer` efficiency and accuracy with `tokio` timer under the hood
- Optimized `QuoteTickDataWrangler` and `TradeTickDataWrangler` (1590), thanks rsmb7z
- Standardized adapter client logging (handle more logging from client base classes)
- Simplified and consolidated Rust `OrderBook` design
- Improved `CacheDatabaseAdapter` graceful close and thread join
- Improved `MessageBus` graceful close and thread join
- Improved `modify_order` error logging when order values remain unchanged
- Added `RecordFlag` enum for Rust and Python
- Interactive Brokers further improvements and fixes, thanks rsmb7z
- Ported `Bias` indicator to Rust, thanks Pushkarm029

Breaking Changes
- Reordered `OrderBookDelta` params `flags` and `sequence` and removed default 0 values (more explicit and less chance of mismatches)
- Reordered `OrderBook` params `flags` and `sequence` and removed default 0 values (more explicit and less chance of mismatches)
- Added `flags` parameter to `OrderBook.add`
- Added `flags` parameter to `OrderBook.update`
- Added `flags` parameter to `OrderBook.delete`
- Changed Arrow schema for all instruments: added `info` binary field
- Changed Arrow schema for `CryptoFuture`: added `is_inverse` boolean field
- Renamed both `OrderBookMbo` and `OrderBookMbp` to `OrderBook` (consolidated)
- Renamed `Indicator.handle_book_mbo` and `Indicator.handle_book_mbp` to `handle_book` (consolidated)
- Renamed `register_serializable_object` to `register_serializable_type` (also renames first param from `obj` to `cls`)

Fixes
- Fixed `MessageBus` pattern resolving (fixes a performance regression where topics published with no subscribers would always re-resolve)
- Fixed `BacktestNode` streaming data management (was not clearing between chunks), thanks for the report dpmabo
- Fixed `RiskEngine` cumulative notional calculations for margin accounts (was incorrectly using base currency when selling)
- Fixed selling `Equity` instruments with `CASH` account and `NETTING` OMS incorrectly rejecting (should be able to reduce position)
- Fixed Databento bars decoding (was incorrectly applying display factor)
- Fixed `Binance` bar (kline) to use `close_time` for `ts_event` was `opentime` (1591), thanks for reporting OnlyC
- Fixed `AccountMarginExceeded` error condition (margin must actually be exceeded now, and can be zero)
- Fixed `ParquetDataCatalog` path globbing which was including all paths with substrings of specified instrument IDs

---

Page 1 of 16

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.