Releases: nautechsystems/nautilus_trader
Releases · nautechsystems/nautilus_trader
NautilusTrader 1.166.0 Beta
NautilusTrader 1.166.0 Beta
Released on 17th January 2023 (UTC).
Breaking Changes
Position.unrealized_pnl
nowNone
until any realized PnL is generated (to reduce ambiguity)
Enhancements
- Added instrument status update subscription handlers, thanks @limx0
- Improvements to InteractiveBrokers
DataClient
, thanks @rsmb7z - Improvements to async task handling for live clients
- Various improvements to Betfair adapter, thanks @limx0
Fixes
- Fixed netted
Position
realized_pnl
andrealized_return
fields, which were incorrectly cumulative - Fixed netted
Position
flip logic (now correctly 'resets' position) - Various fixes for Betfair adapter, thanks @limx0
- InteractiveBrokers integration docs fixes
NautilusTrader 1.165.0 Beta
NautilusTrader 1.165.0 Beta
Released on 14th January 2023 (UTC).
A number of enum variant names have been changed in favour of explicitness,
and also to avoid C naming collisions.
Breaking Changes
- Renamed
AggressorSide.NONE
toNO_AGGRESSOR
- Renamed
AggressorSide.BUY
toBUYER
- Renamed
AggressorSide.SELL
toSELLER
- Renamed
AssetClass.CRYPTO
toCRYPTOCURRENCY
- Renamed
LiquiditySide.NONE
toNO_LIQUIDITY_SIDE
- Renamed
OMSType
toOmsType
- Renamed
OmsType.NONE
toUNSPECIFIED
- Renamed
OrderSide.NONE
toNO_ORDER_SIDE
- Renamed
PositionSide.NONE
toNO_POSITION_SIDE
- Renamed
TrailingOffsetType.NONE
toNO_TRAILING_OFFSET
- Removed
TrailingOffsetType.DEFAULT
- Renamed
TriggerType.NONE
toNO_TRIGGER
- Renamed
TriggerType.LAST
toLAST_TRADE
- Renamed
TriggerType.MARK
toMARK_PRICE
- Renamed
TriggerType.INDEX
toINDEX_PRICE
- Renamed
ComponentState.INITIALIZED
toREADY
- Renamed
OrderFactory.bracket(post_only)
topost_only_entry
- Moved
manage_gtd_expiry
toStrategy.submit_order(...)
andStrategy.submit_order_list(...)
Enhancements
- Added
BarSpecification.timedelta
property, thanks @rsmb7z - Added
DataEngineConfig.build_time_bars_with_no_updates
option - Added
OrderFactory.bracket(post_only_tp)
param - Added
OrderListIdGenerator
and integrate withOrderFactory
- Added
Cache.add_order_list(...)
- Added
Cache.order_list(...)
- Added
Cache.order_lists(...)
- Added
Cache.order_list_exists(...)
- Added
Cache.order_list_ids(...)
- Improved generation of
OrderListId
from factory to ensure uniqueness - Added auction matches for backtests, thanks @limx0
- Added
.timedelta
property toBarSpecification
, thanks @rsmb7z - Numerous improvements to the Betfair adapter, thanks @limx0
- Improvements to Interactive Brokers data subscriptions, thanks @rsmb7z
- Added
DataEngineConfig.validate_data_sequence
(False by default and currently only forBar
data), thanks @rsmb7z
Fixes
- Added
TRD_GRP_*
enum variants for Binance spot permissions - Fixed
PARTIALLY_FILLED
->EXPIRED
order state transition, thanks @bb01100100
NautilusTrader 1.164.0 Beta
NautilusTrader 1.164.0 Beta
Released on 23rd December 2022 (UTC).
Breaking Changes
None
Enhancements
- Added managed GTD order expiry (experimental feature, config may change)
- Added Rust
ParquetReader
andParquetWriter
(forQuoteTick
andTradeTick
only)
Fixes
- Fixed
MARKET_IF_TOUCHED
orders forOrderFactory.bracket(..)
- Fixed
OrderEmulator
trigger event handling for live trading - Fixed
OrderEmulator
transformation to market orders which had a GTD time in force - Fixed serialization of
OrderUpdated
events - Fixed typing and edge cases for new
msgspec
, thanks @limx0 - Fixed data wrangler processing with missing data, thanks @rsmb7z
NautilusTrader 1.163.0 Beta
NautilusTrader 1.163.0 Beta
Released on 17th December 2022 (UTC).
Breaking Changes
None
Enhancements
None
Fixes
- Fixed
MARKET_IF_TOUCHED
andLIMIT_IF_TOUCHED
trigger and modify behavior - Fixed
MatchingEngine
updates of stop order types - Fixed combinations of passive or immediate trigger vs passive or immediate fill behavior
- Fixed memory leaks from passing string pointers from Rust, thanks @twitu
NautilusTrader 1.162.0 Beta
NautilusTrader 1.162.0 Beta
Released on 12th December 2022 (UTC).
Breaking Changes
OrderFactory
bracket order methods consolidated to.bracket(...)
Enhancements
- Extended
OrderFactory
to provide more bracket order types - Simplified GitHub CI and removed
nox
dependency
Fixes
- Fixed
OrderBook
sorting for bid side, thanks @gaugau3000 - Fixed
MARKET_TO_LIMIT
order initial fill behaviour - Fixed
BollingerBands
indicator mid-band calculations, thanks zhp (Discord)
NautilusTrader 1.161.0 Beta
NautilusTrader 1.161.0 Beta
Released on 10th December 2022 (UTC).
This release adds support for Python 3.11.
Breaking Changes
- Renamed
OrderFactory.bracket_market
toOrderFactory.bracket_market_entry
- Renamed
OrderFactory.bracket_limit
toOrderFactory.bracket_limit_entry
- Renamed
OrderFactory
bracket orderprice
andtrigger_price
parameters
Enhancements
- Consolidated config objects to
msgspec
providing better performance and correctness - Added
OrderFactory.bracket_stop_limit_entry_stop_limit_tp(...)
- Numerous improvements to the Interactive Brokers adapter, thanks @limx0 and @rsmb7z
- Removed dependency on
pydantic
Fixes
- Fixed
STOP_MARKET
order behavior to fill at market on immediate trigger - Fixed
STOP_LIMIT
order behavior to fill at market on immediate trigger and marketable - Fixed
STOP_LIMIT
order behavior to fill at market on processed trigger and marketable - Fixed
LIMIT_IF_TOUCHED
order behavior to fill at market on immediate trigger and marketable - Fixed Binance start and stop time units for bar (kline) requests, thanks @Tzumx
RiskEngineConfig.bypass
set toTrue
will now correctly bypass throttlers, thanks @DownBadCapital- Fixed updating of emulated orders
- Numerous fixes to the Interactive Brokers adapter, thanks @limx0 and @rsmb7z
NautilusTrader 1.160.0 Beta
NautilusTrader 1.160.0 Beta
Released on 28th November 2022 (UTC).
Breaking Changes
- Removed time portion from generated IDs (affects
ClientOrderId
andPositionOrderId
) - Renamed
orderbook.data.Order
toorderbook.data.BookOrder
(reduce conflicts/confusion) - Renamed
Instrument.get_cost_currency(...)
toInstrument.get_settlement_currency(...)
(more accurate terminology)
Enhancements
- Added emulated contingency orders capability to
OrderEmulator
- Moved
test_kit
module to main package to support downstream project/package testing
Fixes
- Fixed position event sequencing: now generates
PositionOpened
when reopening a closed position - Fixed
LIMIT
order fill characteristics when immediately marketable as a taker - Fixed
LIMIT
order fill characteristics when passively filled as a maker as quotes move through - Fixed canceling OTO contingent orders when still in-flight
- Fixed
RiskEngine
notional check when selling cash assets (spot currency pairs) - Fixed flush on closed file bug for persistence stream writers
NautilusTrader 1.159.0 Beta
NautilusTrader 1.159.0 Beta
Released on 18th November 2022 (UTC).
Breaking Changes
- Removed FTX integration
- Renamed
SubmitOrderList.list
->SubmitOrderList.order_list
- Slight adjustment to bar aggregation (will not use the last close as the open)
Enhancements
- Implemented
TRAILING_STOP_MARKET
orders for Binance Futures (beta) - Added
OUO
One-Updates-OtherContingencyType
with matching engine implementation - Added bar price fallback for exchange rate calculations, thanks @ghill2
Fixes
- Fixed deallocation of Rust backing struct on Python exceptions causing segfaults
- Fixed bar aggregation start times for bar specs outside typical intervals (60-SECOND rather than 1-MINUTE etc)
- Fixed backtest engine main loop ordering of time events with identically timestamped data
- Fixed
ModifyOrder
messagestr
andrepr
when no quantity - Fixed OCO contingency orders which were actually implemented as OUO for backtests
- Fixed various bugs for Interactive Brokers integration, thanks @limx0 and @rsmb7z
- Fixed
pyarrow
version parsing, thanks @ghill2 - Fixed returning venue from
InstrumentId
, thanks @rsmb7z
NautilusTrader 1.158.0 Beta
NautilusTrader 1.158.0 Beta
Released on 3rd November 2022 (UTC).
Breaking Changes
- Added
LiveExecEngineConfig.reconciliation
boolean flag to control if reconciliation is active - Removed
LiveExecEngineConfig.reconciliation_auto
(unclear naming and concept) - All Redis keys have changed to a lowercase convention (please either migrate or flush your Redis)
- Removed
BidAskMinMax
indicator (to reduce total package size) - Removed
HilbertPeriod
indicator (to reduce total package size) - Removed
HilbertSignalNoiseRatio
indicator (to reduce total package size) - Removed
HilbertTransform
indicator (to reduce total package size)
Enhancements
- Improved accuracy of clocks for backtests (all clocks will now match generated
TimeEvent
s) - Improved risk engine checks for
reduce_only
orders - Added
Actor.request_instruments(...)
method - Added
Order.would_reduce_only(...)
method - Extended instrument(s) Req/Res handling for
DataClient
and `Actor
Fixes
- Fixed memory management for Rust backing structs (now being properly freed)
NautilusTrader 1.157.0 Beta
NautilusTrader 1.157.0 Beta
Released on 24th October 2022 (UTC).
Breaking Changes
- None
Enhancements
- Added experimental local order emulation for all order types (except
MARKET
andMARKET_TO_LIMIT
) see docs - Added
min_latency
,max_latency
andavg_latency
toHttpClient
base class
Fixes
- Fixed Binance Spot
display_qty
for iceberg orders, thanks @jackma - Fixed Binance HTTP client error logging