首页
/ NautilusTrader 1.216.0版本发布:支持Python 3.13与ARM64架构

NautilusTrader 1.216.0版本发布:支持Python 3.13与ARM64架构

2025-06-10 13:14:12作者:韦蓉瑛

NautilusTrader是一个高性能、低延迟的交易平台,专为算法交易设计。它采用Rust和Python混合编程架构,在保证性能的同时提供了Python的易用性。该项目由Nautilus Systems团队开发维护,主要面向机构交易员和量化研究人员。

核心功能增强

本次1.216.0版本带来了多项重要功能改进。在时钟控制方面,新增了allow_past参数用于Clock.set_timer()Clock.set_time_alert()方法,开发者现在可以更灵活地控制定时器和警报在时间设置上的行为。当设置为True时(默认值),允许设置过去的时间点,这在某些回测场景中特别有用。

风险引擎方面,新增了对GTD(Good-Till-Date)订单过期时间的检查,如果订单的过期时间已经过去,系统将直接拒绝该订单,这有助于避免无效订单进入系统。

在交易引擎层面,新增了对交易平台和撮合引擎的instrument更新支持,同时增强了价格和数量精度的验证机制,确保交易数据的准确性。日志系统也获得了重要升级,新增了日志文件轮转功能,开发者现在可以通过max_file_sizemax_backup_count配置项控制日志文件的大小和保留数量。

架构支持扩展

1.216.0版本的一个重要里程碑是新增了对ARM64架构的支持,特别是在Linux平台上。这使得NautilusTrader可以在更多类型的硬件上运行,包括基于ARM架构的服务器和开发板。同时,该版本也增加了对Python 3.13的初步支持(目前还不支持free-threading特性),为开发者提供了更前沿的Python环境选择。

数据处理改进

针对Bybit数据客户端,新增了bars_timestamp_on_close配置选项,默认值为True以符合Nautilus的惯例。对于Betfair平台,新增了BetfairSequenceCompleted自定义数据类型,用于标记消息序列的完成状态。

在Rust层面,新增了多个Arrow schema支持,包括MarkPriceUpdateIndexPriceUpdateInstrumentClose,这些改进提升了数据处理的效率和一致性。

交易功能增强

订单簿处理方面,新增了BookLevel.side属性,方便开发者获取订单簿层级的方向信息。仓位管理方面,新增了Position.closing_order_side()方法,简化了平仓操作的处理逻辑。

对于实时交易引擎,改进了在途订单检查机制,当查询重试次数超过限制时,系统会将提交的订单标记为拒绝状态,将待处理订单标记为取消状态,提高了系统的健壮性。

性能优化与问题修复

在性能优化方面,将GreeksCalculator移植到了Rust实现,这将显著提升期权希腊字母的计算效率。同时升级了多个Rust依赖库,包括redis crate到v0.29.5和tokio到v1.44.2。

修复了多个重要问题,包括组件时钟设置、尾随止损计算溢出错误、Binance的SymbolFilterType枚举成员缺失问题,以及Bybit bar数据的ts_event时间戳问题。特别是修复了Binance Futures在对冲模式下执行算法订单时的仓位ID处理问题,这对使用对冲策略的交易者尤为重要。

开发者体验改进

回测节点(BacktestNode)的日志显示得到了改进,当发生崩溃时会显示完整的堆栈跟踪信息,配置日志也变得更加美观易读。这些改进使得开发者能够更高效地诊断和解决问题。

文档方面,移除了投资组合文档中过时的bar限制说明,保持了文档的准确性和时效性。

总的来说,NautilusTrader 1.216.0版本在功能扩展、架构支持、性能优化和问题修复等方面都取得了显著进展,为量化交易开发者提供了更强大、更稳定的工具平台。特别是对ARM64架构和Python 3.13的支持,为未来的技术演进奠定了良好基础。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起