
框架 概述
NautilusTrader 是一个为专业量化交易设计的开源、高性能算法交易平台。其核心特点在于事件驱动(Event-Driven)架构和对回测与实盘一致性(Backtest-Live Parity)的极致追求。
与许多依赖特定模型(如 LLM)进行决策的 Agent 项目不同,NautilusTrader 的定位是提供一个极其可靠和高效的底层"交易操作系统"。框架核心采用 Rust 语言编写, 以实现顶级的执行性能和系统稳定性,同时通过 Cython 提供完整、自然的 Python API。 它专注于处理交易执行的复杂细节,而将"何时交易、交易什么"的决策权完全交给您编写的策略。
Rust 核心
核心引擎采用 Rust 编写,确保极致性能和系统安全
- >纳秒级延迟
- >内存安全
- >零成本抽象
事件驱动
纯粹的事件驱动设计,回测与实盘行为高度一致
- >发布/订阅模式
- >统一事件流
- >确定性执行
多资产支持
覆盖股票、期货、加密货币等多种资产类别
- >盈透证券
- >币安
- >Bybit
核心架构: 为事件驱动而生
NautilusTrader 的一切都围绕着事件流构建。无论是历史数据回测还是连接真实市场的实盘交易,系统都通过一个统一的消息总线(MessageBus)来分发和处理事件。
| 核心组件 | 主要职责 |
|---|---|
| NautilusKernel | 中央协调器,负责初始化和管理所有组件的生命周期 |
| MessageBus | 系统的神经中枢,采用发布/订阅模式在所有组件间传递事件和消息 |
| DataEngine | 负责处理和路由所有市场数据,包括实时行情和历史数据 |
| ExecutionEngine | 负责管理订单的完整生命周期,从提交、修改到取消 |
| RiskEngine | 提供交易前风险检查(头寸、保证金)和实时风险监控 |
| Cache | 高性能内存数据库,存储和快速访问交易状态、仓位、订单等 |
事件驱动 工作流
外部数据(交易所行情)通过 DataClient 进入 DataEngine,然后被发布到 MessageBus 上
您的 Strategy 作为事件订阅者,从 MessageBus 接收到它所关心的市场数据事件(新的 K 线、报价更新等)
策略根据内部逻辑进行决策,并生成交易指令(如 submit_order)
交易指令通过 MessageBus 发送给 ExecutionEngine,经 RiskEngine 检查后,由 ExecutionClient 发送到交易所
交易所的任何反馈(订单被接受、成交、拒绝)都作为新事件通过 MessageBus 回传,形成完整闭环
如何构建您的 事件驱动自动下单 Agent
NautilusTrader 为您提供了构建自动下单 Agent 所需的全部底层工具。您可以将复杂的 AI/LLM 决策逻辑与高可靠性的交易执行逻辑清晰地分离开来。
from nautilus_trader.trading.strategy import Strategy
from nautilus_trader.model.data import Bar
class MyTradingAgent(Strategy):
def on_bar(self, bar: Bar) -> None:
# 在这里分析新的K线数据
self.log.info(f"New bar: {bar.instrument_id} Close={bar.close}")
# 基于分析结果,可以决定是否下单
def on_order_filled(self, event):
# 实时跟踪每一个指令的最终结果
self.log.info(f"Order filled: {event.instrument_id}")# 在您的策略方法内部
# 提交一个市价买单
self.submit_order(
instrument_id=self.instrument_id,
order_type="MARKET",
order_side="BUY",
quantity=self.quantity,
)
# 提交一个限价卖单
self.submit_order(
instrument_id=self.instrument_id,
order_type="LIMIT",
order_side="SELL",
quantity=self.quantity,
price=self.my_limit_price,
)
# 取消一个订单
self.cancel_order(order=my_order_to_cancel)支持的订单类型
NautilusTrader 如何 赋能您的 Agent
决策与执行解耦
将复杂的 AI/LLM 决策逻辑放在独立的外部进程中。通过自定义信号(Signal)和数据(Data)的发布/订阅机制,外部 Agent 生成信号,Nautilus 策略接收后立即执行。即使 AI 模型出现延迟或故障,也不影响核心交易执行引擎的稳定运行。
回测与实盘一致性
在历史数据上反复回测和优化策略。当策略成熟时,只需更改配置,连接到真实交易所,无需修改任何一行策略代码,即可在真实市场中运行,其行为将与回测时高度一致。
生产级性能和可靠性
Rust 核心确保即使在处理高频数据时也能保持极低延迟。'故障优先'和'崩溃即恢复'的设计哲学,意味着系统在遇到意外错误时会立即停止,而不是带着错误继续运行,最大程度避免资金损失。
丰富的生态系统
已内置对多家主流交易所和数据提供商的适配器,包括盈透证券(Interactive Brokers)、币安(Binance)、Bybit 等,覆盖股票、期货、加密货币等多种资产类别,让 Agent 轻松连接全球市场。
集成 适配器
| 适配器 | 类型 | 资产类别 | 状态 |
|---|---|---|---|
| Interactive Brokers (盈透证券) | 交易 + 数据 | 股票 / 期货 / 期权 | 已集成 |
| Binance (币安) | 交易 + 数据 | 加密货币 / 合约 | 已集成 |
| Bybit | 交易 + 数据 | 加密货币 / 合约 | 已集成 |
| Databento | 数据 | 美股 / 期货 | 已集成 |
| Tardis | 数据 | 加密货币历史数据 | 已集成 |
| Polymarket | 交易 + 数据 | 预测市场 | 已集成 |
结论
NautilusTrader 是一个为专业交易而生的底层框架,它本身不是一个"AI Agent",但它为构建这样一个 Agent 提供了最理想的、事件驱动的运行环境。 它将繁琐、易错且对性能要求极高的数据处理、订单管理、风险控制和多交易所适配工作标准化、产品化, 让您可以将全部精力集中在开发最核心的决策逻辑上。它为您提供了一个坚固的"骨架"和强大的"神经系统",让您可以自由地为其安装任何智慧的"大脑"。
事件驱动型量化交易 Agent 系统
TradingAgents + NautilusTrader + THGNN + OpenClaw