阅读时间 … 分钟

在 TradingHost 上部署 NautilusTrader

在持续运行的 TradingHost 运行环境中,运行来自 GitHub 的开源 NautilusTrader 策略。

NautilusTrader 是一个高性能算法交易平台,采用 Rust 核心与 Python 控制面,回测与实盘执行共享完全一致的事件驱动型代码路径。TradingHost 为该引擎提供生产级的运行环境。

由 TradingHost 工程团队撰写
  • GitHub 原生部署
  • Rust 核心,Python 控制面
  • 完全一致的回测与实盘代码路径
  • 纳秒级事件计时精度
  • 加密货币、FX、股票、期货、期权
  • 持续运行的环境
  • 加密凭据
  • 区域选择
  • 支持 MCP

简介

刚接触 NautilusTrader?

NautilusTrader 是一个开源、高性能的算法交易平台。它围绕 Rust 编写的事件驱动核心构建,并配有 Python 控制面,让您能够使用符合 Python 习惯的代码编写策略,而关键的执行路径则运行编译后的代码。

其核心设计选择是确定性。相同的策略代码在回测和实盘中运行,对接相同的事件驱动型 message bus,并具备纳秒级的计时精度。不存在相互脱节的独立研究引擎和实盘引擎;您的回测结果即是您的实盘表现。

其覆盖范围跨越多个资产类别:CEX(Binance、Bybit、Coinbase、OKX、BitMEX、Kraken、Deribit)和 DEX(dYdX、Hyperliquid、Polymarket)上的加密货币,通过 Interactive Brokers 交易外汇和多资产,通过 Betfair 交易体育市场,此外还支持 Databento 和 Tardis 等数据提供商。NautilusTrader 采用 LGPL-3.0 许可,由 Nautech Systems 维护。

TradingHost 是 NautilusTrader 策略在生产环境中运行的地方。您无需将策略留在个人电脑或通用 VPS 上,而是将您的 Nautilus 仓库部署到 TradingHost 云端运行环境。它将保持持续在线,将您的交易场所凭据作为加密密钥进行管理,并将日志实时流式传输给您。

章节 01 · 一览

一览

NautilusTrader 是什么
开源高性能算法交易平台,采用 LGPL-3.0 许可
维护者
Nautech Systems Pty Ltd(GitHub 上的 nautechsystems/nautilus_trader)
架构
Rust 核心、Python 控制面、Cython 绑定;tokio 异步网络
编程语言
使用 Python 编写策略;关键执行路径运行编译后的 Rust 代码
确定性
回测与实盘采用完全一致的事件驱动型代码路径;纳秒级计时精度
资产类别
加密货币(CEX 和 DEX)、外汇、股票、期货、期权、体育博彩
数据提供商
Databento、Tardis,以及交易场所原生数据源
运行模式
回测、模拟、实盘;共享相同的 strategy 类
部署源
GitHub
TradingHost 的角色
提供运行环境、部署、日志、密钥管理及区域选择
隶属关系
TradingHost 是独立平台,与 Nautech Systems 无隶属关系
最适合
低延迟多资产策略、研究与实盘一致性部署、专业团队

章节 02 · Nautilus 的定位

NautilusTrader 在交易技术栈中的定位

NautilusTrader 是一个完整的交易引擎,而不是构建在其他底层原语之上的策略框架。其 Rust 内核掌控着 message bus、缓存、风控引擎和交易场所适配器。您的 Python 代码通过 Strategy 和 Actor 类与该引擎进行交互。

您可以在 TradingHost 上以两种方式使用 Nautilus:

  • 路径 01

    Strategy 类

    在 Python 中继承 Strategy 类。从 Rust 内核接收 tick、K 线(bar)和订单事件;发送订单并由引擎路由至配置的交易场所。回测与实盘使用完全相同的类。

  • 路径 02

    Actor / message bus

    对于更复杂的架构设计,可以直接使用 Actor 和 message bus。多个 Actor 可以在同一个引擎内协同工作,同时共享市场数据和风控状态。

