开源框架
Backtrader 还是 vectorbt?
如果你在意订单层面的真实性(止损、部分成交、复杂的持仓规则),或者要移植现成的规则化系统,选 Backtrader;如果需要快速测试成千上万组参数,选 vectorbt。很多人先用 vectorbt 做原型,再在事件驱动引擎里验证最终规则。
逐项对比
| Backtrader | vectorbt | |
|---|---|---|
| 类别 | 回测库 | 回测库 |
| 简介 | 事件驱动的 Python 回测和实盘库,社区很大。 | 基于 pandas 和 NumPy 的向量化回测,专门用来快速测试成千上万组参数。 |
| 适合谁 | 入门学回测、订单逻辑复杂的策略,以及移植 MT4/MT5 EA 这类规则化系统。 | 在日线或日内数据上做研究、扫参数,速度比订单细节更重要的场景。 |
| 语言 | Python | Python |
| 许可证 | GPL-3.0 | Apache-2.0 + Commons Clause |
| GitHub Star | 23.7k | 9.8k |
| 最近提交 | 2024-08-19 | 2026-11-08 |
| 最新版本 | — | v1.2.0 (2026-10-19) |
| 状态 | 停滞 | 活跃 |
GitHub 数据截至 2026-11-10。状态:活跃 = 最近 90 天有提交,放缓 = 最近一年有提交,停滞 = 更早,已归档 = 只读。
优点 · 局限
Backtrader
优点
- 逼真的事件驱动模拟:挂单、止损、部分成交、手续费都能处理
- 示例和社区问答非常多
- 一个策略里可以同时用多个品种、多个周期
局限
- 和向量化回测库比,大规模参数扫描很慢
- 已不再积极维护;新版 Matplotlib 下画图可能出问题
- 实盘接口比较老旧
vectorbt
优点
- 非常快:可以一次跑完整个参数网格
- 统计指标丰富,图表可交互
- 直接用 pandas 数据
局限
- 依赖路径的逻辑(移动止损、跟持仓有关的规则)写起来比较别扭
- 学习曲线陡,API 很大
- 许可证是 Apache 2.0 加 Commons Clause,限制把它当服务出售
怎么选
如果你在意订单层面的真实性(止损、部分成交、复杂的持仓规则),或者要移植现成的规则化系统,选 Backtrader;如果需要快速测试成千上万组参数,选 vectorbt。很多人先用 vectorbt 做原型,再在事件驱动引擎里验证最终规则。
全部框架 · 介绍是我们自己的总结,可能落后于各项目的官方文档。用于产品前请先确认项目的许可证。以上内容不构成投资建议。