NautilusTrader:量化交易员的AI优先量化交易平台

June 04, 2025

NautilusTrader: 高性能量化交易平台

NautilusTrader Logo

项目简介

NautilusTrader 是一个开源、高性能、生产级量化交易平台。它为量化交易员提供了一个事件驱动的引擎,用于在历史数据上回测自动化交易策略组合,并将同一策略无需代码修改即可部署到实盘。平台设计之初就将“AI优先”作为目标,旨在性能卓越、稳定可靠的 Python 原生环境中开发和部署算法交易策略。它致力于解决研究/回测与生产实盘交易环境之间的差异挑战。

NautilusTrader 将软件的正确性和安全性放在首位,以支持 Python 原生、任务关键型的交易系统负载。它不限制资产类别,支持跨各种资产类别和工具类型(包括外汇、股票、期货、期权、加密货币和博彩)的高频交易,并可同时在多个交易场所运作。其核心组件采用 Rust 和 Cython 编写以确保性能,同时为交易员和公司维护了一个 Python 原生环境。

NautilusTrader Diagram

使用说明

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
    

从源代码安装:

  1. 安装 rustup:
    • Linux/macOS: curl https://sh.rustup.rs -sSf | sh
    • Windows: 下载并安装 rustup-init.exe,然后通过 Visual Studio 2019 的 Build Tools 安装“C++ 桌面开发”。
  2. 启用 cargo:
    • Linux/macOS: source $HOME/.cargo/env
    • Windows: 启动新的 PowerShell。
  3. 安装 clang:
    • Linux: sudo apt-get install clang
    • Windows: 将 Clang 添加到 Visual Studio 2019 的 Build Tools 中。
  4. 启用 clang (Windows):
    [System.Environment]::SetEnvironmentVariable('path', "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\Llvm\x64\bin\;" + $env:Path,"User")
    
  5. 安装 uv
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  6. 克隆并安装:
    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 位(高)整数精度。

目标用户

  • 量化交易员: 个人或公司开发和部署量化交易策略。
  • 开发者: 对构建高性能交易系统或参与开源平台贡献感兴趣的人士。
  • 研究人员: 在量化交易、机器学习和金融人工智能领域进行学术或行业研究的专业人员。

项目链接

应用场景

  • 算法交易: 开发和执行跨各种资产类别(外汇、股票、期货、期权、加密货币、博彩)的自动化交易策略。
  • 高频交易 (HFT): 利用平台的性能和低延迟能力实现高频交易策略。
  • 回测和模拟: 以高精度(纳秒级分辨率)对交易策略进行严格的历史数据回测。
  • 量化研究: 对交易策略有效性和市场行为进行研究。
  • 交易中的 AI/机器学习: 利用快速回测引擎训练和部署 AI 交易代理。
  • 做市: 在多个交易场所实施做市策略。
  • 统计套利: 开发和执行利用相关资产或市场之间价格差异的策略。
  • 跨市场交易: 凭借其多交易场所能力,同时在不同交易场所进行操作。

分享本文