NautilusTrader 是一个用 Rust 构建的高性能事件驱动算法交易平台,支持回测和实盘交易
NautilusTrader 是一个用 Rust 构建的高性能事件驱动算法交易平台,支持回测和实盘交易。由于直接从 GitHub 获取内容失败,我综合了官方文档和可靠的搜索结果,为你整理了这份详细的部署教程。
📋 部署前准备
在开始前,请确保你的系统满足以下要求:
- 操作系统与架构:支持 Linux (x86_64/ARM64)、macOS (ARM64) 和 Windows (x86_64)。
- Python 版本:需要 Python 3.12、3.13 或 3.14 环境。
- Rust 工具链(选装):如果计划从源代码构建,需要安装 Rust。
🚀 部署与安装方式
推荐以下三种方式,你可以根据自己的需求选择。
方式一:使用 pip 安装(推荐)
这是最快、最稳定的方式,适合大多数用户,直接安装预编译的二进制轮子。
创建并激活 Python 虚拟环境(推荐)。
执行安装命令:
1
pip install -U nautilus_trader
可选:安装带有特定功能(如 Interactive Brokers 适配器、可视化)的版本:
1
pip install -U "nautilus_trader[ib, visualization]"
可用的扩展名(extras)包括
ib、polymarket、visualization等。
方式二:使用 Docker(免环境配置)
如果你想在隔离的环境中快速体验,或者不想在本地配置 Python 和 Rust 环境,Docker 是理想选择。官方提供了包含 Jupyter Lab 的镜像,开箱即用。
拉取镜像(以
nightly版本为例):1
docker pull ghcr.io/nautechsystems/jupyterlab:nightly --platform linux/amd64
运行容器:
1
docker run -p 8888:8888 ghcr.io/nautechsystems/jupyterlab:nightly
在浏览器中打开
http://localhost:8888即可访问 Jupyter Lab 环境,其中包含了示例回测笔记本。
方式三:从源代码构建(高级/开发)
如果你需要修改 Rust 核心代码、进行二次开发,或需要调试版本,可以尝试从源码构建。
安装 Rust:访问 rustup.rs 安装 Rust 工具链。在 Windows 上,还需要安装 “Desktop development with C++” 的 Visual Studio 构建工具。
克隆仓库:
1
2git clone https://github.com/nautechsystems/nautilus_trader.git
cd nautilus_trader使用 Makefile 构建:项目提供了便捷的 Makefile。
- 开发调试:
make build-debug(编译后,修改 Rust/Cython 代码可快速增量编译)。 - 发布优化:
make build或make build-wheel(用于生成发布版本的轮子)。
- 开发调试:
安装:构建完成后,可以在虚拟环境中安装生成的
.whl文件。
🔧 验证与初步运行
安装完成后,可通过运行快速入门示例来验证部署是否成功。
- 运行 Quickstart 脚本:这是官方提供的一个在 5 分钟内运行回测的入门脚本,使用合成数据,无需额外下载。
- 你可以从官方文档或仓库中找到
quickstart.py文件并运行。 - 该脚本会演示一个基于指数移动平均线(EMA)交叉策略的完整回测流程。
- 你可以从官方文档或仓库中找到
- 运行 Jupyter Notebook 示例:如果使用 Docker 或在本地安装了 Jupyter,可以打开示例笔记本,体验数据加载、策略编写和回测的完整过程。
⚙️ 关键配置说明
- 日志级别:在 Jupyter 环境中运行时,建议将日志级别设置为
ERROR,因为 Nautilus 的详细日志输出可能会超过 Jupyter 的标准输出限制,导致笔记本卡顿。 - 节点(Node)限制:在一个进程中不支持同时运行多个
BacktestNode或TradingNode实例。如果需要运行多个回测,应顺序执行并在每次运行后妥善清理资源。
🔗 下一步
- 学习与探索:官方文档提供了从低层 API(
BacktestEngine)到高层 API(BacktestNode)的完整教程。建议先通过文档中的教程学习不同策略模式(如均值回归、订单簿 imbalance)。 - 实盘交易:查阅“配置实盘交易节点”指南和集成文档,了解如何连接支持的交易所或券商。
- 开发与贡献:开发者指南详细说明了如何为项目贡献代码或构建新的适配器。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 极客的赛博空间 | 专注 AI 与技术分享!
评论


