这个项目能做什么
NautilusTrader是一个开源、生产级、Rust原生的引擎,用于多资产、多场所交易系统。它在单一事件驱动架构中涵盖研究、确定性模拟和实时执行,Python作为策略逻辑、配置和编排的控制平面。这种分离提供了编译交易引擎的性能和安全性,同时保留了Python在系统组合和策略开发方面的灵活性。交易系统也可以完全用Rust编写,用于关键任务负载。
相同的策略和执行算法代码可以在回测和实时系统中运行,减少部署差异。实时执行仍会引入模拟可能无法复现的场所、传输、时序、持久化、外部活动和对账行为。
NautilusTrader与资产类别无关。任何具有REST API或WebSocket流的场所都可以通过模块化适配器集成。当前集成涵盖加密货币交易所(CEX和DEX)、传统市场(外汇、股票、期货、期权)和博彩交易所。
主要功能包括:
- 快速:Rust核心,使用mimalloc分配器和tokio异步网络。
- 可靠:由Rust支持的类型和线程安全,可选Redis支持的状态持久化。
- 可移植:在Linux、macOS和Windows上运行。使用Docker部署。
- 灵活:模块化适配器集成任何REST API或WebSocket流。
- 高级:有效时间IOC、FOK、GTC、GTD、DAY、AT_THE_OPEN、AT_THE_CLOSE,高级订单类型和条件触发。执行指令包括仅做市、仅减仓和冰山订单。条件订单包括OCO、OUO、OTO。
- 可定制:用户定义组件,或使用缓存和消息总线从头组装整个系统。
- 回测:使用历史报价tick、交易tick、K线、订单簿和自定义数据(纳秒分辨率)同时模拟多个场所、工具和策略。
- 实时:研究和实时部署之间采用相同的策略实现。
- 多场所:同时在多个场所运行做市和跨场所策略。
- AI训练:引擎足够快,可训练AI交易代理(RL/ES)。
集成包括AX Exchange、Betfair、Binance、BitMEX、Bybit、Coinbase、Databento、Deribit、Derive、dYdX、Hyperliquid、Interactive Brokers、Kraken、Lighter、Robinhood上的Lighter、OKX、Polymarket和Tardis。
NautilusTrader支持核心值类型(价格、数量、金额)的两种精度模式:高精度(128位整数,最多16位小数)和标准精度(64位整数,最多9位小数)。官方Python轮子默认以高精度模式发布。
可通过PyPI或Nautech Systems包索引的预构建二进制轮子安装,或从源代码构建。该项目正在积极开发中,每两周发布一次,分支包括master、nightly和develop。安全性是优先事项,在依赖选择、开发、构建和发布方面都有控制措施,包括cargo-vet、cargo-deny、SLSA溯源和Sigstore签名。
评论
0 评分人数达到10人后显示
登录后参与讨论。