课程项目:端到端量化实战 (Capstone)¶
⏱️ 预计动手 ~3–5 小时 | 🎯 难度 ★★★★☆(综合)
这是全书的终点交付。前面每一章都在打磨同一条贯穿式主线策略——最小双均线(MA5/MA20)——并把它从"能跑的脚本"一路推进到"可评价、可优化、可上线准备"的研究对象。本章不引入新知识,而是带你把这些环节串成一个完整、可复现的项目,并产出一份属于你自己的研究记录。
所有阶段都复用仓库 examples/textbook/ 下的配套脚本,这些脚本已做到断网也能跑(无网络时回退到内置合成数据),因此你在任何环境都能完成本项目。
学习目标¶
- 把数据、策略、回测、评价、优化、可视化与实盘准备串成一条闭环。
- 学会用"指标 + 稳健性 + 成本"三个视角判断一个策略是否值得继续。
- 产出一份可复现、可向他人展示的研究交付物。
前置知识¶
- 已通读第 1–16 章,或至少完成第 1、3、4、5、10、11 章。
- 已按 附录 A:环境与复现 搭好环境。
项目阶段¶
阶段 0:环境与复现基线¶
按 附录 A 锁定 uv + Python 与 AKQuant 版本,确认 examples/textbook/ 下脚本可离线跑通。
验收:
python examples/textbook/ch01_quickstart.py正常结束(exit 0),能看到回测指标输出。
阶段 1:数据地基(第 3 章)¶
用 ch03_data.py 的流程获取并清洗一只标的的日线数据,落盘为 Parquet。断网时脚本会自动用合成数据演示同一套 ETL。
验收:
data/目录下生成.parquet,字段为标准的date/open/high/low/close/volume/symbol,且无缺失值与重复时间戳。
阶段 2:策略实现(第 5 章)¶
以 ch05_strategy.py 的带固定比例止损的双均线为蓝本,理清 on_start → on_bar → on_stop 主骨架与 order_target_percent / close_position 下单接口。
验收:策略类能被
aq.run_backtest调用并完成一轮回测;调整均线参数后结果出现可解释的变化。
阶段 3:回测范式(第 4 章)¶
运行 ch04_comparison.py,用 Pandas(向量化)、Backtrader 与 AKQuant(事件驱动)跑同一策略,体会为什么需要事件驱动来精确刻画撮合、资金占用与防未来函数。
验收:能说清三种范式在建模方式、可信度与运行开销上的差异。
阶段 4:评价(第 10 章)¶
运行 ch10_analysis.py,从 result.metrics_df 与 result.trades_df 读出累计/年化收益、最大回撤、夏普、卡玛、胜率,判断该策略是否值得继续投入。
验收:写出一页"指标解读",明确收益端、风险端、收益风险比三方面的结论。
阶段 5:优化与稳健性(第 11 章)¶
运行 ch11_optimization.py 做网格搜索,但目标不是找最高夏普的单点,而是寻找"参数平原",并用样本外测试与 DSR 的思想警惕过拟合。
验收:给出一个稳健的参数区域(而非单一最优点),并说明为什么不直接采用样本内最优。
阶段 6:可视化诊断(第 13 章)¶
运行 ch13_visualization.py 生成交互式报告(权益曲线、回撤、收益分布、基准对比),把汇总数字摊开成相互印证的图表。
验收:生成 HTML 报告,并据图说明策略的风险特征(左尾、回撤修复期、相对基准的超额)。
阶段 7:实盘准备(第 15 章)¶
对照 15.1.3 回测 → 实盘最小切换清单,确认从 paper 到 broker_live 的最小路径、风控前置与可观测性,但不要求真正接柜台。
验收:填写一份最小上线检查表(网关、OMS、RMS、热启动、监控、灰度)。
最终交付物清单¶
完成本项目后,你应当拥有:
- 一份标准化、可复现的数据集(Parquet)。
- 一个结构清晰、带风控的策略类。
- 一页回测指标解读(收益 / 风险 / 收益风险比)。
- 一个稳健参数区域(含样本外对比)。
- 一份可视化诊断报告(HTML)。
- 一份回测 → 实盘最小上线检查表。
进阶扩展¶
行有余力,可沿以下方向把项目升级为更接近实战的版本:
- 多标的多因子:把单标的择时扩展为全市场横截面选股(第 6、14 章)。
- 机器学习增强:用元标签(Meta-Labeling)过滤主线信号,并用 walk-forward 严格验证(第 12 章)。
- 跨资产迁移:把同一框架迁移到期货、期权或基金组合(第 7、8、9 章)。
至此,那条最初只是"能跑出一个夏普"的最小双均线策略,已经被你打磨成一个可评价、可优化、可视化、并具备上线准备的完整研究项目。这正是本书想交给你的能力——不是某一个策略,而是一套可复现、可迁移的研究方法。