无论选择哪种路径,在 TradingHost 上的运行方式都是相同的。您只需提供 Nautilus 的 GitHub 仓库,其余的运行工作由我们负责。

您
您的 Strategy 或 Actor 类掌控交易逻辑。
Nautilus
运行事件驱动内核、message bus、缓存和交易场所适配器;回测与实盘路径完全一致。
交易场所
您的交易所、经纪商或 DEX 钱包接收订单。
TradingHost
运行引擎进程、管理敏感凭据并流式传输日志。

第 03 节 · 为什么选择 TradingHost

为什么在 TradingHost 上部署 NautilusTrader

NautilusTrader 是一个低延迟引擎。它需要稳定的网络路径、可预测的 CPU 性能以及靠近交易场所的部署区域。在笔记本电脑、台式机或通用 VPS 上运行会带来运维负担,包括进程监管、重启、日志分散以及不可预测的调度,这些都会破坏该引擎设计初衷所追求的确定性(determinism)。

TradingHost 为 NautilusTrader 引擎提供了一个专为长期运行交易进程设计的生产级运行环境。

您将获得

  • GitHub 原生部署
  • 专为低延迟进程优化的常驻容器运行环境
  • 单个引擎内支持多策略运行
  • 针对每个交易场所的加密凭据存储
  • 靠近您交易场所的区域选择
  • 流式日志与基础健康状况监控
  • 策略级别的启动、停止、重启和检查
  • 回测与实盘使用相同的运行环境(引擎完全一致)
  • 兼容 MCP 的 AI IDE 工作流

您保留的控制权

  • 对您的 Strategy 和 Actor 类的完全控制
  • 对交易场所账户和凭据的直接所有权
  • 自主选择资产类别:加密货币、FX、股票、期货、期权

第 04 节 · 支持的交易场所

支持的交易场所与数据提供商

相比于加密货币优先的框架,NautilusTrader 跨越了更多的资产类别。其原生适配器涵盖了加密货币 CEX、加密货币 DEX、多资产经纪商、体育博彩市场以及一流的市场数据提供商。

以下展示了五种常用的搭配组合。完整的目录见后文。

  • NautilusTrader
  • 您的交易场所
  • TradingHost 运行环境

Nautilus 还为以下交易场所和数据提供商提供原生适配器:

加密货币 CEX
BitMEX, Kraken, OKX, Deribit
加密货币 DEX
dYdX, Polymarket
数据提供商
Databento, Tardis
其他市场
Betfair, AX Exchange
浏览经纪商名录

章节 05 · 部署流程

NautilusTrader 部署工作原理

在 TradingHost 上运行 NautilusTrader 引擎的部署模式与任何基于 GitHub 的项目相同,只需额外一个步骤来安装 Rust 核心及任何已编译的扩展。

  1. 步骤 01

    连接或创建仓库

    使用 GitHub 登录并连接包含您的 Strategy 和 Actor 类的 Nautilus 仓库,或者直接从 TradingHost 的 Nautilus 模板创建一个。

  2. 步骤 02

    配置引擎

    TradingHost 会读取您项目的运行环境配置,以了解如何安装 Nautilus wheel(包含 Rust 核心)、构建任何自定义 Cython 扩展并启动引擎。

  3. 步骤 03

    添加加密的交易场所凭据

    将交易所 API 密钥、IBKR 凭据或 DEX 钱包凭据添加为 TradingHost 密钥(secrets)。这些凭据会被加密,在启动时注入运行环境,且绝不会写入您的仓库。

    /platform/secrets/
  4. 步骤 04

    选择区域

    选择靠近您交易场所撮合引擎的区域。对延迟敏感的策略,部署在与交易场所相同的大陆以及与其托管(colo)区域相同的服务商处将大有裨益。

    /platform/regions/
  5. 步骤 05

    部署

    TradingHost 会在托管容器中启动 Nautilus 引擎。日志将实时流式传输回控制面板。该引擎将回测和实盘视为同一运行环境的不同变体,因此您只需监控一种运行状态。

    /platform/observability/

