Releases: nautechsystems/nautilus_trader
NautilusTrader 1.141.0 Beta
NautilusTrader 1.141.0 Beta
Released on 4th April 2022 (UTC).
Breaking Changes
- Renamed
BacktestNode.run_sync()
toBacktestNode.run()
- Renamed
flatten_position()
toclose_position()
- Renamed
flatten_all_positions()
toclose_all_positions()
- Renamed
Order.flatten_side()
toOrder.closing_side()
- Renamed
TradingNodeConfig
check_residuals_delay
totimeout_post_stop
- The
SimulatedExchange
will now 'receive' market data prior to theDataEngine
(note that this did not affect any test) - Tightened requirement for
DataType
types to be subclasses ofData
CacheDatabaseConfig.type
now defaults toin-memory
NAUTILUS_CATALOG
env var changed toNAUTILUS_PATH
DataCatalog
root path now located under$OLD_PATH/catalog/
from the Nautilus pathhiredis
andredis
are now optional extras as 'redis'hyperopt
is now an optional extra as 'hyperopt'
Enhancements
- Unify
NautilusKernel
across backtest and live systems - Improved configuration by grouping into
config
subpackage - Improved configuration objects and flows
- Numerous improvements to the Binance Spot/Margin and Futures integration
- Added Docker image builds and GH packages
- Added
BinanceFuturesMarkPriceUpdate
type and data stream - Added generic
subscribe
andunsubscribe
to template - Added Binance Futures COIN_M testnet
- The clarity of various error messages was improved
Fixes
- Fixed multiple instruments in
DataCatalog
(#554), (#560) by @limx0 - Fixed timestamp ordering streaming from
DataCatalog
(#561) by @limx0 - Fixed
CSVReader
(#563) by @limx0 - Fixed slow subscribers to the Binance WebSocket streams
- Fixed configuration of
base_currency
for backtests - Fixed importable strategy configs (previously not returning correct class)
- Fixed
fully_qualified_name()
format
NautilusTrader 1.140.0 Beta
NautilusTrader 1.140.0 Beta
Release Notes
Released on 13th March 2022 (UTC).
This is a patch release which fixes a moderate severity security vulnerability in
pillow < 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.
NautilusTrader 1.139.0 Beta
NautilusTrader 1.139.0 Beta
Release Notes
Released on 11th March 2022 (UTC).
Breaking Changes
- Renamed
CurrencySpot
toCurrencyPair
. - Renamed
PerformanceAnalyzer
toPortfolioAnalyzer
. - Renamed
BacktestDataConfig.data_cls_path
todata_cls
. - Renamed
BinanceTicker
toBinanceSpotTicker
. - Renamed
BinanceSpotExecutionClient
toBinanceExecutionClient
.
Enhancements
- Added initial (beta) Binance Futures adapter implementation.
- Added initial (beta) Interactive Brokers adapter implementation.
- Added custom portfolio statistics.
- Added
CryptoFuture
instrument. - Added
OrderType.MARKET_TO_LIMIT
. - Added
OrderType.MARKET_IF_TOUCHED
. - Added
OrderType.LIMIT_IF_TOUCHED
. - Added
MarketToLimitOrder
order type. - Added
MarketIfTouchedOrder
order type. - Added
LimitIfTouchedOrder
order type. - Added
Order.has_price
property (convenience). - Added
Order.has_trigger_price
property (convenience). - Added
msg
param toLoggerAdapter.exception()
. - Added WebSocket
log_send
andlog_recv
config options. - Added WebSocket
auto_ping_interval
(seconds) config option. - Replaced
msgpack
withmsgspec
(faster drop in replacement https://github.com/jcrist/msgspec). - Improved exception messages by providing helpful context.
- Improved
BacktestDataConfig
API: now takes either a type ofData
or a fully qualified path string.
Fixes
- Fixed FTX execution WebSocket 'ping strategy'.
- Fixed non-deterministic config dask tokenization.
NautilusTrader 1.138.0 Beta
NautilusTrader 1.138.0 Beta
Release Notes
Released on 15th February 2022 (UTC).
This release contains numerous method, parameter and property name changes
For consistency and standardization with other protocols, the ExecutionId
type
has been renamed to TradeId
as they express the same concept with a more
standardized terminology. In the interests of enforcing correctness and
safety this type is now utilized for the TradeTick.trade_id
.
Breaking Changes
- Renamed
working
orders toopen
orders including all associated methods and params. - Renamed
completed
orders toclosed
orders including all associated methods and params. - Removed
active
order concept (often confused withopen
). - Renamed
trigger
totrigger_price
. - Renamed
StopMarketOrder.price
toStopMarketOrder.trigger_price
. - Renamed all params related to a
StopMarketOrders
price
totrigger_price
. - Renamed
ExecutionId
toTradeId
. - Renamed
execution_id
totrade_id
. - Renamed
Order.trade_id
toOrder.last_trade_id
(for clarity). - Renamed other variations and references of 'execution ID' to 'trade ID'.
- Renamed
contingency
tocontingency_type
.
Enhancements
- Introduced the
TradeId
type to enforcetrade_id
typing. - Improve handling of unleveraged cash asset positions including Crypto and Fiat spot currency instruments.
- Added
ExecEngineConfig
optionallow_cash_positions
(False
by default). - Added
TrailingOffsetType
enum. - Added
TrailingStopMarketOrder
. - Added
TrailingStopLimitOrder
. - Added trailing order factory methods.
- Added
trigger_type
param to stop orders. - Added
TriggerType
enum. - Large refactoring of order base and impl classes.
- Overhaul of execution reports.
- Overhaul of execution state reconciliation.
Fixes
- Fixed WebSocket base reconnect handling.
NautilusTrader 1.137.1 Beta
NautilusTrader 1.137.1 Beta
Release Notes
Released on 15th January 2022 (UTC).
This is a patch release which fixes moderate to high severity security vulnerabilities in
pillow < 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
.
NautilusTrader 1.137.0 Beta
NautilusTrader 1.137.0 Beta
Release Notes
Released on 12th January 2022.
Breaking Changes
- Removed redundant
currency
param fromAccountBalance
. - Renamed
local_symbol
tonative_symbol
. - Removed the
VenueType
enum andvenue_type
param in favour of arouting
bool flag. - Removed
account_id
param from execution client factories and constructors. - Changed venue generated IDs (order, execution, position) which now begin with the venue ID.
Enhancements
- Added FTX integration for testing.
- Added FTX US configuration option.
- Added Binance US configuration option.
- Added
MarginBalance
object to assist with margin account functionality.
Fixes
- Fixed parsing of
BarType
with symbols including hyphens-
. - Fixed
BinanceTicker
__repr__
(was missing whitespace after a comma). - Fixed
DataEngine
requests for historicalTradeTick
. - Fixed
DataEngine
_handle_data_response
typing ofdata
toobject
.
NautilusTrader 1.136.0 Beta
NautilusTrader 1.136.0 Beta
Release Notes
Released 29th December 2021.
Breaking Changes
- Changed
subscribe_data(...)
method (client_id
now optional). - Changed
unsubscribe_data(...)
method (client_id
now optional). - Changed
publish_data(...)
method (addeddata_type
). - Renamed
MessageBus.subscriptions
method param topattern
. - Renamed
MessageBus.has_subscribers
method param topattern
.` - Removed
subscribe_strategy_data(...)
method. - Removed
unsubscribe_strategy_data(...)
method. - Removed
publish_strategy_data(...)
method. - Renamed
CryptoSwap
toCryptoPerpetual
.
Enhancements
- Can now modify or cancel in-flight orders live and backtest.
- Updated
CancelOrder
to allow Nonevenue_order_id
. - Updated
ModifyOrder
to allow Nonevenue_order_id
. - Updated
OrderPendingUpdate
to allow Nonevenue_order_id
. - Updated
OrderPendingCancel
to allow Nonevenue_order_id
. - Updated
OrderCancelRejected
to allow Nonevenue_order_id
. - Updated
OrderModifyRejected
to allow Nonevenue_order_id
. - Added
DataType.topic
string for improved message bus handling.
Fixes
- Implemented comparisons for
DataType
,BarSpecification
andBarType
. - Fixed
QuoteTickDataWrangler.process_bar_data
withrandom_seed
.
NautilusTrader 1.135.0 Beta
NautilusTrader 1.135.0 Beta
Release Notes
Released 13th December 2021.
Breaking Changes
- Renamed
match_id
totrade_id
.
Enhancements
- Added bars method to
DataCatalog
. - Improved parsing of Binance historical bars data.
- Added
CancelAllOrders
command. - Added bulk cancel capability to Binance integration.
- Added bulk cancel capability to Betfair integration.
Fixes
- Fixed handling of
cpu_freq
call in logging for ARM architecture. - Fixed market order fill edge case for bar data
- Fixed handling of
GenericData
in backtests.
NautilusTrader 1.134.0 Beta
NautilusTrader 1.134.0 Beta - Release Notes
Released on 22nd, November 2021
Breaking Changes
- Changed
hidden
order option todisplay_qty
to support iceberg orders. - Renamed
Trader.component_ids()
toTrader.actor_ids()
. - Renamed
Trader.component_states()
toTrader.actor_states()
. - Renamed
Trader.add_component()
toTrader.add_actor()
. - Renamed
Trader.add_components()
toTrader.add_actors()
. - Renamed
Trader.clear_components()
toTrader.clear_actors()
.
Enhancements
- Added initial implementation of Binance SPOT integration (beta stage testing).
- Added support for display quantity/iceberg orders.
Fixes
- Fixed
Actor
clock time advancement in backtest engine.
NautilusTrader 1.133.0 Beta
NautilusTrader 1.133.0 Beta - Release Notes
Released on 8th, November 2021
Breaking Changes
None
Enhancements
- Added
LatencyModel
for simulated exchange. - Added
last_update_id
to order books. - Added
update_id
to order book data. - Added
depth
param when subscribing to order book deltas. - Added
Clock.timestamp_ms()
. - Added
TestDataProvider
and consolidate test data. - Added orjson default serializer for arrow.
- Reorganized example strategies and launch scripts.
Fixes
- Fixed logic for partial fills in backtests.
- Various Betfair integration fixes.
- Various
BacktestNode
fixes.