阅读时间 … 分钟

在 TradingHost 运行 vectorbt 研究

在按需配置计算资源的 TradingHost 运行环境上,直接从 GitHub 运行开源版 vectorbt 研究 Notebook 和参数扫描。

vectorbt 是一款基于 NumPy 和 Numba 的向量化 Python 回测库,专为在数秒内评估数千种策略配置而设计。TradingHost 为此类高强度研究工作负载提供匹配其计算需求的云端主机。

由 TradingHost 工程团队撰写
  • GitHub 原生部署
  • 向量化 NumPy 与 Numba 核心
  • 每秒数千次回测
  • 大规模参数扫描
  • pandas 原生数据流
  • 匹配计算需求的运行环境
  • 加密密钥管理
  • 运行地区选择
  • 支持 MCP

简介

刚接触 vectorbt?

vectorbt 是一款基于 NumPy、pandas 和 Numba 构建的向量化 Python 回测库。其设计理念非常直接:它不按部就班地逐根 K 线评估单一策略路径,而是利用 Numba 的 JIT 编译加速,在整个 NumPy 数组上同时评估数千条策略路径。

这种设计带来的是一个能将数小时网格搜索缩短至数秒的研究引擎。在多资产数据集上对 dual-SMA 策略进行 10,000 种参数组合的扫描,对 vectorbt 来说只是日常操作,无需耗费整个周末。

在规划部署前,请注意两个重要界限。首先,开源版 vectorbt 仅用于研究和回测,不包含实盘交易功能。其次,vectorbt 采用 Apache 2.0 with Commons Clause(一种“fair-code”变体)授权协议,与同一作者开发的付费商业库 vectorbt PRO 是不同的产品。

TradingHost 在匹配其计算需求的云端运行环境上运行 vectorbt 研究工作负载。当策略准备好进行实盘交易时,可将其移交至具有实盘循环的框架,例如 Freqtrade、Jesse、NautilusTrader 或您自己基于 CCXT 编写的代码。

第 01 节 · 一览

一览

vectorbt 是什么
开源向量化 Python 回测库
维护者
GitHub 上的 polakowo/vectorbt
授权协议
Apache 2.0 with Commons Clause (fair-code)
开源版对比 PRO 版
vectorbt(本页面)为开源库;vectorbt PRO 是同一作者开发的独立商业产品
编程语言
Python(支持 Numba JIT 及可选的 Rust 引擎)
核心功能
通过向量化 NumPy 数组并行评估数千次回测
实盘交易
开源版本不包含此功能(仅限研究与回测)
数据源
pandas DataFrames、通过 YFData 获取的 Yahoo Finance、自定义数据源
部署来源
GitHub
TradingHost 角色
为研究任务和参数扫描提供匹配计算需求的运行环境
关联关系
TradingHost 保持独立,与 vectorbt 项目无关联
最适合
策略筛选、参数扫描、指标组合、walk-forward 研究

第 02 节 · vectorbt 的定位

vectorbt 在交易技术栈中的定位

vectorbt 处于技术栈的研究端。它不是一个完整的交易系统,而是一个筛选引擎,旨在将庞大的参数空间缩小到少数几个值得实盘运行的配置。

这在 TradingHost 上形成了一个清晰的两步模式:

  • 路径 01

    筛选与参数扫描

    使用 vectorbt 评估数千个策略配置的历史数据。对每个配置进行评分、排序,并挑选出值得进行前向测试的候选配置。

  • 路径 02

    对接到实盘框架

    选定配置后,将规则移植到支持实盘交易的框架中:Freqtrade、Jesse、NautilusTrader 或您自己基于 CCXT 的代码。vectorbt 负责筛选,实盘框架负责执行。

这两部分都在 TradingHost 上运行。研究主机针对计算性能进行配置,而实盘主机则针对在线率进行配置。

您
您的研究 Notebook 承载了策略构想和参数空间。
vectorbt
运行向量化回测,并在整个参数空间内进行评分。
实盘运行环境
由独立的框架(Freqtrade、Jesse、NautilusTrader 或自定义 CCXT)实盘运行所选配置。
TradingHost
为 vectorbt 研究提供计算资源,并为您搭配的任何实盘框架提供运行环境。