章节 06 · 确定性

回测即实盘:确定性事件驱动核心

NautilusTrader 的独特之处在于,回测和实盘并不是两个不同的产品。它们只是同一个引擎的不同输入。策略类(strategy class)、消息总线(message bus)、缓存(cache)和风险引擎(risk engine)完全相同;改变的只有数据源和订单路由。

实际上,这意味着在回测中表现正常的策略,在实盘交易中也极有可能符合预期。由于没有第二套代码库,因此很难产生实盘偏差(live drift)。

单一代码路径
无论是在研究阶段还是在生产环境中,Strategy 和 Actor 类都通过相同的 API 与引擎交互。无需为了实盘交易而重写另一套代码。
Rust 核心
热路径(hot path)运行编译后的 Rust。Python 仅作为控制面和策略编写界面,而不参与核心循环。tokio 负责处理异步网络 I/O。
纳秒级时间戳
引擎采用纳秒级精度的时间戳和确定性的事件顺序,从而确保回测结果可复现,且实盘决策在时间上精准定位。

章节 07 · 我们不做什么

TradingHost 不提供哪些服务

  • TradingHost 不充当您的交易场所。
  • TradingHost 不提供交易策略、信号或财务建议。
  • TradingHost 不会修改您的 Nautilus Strategy 或 Actor 类。
  • TradingHost 不会托管您的交易场所凭据,仅在运行环境中进行加密注入。
  • TradingHost 不保证策略表现、交易场所可用性或市场连接性。

章节 08 · 常见问题

常见问题

否。TradingHost 是独立的。NautilusTrader 是一款开源软件,采用 LGPL-3.0 许可,由 Nautech Systems Pty Ltd 在 nautechsystems/nautilus_trader 维护。

Rust 核心负责处理事件驱动的热路径:消息总线、缓存、风险引擎、交易场所适配器以及通过 tokio 实现的异步网络。Python 控制面则是您编写策略的地方。这样既能获得高性能,又拥有易于上手的编写界面。

因为大多数“回测正常,实盘崩溃”的失败案例,都是由于两套不同代码库之间的偏差(drift)造成的。Nautilus 拥有统一的引擎、策略类和消息总线。这使得回测结果更能代表实盘表现。

加密货币 CEX 包括 Binance、Bybit、Coinbase、BitMEX、Kraken、OKX 和 Deribit。加密货币 DEX 包括 dYdX、Hyperliquid 和 Polymarket。多资产覆盖通过 Interactive Brokers 实现(股票、期货、期权、FX)。其他市场包括 Betfair 和 AX Exchange。数据提供商包括 Databento 和 Tardis。

支持,主要通过 Interactive Brokers 进行,这使您能够交易 FX 以及股票、期货和期权。可交易的品种取决于您提供的 IBKR 账户权限。

可以。NautilusTrader 的引擎围绕 Actor 模型设计:多个 Strategy 和 Actor 实例可以在同一个引擎中运行,通过消息总线共享市场数据、缓存和风险引擎。

您可以将它们作为加密密钥(secrets)添加到 TradingHost。这些密钥会在启动时注入到 Nautilus 运行时中,而不会写入您的代码仓库。

不会。NautilusTrader 通过您的交易平台凭据进行下单。TradingHost 仅负责运行引擎进程并流式传输日志。

Backtrader 历史较久、仅支持 Python、交易平台覆盖有限,且原仓库基本已停止功能更新。NautilusTrader 则较新、处于积极开发中、以 Rust 为核心、支持多资产,并专为低延迟下完全一致的回测与实盘行为而设计。

对于低延迟策略,到撮合引擎的往返时间(RTT)比 CPU 性能更重要。TradingHost 允许您选择靠近交易平台的区域。完整列表请参阅 /platform/regions/。

部署您的首个 NautilusTrader 策略

连接 GitHub,选择 NautilusTrader 模板或您自己的策略仓库,添加您的交易平台凭据,选择区域,然后启动运行到 TradingHost 运行时中。