VectorBT 是一个基于 Python 的量化框架,它通过向量化运算(Vectorization)和并行计算彻底解决了传统回测框架的性能瓶颈,尤其擅长处理海量参数优化和高频数据分析。项目地址:polakowo/vectorbt
官方文档:Getting started - vectorbt
例子:vectorbt/examples
一、核心创新:向量化回测引擎
传统框架 vs VectorBT
| 维度 | 事件驱动框架 (Backtrader) | VectorBT |
|---|---|---|
| 计算模式 | 逐 K 线循环 (next()) | 全数据向量化运算 |
| 性能 | 慢 (Python 循环瓶颈) | ⚡ 快 100-1000 倍 (NumPy 加速) |
| 参数优化 | 顺序遍历 (耗时) | 并行矩阵计算 (瞬时完成) |
| 内存占用 | 低 | 较高 (预加载全部数据) |
| 适用数据量 | 中小规模 (≤1GB) | 大规模 (GB~TB 级) |
💡 向量化原理:将策略逻辑转换为对整个数据矩阵的 NumPy/Pandas 操作,利用 CPU SIMD 指令并行计算。
二、核心组件与技术架构
graph TB A[数据加载] --> B[指标计算] B --> C[信号生成] C --> D[组合构建] D --> E[绩效分析] E --> F[可视化]
关键模块:
vectorbt.portfolio:组合管理 (多资产/多策略)vectorbt.indicators:向量化指标库vectorbt.signals:信号生成器vectorbt.generic:金融时间序列分析vectorbt.returns:收益率计算与风险评估
三、颠覆性特性详解
✅ 1. 闪电级参数扫描
传统框架优化 10 组参数需 10 分钟 → VectorBT 只需 0.1 秒
vectorbt vbt
fast_ma = (, , )
slow_ma = (, , )
results = vbt.MA.run_combs(
price_data,
windows=[fast_ma, slow_ma],
param_product=
)

