技能拆解框架选型无需 AI
Backtesting Frameworks:回测框架选型执行指南
把选型、性能权衡、偏差护栏与验证流程压缩到一页。
这是回测框架选型与验证流程,不构成投资建议或交易承诺。
基于官方文档与权威博客证据整理。
必需输入
先锁定范围,再选工具。
资产类别与交易频率(日内/日线/周线)
策略复杂度与执行真实度要求
数据来源、调整项与更新频率
交易成本模型(佣金、滑点、借贷、资金费率)
算力与预算(本地/云)
输出结果
把结论转成可交付物。
框架类别与最终候选短名单
性能与真实度权衡说明
偏差护栏与验证计划
回测报告模板 + 评分表
复现材料(配置、数据、版本)
输入模板
复制模板,快速对齐上下文。
Asset: US equities Frequency: Daily Strategy style: trend / mean-reversion / stat-arb Execution fidelity: medium (event-driven preferred) Universe size: 500 symbols Data source: vendor + corporate actions Costs: 1 bps commission, 5 bps slippage Compute: local + 1 cloud node Target: research now, live trading in 3 months
字段越完整,选型越稳定。
Workflow
五步完成框架选型
从意图到交付,每一步都有明确动作。
定义回测目标
明确资产类别、策略频率与真实度要求。
先决定要“真实执行”还是“快速研究”,避免后续反复迁移。
Asset class: equities / crypto / futures Frequency: intraday / daily / weekly Execution fidelity: event-driven vs vectorized Deployment: research-only vs live trading
准备数据与成本模型
确认数据来源、调整项与交易成本。
数据与成本决定回测可信度,也是选型的硬约束。
Data source: vendor / exchange / CSV Adjustments: splits, dividends, corporate actions Costs: commissions, slippage, borrow, funding Universe size + lookback window
框架短名单
按事件驱动/向量化/平台型锁定候选。
每类只保留 1-2 个工具,避免试错过多。
Event-driven: Backtrader, Zipline, Lean Vectorized: VectorBT, Backtesting.py Platform: QuantConnect/Lean, QuantRocket Shortlist 1-2 finalists
验证护栏
把偏差与过拟合风险变成检查清单。
walk-forward + OOS + 稳定性测试是最低门槛。
Bias checks: look-ahead, survivorship, data-snooping Validation: walk-forward + out-of-sample Execution: slippage, latency, fill model
交付与复现
输出评分表、报告模板与复现材料。
让团队能复跑与复核,形成可信结论。
Reproducibility: env lockfile + seeds + data snapshot Report: scorecard + decision matrix + go/no-go Archive: config, results, charts
Framework Landscape
框架地图与适配边界
按类型划分,避免一开始就迷失在工具细节里。
| 类型 | 代表框架 | 优势 | 代价 | 适配场景 |
|---|---|---|---|---|
| 事件驱动 (Event-driven) | Backtrader, Zipline, Lean | 执行真实度高、订单模型细、适合多资产与实盘迁移。 | 速度较慢、实现复杂度高、对数据质量要求高。 | 高频/中频策略、订单逻辑复杂、需要实盘一致性。 |
| 向量化 (Vectorized) | VectorBT, Backtesting.py | 速度快、参数扫描效率高、研究迭代快。 | 执行细节简化、难模拟真实订单/滑点。 | 中低频研究、快速验证假设、参数敏感性分析。 |
| 平台型 (Hosted) | QuantConnect/Lean, QuantRocket | 数据与算力集成、云端回测、可直连实盘。 | 平台依赖、成本与配额限制、环境锁定。 | 团队协作、多资产数据、需要托管执行。 |
Event vs Vectorized
速度与真实度权衡
来自权威对比文章的关键差异。
| 维度 | 事件驱动 | 向量化 |
|---|---|---|
| 真实度 | 高:逐条事件驱动,接近真实撮合。 | 中:更偏数学化,执行简化。 |
| 速度 | 慢:逐 bar 迭代,计算成本高。 | 快:批量计算,适合大规模参数扫描。 |
| 复杂度 | 高:订单与状态管理复杂。 | 低:逻辑更简洁,开发快。 |
| 订单模拟 | 细:可建模滑点、撮合、排队。 | 粗:通常假设理想成交。 |
| 适用策略 | 高频/套利/多资产实盘型。 | 中低频/因子研究/参数优化。 |
关键提示
回测速度不是唯一指标,但在大规模 universe 时会成为硬约束。
Scale Factors
决定速度上限的变量
QuantRocket 对比中强调的关键因素。
Universe 规模
标的越多、历史越长,速度差异越明显。
硬件与算力
CPU/内存/并行度直接影响回测吞吐。
架构设计
事件驱动 vs 向量化决定迭代方式。
语言与生态
底层数值库决定真实性能上限。
Bias Guardrails
必须显式防守的偏差
每一项都要有工程化的验证动作。
| 偏差 | 风险 | 护栏动作 |
|---|---|---|
| Look-ahead bias | 使用未来数据导致收益虚高。 | 严格使用过去数据,禁止未来索引。 |
| Survivorship bias | 只保留幸存标的,忽略退市。 | 使用含退市的历史全量数据。 |
| Transaction cost | 忽略佣金/滑点导致回测过拟合。 | 模拟真实成本、执行与滑点。 |
| Data-snooping | 频繁试错导致过拟合。 | OOS + walk-forward + 参数稳定性测试。 |
| Execution mismatch | 回测与实盘成交差异巨大。 | 引入订单簿、延迟与成交模型。 |
Decision Matrix
选型评分维度
五个维度完成初筛,再进入实测。
| 维度 | 作用 | 信号 |
|---|---|---|
| 数据覆盖 | 决定资产与时间跨度上限。 | 支持 corp actions/多频率/多资产。 |
| 真实度 | 影响实盘迁移风险。 | 订单模型、撮合与滑点可配置。 |
| 速度 | 决定研究迭代成本。 | 向量化/并行化/硬件支持。 |
| 易用性 | 影响团队采纳与维护。 | 文档、生态、示例与社区活跃度。 |
| 可复现性 | 确保结果可审计。 | 版本锁定、数据快照、配置管理。 |
报告骨架
直接复制到评审或 PRD。
1) Framework shortlist + rationale 2) Data + cost assumptions 3) Bias guardrails + validation plan 4) Performance results + sensitivity 5) Go/No-Go decision + next steps
Evaluation Rubric
质量护栏
每项都要可验证,避免主观判断。
数据可靠
数据源明确、调整项完整、缺失可追踪。
真实度匹配
执行模型与策略复杂度对齐。
性能可控
回测速度在预算内可扩展。
偏差受控
关键偏差均有护栏与验证。
可复现交付
结论可复跑、可审计、可移交。
Self-Test
快速校验理解
每题 1-2 分,5 分以上合格。
什么时候优先选事件驱动?
分值:2
需要真实订单模拟或实盘一致性时。
向量化框架最适合什么阶段?
分值:1
快速研究与参数扫描阶段。
回测速度主要受哪些因素影响?
分值:1
Universe 规模、硬件、架构、语言生态。
为什么必须做 OOS/Walk-forward?
分值:1
降低过拟合与数据窥探风险。
交付材料中最关键的复现项是什么?
分值:1
数据快照、配置版本、随机种子。
满分 6 分,建议 5 分以上再进入实际选型。
Resources
权威来源与基线
全部证据集中在这里。
Related Links
继续深入的入口
补齐内链与下一步路径。
Source Kit
来源与授权
确保引用与合规信息完整。
| Skill 源文件 | https://github.com/wshobson/agents/blob/main/plugins/quantitative-trading/skills/backtesting-frameworks/SKILL.md |
| 克隆命令 | git clone https://github.com/wshobson/agents.git |
| License | MIT License (wshobson/agents) |
| 权威证据 | Backtrader / Backtesting.py / Zipline / VectorBT / QuantRocket |
FAQ
常见问题
提前回答最常见的疑问。