交易系统深入

NautilusTrader

以 Rust 引擎为核心、Python 为策略与编排层,统一研究、模拟和执行的多资产交易系统。

★ 30,368nautechsystems/nautilus_trader核验 2026-10-20
RustPython事件驱动

为什么值得学

适合学习严格的领域模型、订单状态、风险检查,以及回测与实盘共享逻辑的边界。

需要的基础

  • Rust 模块基础
  • 事件驱动
  • 交易与风险管理

涉及哪些内容

领域模型数据引擎执行引擎风险引擎

数据与控制流程

  1. 1市场数据事件
  2. 2策略决策
  3. 3风险检查
  4. 4执行引擎
  5. 5模拟或真实交易场所
  6. 6状态反馈

此流程为教学归纳,便于建立整体认识;完整条件分支与运行细节请对照下方源码。

架构拆解 · 5 个核心模块

每个入口均已核对,点击可阅读源码
MODULE 01

交易领域模型

model crate 导出订单、仓位、账户、行情和交易事件等基础类型。

输入
市场和交易事实
输出
统一领域对象
源码入口 ↗crates/model/src/lib.rs
MODULE 02

数据引擎

data crate 提供数据客户端、聚合、回放与引擎模块。

输入
外部或历史市场数据
输出
内部可消费的数据事件
源码入口 ↗crates/data/src/lib.rs
MODULE 03

执行引擎

execution crate 组织客户端、订单管理、匹配与状态协调等模块。

输入
交易命令和订单事件
输出
执行状态及成交更新
源码入口 ↗crates/execution/src/lib.rs
MODULE 04

回测运行层

backtest crate 装配引擎、模拟交易所、数据迭代器和结果。

输入
历史事件与模拟配置
输出
确定性模拟结果
源码入口 ↗crates/backtest/src/lib.rs
MODULE 05

风险引擎

risk crate 提供风控引擎与仓位规模相关能力。

输入
交易请求、账户与风险约束
输出
风险检查或仓位约束结果
源码入口 ↗crates/risk/src/lib.rs

建议阅读顺序

  1. 先读各 crate 的 lib.rs,建立模块依赖图
  2. 从 model 的订单和事件定义深入
  3. 比较 backtest 与 execution 的边界
  4. 最后结合 Python 示例理解策略如何调用 Rust 引擎
本站设计的学习练习

动手做一次

选择一个最小示例做离线回放,并绘制从行情到订单状态更新的时序图。

完成后,检查这些证据

  • 相同输入和配置能复现结果
  • 说明风险检查发生在哪个环节
  • 列出模拟无法覆盖的外部订单、网络和对账差异

适用边界与版本说明

当前默认分支与旧版 Cython 架构差异较大;本文按核验提交的 Rust crate 结构分析,安装时应选匹配的发布版本与文档。

Star 快照:30,368 · 核验日期:2026-10-20 · GitHub 归档标记:未归档

核验默认分支:develop · 源码固定提交:2ebdbd71da15 ↗

来源:GitHub 仓库与 Star 页面、README及上述源文件。分层、阅读顺序与练习为本站归纳;未逐一安装运行这些框架,源码提交不等于推荐安装版本。

同方向继续比较