NautilusTrader:量化交易员的AI优先量化交易平台
June 04, 2025
NautilusTrader: 高性能量化交易平台
项目简介
NautilusTrader 是一个开源、高性能、生产级量化交易平台。它为量化交易员提供了一个事件驱动的引擎,用于在历史数据上回测自动化交易策略组合,并将同一策略无需代码修改即可部署到实盘。平台设计之初就将“AI优先”作为目标,旨在性能卓越、稳定可靠的 Python 原生环境中开发和部署算法交易策略。它致力于解决研究/回测与生产实盘交易环境之间的差异挑战。
NautilusTrader 将软件的正确性和安全性放在首位,以支持 Python 原生、任务关键型的交易系统负载。它不限制资产类别,支持跨各种资产类别和工具类型(包括外汇、股票、期货、期权、加密货币和博彩)的高频交易,并可同时在多个交易场所运作。其核心组件采用 Rust 和 Cython 编写以确保性能,同时为交易员和公司维护了一个 Python 原生环境。
使用说明
NautilusTrader 可以通过 PyPI 或 Nautech Systems 包索引中预构建的二进制 wheel 进行安装,也可以从源代码构建。建议使用最新支持的 Python 版本,并在虚拟环境中安装 NautilusTrader。
安装
推荐: 使用 uv
包管理器搭配“纯净”的 CPython。
通过 PyPI 安装:
pip install -U nautilus_trader
通过 Nautech Systems 包索引安装(包括稳定版或开发版):
- 稳定版:
pip install -U nautilus_trader --index-url=https://packages.nautechsystems.io/simple
- 开发版(最新预发布):
pip install -U nautilus_trader --pre --index-url=https://packages.nautechsystems.io/simple
- 指定开发版:
pip install nautilus_trader==1.208.0a20241212 --index-url=https://packages.nautechsystems.io/simple
从源代码安装:
- 安装 rustup:
- Linux/macOS:
curl https://sh.rustup.rs -sSf | sh
- Windows: 下载并安装
rustup-init.exe
,然后通过 Visual Studio 2019 的 Build Tools 安装“C++ 桌面开发”。
- Linux/macOS:
- 启用 cargo:
- Linux/macOS:
source $HOME/.cargo/env
- Windows: 启动新的 PowerShell。
- Linux/macOS:
- 安装 clang:
- Linux:
sudo apt-get install clang
- Windows: 将 Clang 添加到 Visual Studio 2019 的 Build Tools 中。
- Linux:
- 启用 clang (Windows):
[System.Environment]::SetEnvironmentVariable('path', "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\Llvm\x64\bin\;" + $env:Path,"User")
- 安装
uv
:curl -LsSf https://astral.sh/uv/install.sh | sh
- 克隆并安装:
git clone --branch develop --depth 1 https://github.com/nautechsystems/nautilus_trader cd nautilus_trader uv sync --all-extras
Docker 使用
提供了带有各种标签的容器镜像。例如,要运行 JupyterLab 夜间构建容器:
docker pull ghcr.io/nautechsystems/jupyterlab:nightly --platform linux/amd64
docker run -p 8888:8888 ghcr.io/nautechsystems/jupyterlab:nightly
http://127.0.0.1:8888/lab
进入 JupyterLab。
主要特性
- 高性能: 核心部分用 Rust 编写,使用 tokio 进行异步网络通信。
- 高可靠性: Rust 带来的类型安全和线程安全,并可选支持 Redis 存储状态。
- 可移植性: 操作系统无关(Linux、macOS、Windows),可通过 Docker 部署。
- 高灵活性: 模块化适配器允许与任何 REST API 或 WebSocket 数据源集成。
- 高级订单管理: 支持多种有效期选项(IOC、FOK、GTC、GTD、DAY、AT_THE_OPEN、AT_THE_CLOSE)、高级订单类型、条件触发、执行指令(只挂单、只减仓、冰山单)以及连带订单(OCO、OUO、OTO)。
- 可定制化: 用户可通过缓存和消息总线定义自定义组件和系统。
- 回测能力: 支持同时在多个交易场所、多种工具和多种策略上,以纳秒级精度使用历史行情报价、交易明细、K线、订单簿和自定义数据进行回测。
- 实盘部署: 回测和实盘交易使用完全相同的策略实现。
- 多交易场所支持: 便于进行做市和统计套利策略。
- AI 训练: 快速回测引擎适合训练 AI 交易代理(强化学习/进化策略)。
- Python 原生环境: 核心关键组件由 Rust/Cython 实现以确保性能,同时为专业交易员提供 Python 原生环境。
- 高精度模式: 核心数值类型(价格、数量、金额)支持 64 位(标准)和 128 位(高)整数精度。
目标用户
- 量化交易员: 个人或公司开发和部署量化交易策略。
- 开发者: 对构建高性能交易系统或参与开源平台贡献感兴趣的人士。
- 研究人员: 在量化交易、机器学习和金融人工智能领域进行学术或行业研究的专业人员。
项目链接
- GitHub 仓库: https://github.com/nautechsystems/nautilus_trader
- 网站: https://nautilustrader.io
- 文档: https://nautilustrader.io/docs/
- 支持邮箱:
[email protected]
- Discord 社区: 可通过网站或 GitHub 页面加入。
应用场景
- 算法交易: 开发和执行跨各种资产类别(外汇、股票、期货、期权、加密货币、博彩)的自动化交易策略。
- 高频交易 (HFT): 利用平台的性能和低延迟能力实现高频交易策略。
- 回测和模拟: 以高精度(纳秒级分辨率)对交易策略进行严格的历史数据回测。
- 量化研究: 对交易策略有效性和市场行为进行研究。
- 交易中的 AI/机器学习: 利用快速回测引擎训练和部署 AI 交易代理。
- 做市: 在多个交易场所实施做市策略。
- 统计套利: 开发和执行利用相关资产或市场之间价格差异的策略。
- 跨市场交易: 凭借其多交易场所能力,同时在不同交易场所进行操作。