章节 03 · 为什么选择 TradingHost

为什么在 TradingHost 上部署 vectorbt 研究

vectorbt 的研究工作负载属于计算密集型,而非高可用型。一次严谨的参数扫描需要足够的内存来容纳数组维度、需要多核进行并行计算,并且需要能够持续运行数小时而不会导致您的笔记本电脑崩溃。在本地运行虽然可行,但速度慢、不稳定,且会占用您的个人电脑。

TradingHost 为 vectorbt 研究工作负载提供量身定制的云端运行环境,并可在配置准备好进行交易时,支持将其与实盘运行环境进行配对。

您将获得

  • GitHub 原生部署
  • 专为参数扫描和前向步进研究配置的计算运行环境
  • 用于并行参数搜索的多核主机
  • 适合长时间运行 Notebook 的持久化运行环境
  • 为任何需要 API 密钥的数据源提供加密密钥管理
  • 流式日志和基础健康状况监控
  • 保存并重新运行任务,无需占用您的笔记本电脑
  • 在配置通过筛选后,可与实盘运行环境配对
  • 兼容 MCP 的 AI IDE 工作流

您保留的控制权

  • 对您的 vectorbt Notebook 和特征定义拥有完全控制权
  • 直接拥有任何数据授权和 API 密钥
  • 自由选择仅运行 vectorbt 或与下游实盘框架配对

章节 04 · 数据与计算

数据源与计算规模

vectorbt 与交易所无关。它不需要经纪商凭据。它需要的是优质的数据和足够的计算资源来运行参数扫描。

数据源在 TradingHost 上的使用方式
pandas DataFrames进程内的 pandas 数据,包括从任何可通过 pip 安装的源下载的数据
YFData (Yahoo Finance)用于股票和 ETFs 的内置 Yahoo Finance 数据源
Custom data feeds任何可以表示为 pandas DataFrame 的数据:通过 CCXT 获取的 OHLCV、parquet 文件、您自己的数据仓库
Saved arrays提交到您仓库中的预计算 NumPy 数组,用于可重复的研究

为什么计算规模至关重要

  • 在数秒内完成 10,000 种组合的参数扫描,而非数小时
  • 在单次向量化运行中评估多资产、多时间框架的数组
  • 针对热点路径使用 Numba JIT 编译;在 v1.0+ 中提供可选的 Rust 引擎
  • 性能受限于数组维度的内存大小,而非受限于逐根 K 线的顺序评估
选择运行环境规格

第 05 节 · 部署流程

vectorbt 部署工作原理

在 TradingHost 上运行 vectorbt 研究任务与部署实盘策略的模式相同,唯一的区别在于:运行时的配置侧重于计算性能,而非持续在线时间。

  1. 步骤 01

    连接或创建仓库

    使用 GitHub 登录并连接包含您的 vectorbt notebook、参数空间及任何预计算数据的研究仓库。

  2. 步骤 02

    锁定 vectorbt 及其依赖版本

    锁定您所需的 vectorbt 版本(开源版 vectorbt,而非 vectorbt PRO)。Numba 及任何数据适配器将与您的其他 Python 依赖项一起安装。

  3. 步骤 03

    添加加密的数据凭据

    如果您的参数扫描需要从 API(如 Polygon、Tiingo、Quandl 等同类服务或您自己的数据库)获取数据,请将凭据添加为 TradingHost 密钥。

    /platform/secrets/
  4. 步骤 04

    选择区域与运行时规格

    选择靠近数据源的区域,以及与您的扫描维度相匹配的运行时规格。更大规模的扫描需要更多的核心与内存。

    /platform/regions/
  5. 步骤 05

    运行

    TradingHost 会在托管容器中运行您的 vectorbt notebook 或脚本。日志和生成的结果文件将实时传输回控制面板。

    /platform/observability/

第 06 节 · 开源版对比 PRO 版

开源版 vectorbt 对比 vectorbt PRO

“vectorbt” 可以指代两种不同的产品。本页面重点介绍开源版 vectorbt。vectorbt PRO 是同一作者开发的独立商业库。两者均可在 TradingHost 上运行,您可以自由选择。

开源版本的许可证是 Apache 2.0 with the Commons Clause,这是一种“fair-code”变体,限制销售 vectorbt 本身,但不限制将其用于您自己的研究。

vectorbt(本页介绍)

采用 Apache 2.0 with the Commons Clause 许可证的开源版本。提供向量化回测、指标和参数扫描工具。不支持实盘交易。

  • 免费安装并用于研究
  • GitHub: polakowo/vectorbt
  • 最适合参数扫描、标的筛选及指标组合分析
  • 稳定且成熟,截至 2026 年已发布 1.0+ 版本

vectorbt PRO

同一作者开发的商业产品。混合回测库,拥有更丰富的 API 接口以及超出开源版本范围的附加功能。

  • 付费许可证 (vectorbt.dev)
  • 与开源版 vectorbt 相互独立
  • 不可互换;导入路径和 API 存在差异
  • 只要您提供有效的许可证,TradingHost 即可运行 PRO 版本

第 07 节 · 我们的服务边界

TradingHost 不提供哪些服务

  • TradingHost 不会通过 vectorbt notebook 执行交易(开源版 vectorbt 本身不包含实盘交易功能)。
  • TradingHost 不提供交易策略、信号或投资建议。
  • TradingHost 不会修改您的 vectorbt notebook、特征定义或评分逻辑。
  • TradingHost 不会托管数据授权或 API 密钥,仅在运行时进行加密注入。
  • TradingHost 不销售或分发 vectorbt PRO;如需使用,请自行准备许可证。

第 08 节 · 常见问题

常见问题

没有。TradingHost 是独立的。vectorbt 是托管在 polakowo/vectorbt 的开源软件,采用 Apache 2.0 with the Commons Clause 许可证;vectorbt PRO 是同一作者开发的独立商业产品。

不能。开源版 vectorbt 仅是一个研究和回测库,不包含实盘交易功能。当您准备好进行实盘时,请将 vectorbt 与 Freqtrade、Jesse、NautilusTrader 等实盘框架或您自己基于 CCXT 编写的代码配合使用。

大规模向量化回测:在数秒内(而非数小时)评估跨多资产、多时间框架的数千种策略配置。Numba JIT 和可选的 Rust 引擎可对核心计算路径进行加速。

Apache 2.0 with the Commons Clause,通常被称为“fair-code”许可证。您可以将其免费用于自己的研究;Commons Clause 限制了销售 vectorbt 本身的行为。

不一样。它们是独立的产品,拥有不同的许可证、API 和功能集。TradingHost 支持运行其中任何一个。如果您选择使用 PRO 版本,请自行准备许可证。

任何可以表示为 pandas DataFrame 的数据,以及通过 YFData 提供的内置 Yahoo Finance 数据源。许多用户会在其他步骤中预先计算数据,将其保存为 parquet 或 NumPy 数组,然后导入 vectorbt 进行高强度的参数扫描。

匹配的计算资源。参数扫频需要充足的 CPU 核心、内存,以及连续运行数小时而不卡死本地工作站的自由。TradingHost 为 vectorbt notebook 提供与工作负载相匹配的运行环境,并妥善存储运行结果。

可以。最常见的模式是:先在 TradingHost 上运行 vectorbt 筛选并确定策略配置,然后将选定的配置部署到另一个运行 Freqtrade、Jesse、NautilusTrader 或基于 CCXT 自定义策略的 TradingHost 运行环境中。

仅在您的数据源需要时才需要。vectorbt 本身与交易所无关,不需要经纪商凭据。数据 API 密钥(如 Polygon、Tiingo、您自己的数据仓库等)在 TradingHost 中作为加密密钥安全存储。

Backtrader 是事件驱动的并支持实盘交易,非常适合逐 K 线(bar-by-bar)逻辑和实盘执行。vectorbt 是向量化的,在参数扫频上速度极快,但开源版本不包含实盘交易功能。许多团队会同时使用两者。

运行您的首次 vectorbt 扫频

连接 GitHub,导入 vectorbt notebook,选择与您的参数空间相匹配的运行环境规格,即可开始运行。当筛选出理想配置后,使用上述实盘框架之一将其部署到实盘。