阶段6常见策略与实战陷阱●●●●●

关卡:回测与组合毕业考——设计一份"防自欺协议"

我的掌握程度:
q-600精讲

先掌握这个答案

协议八条款(跑数前签字):①样本划分:训练/验证/测试的时间边界与「测试集只碰一次」承诺;②假设陈述:策略的经济逻辑与可证伪预测(q-444);③参数冻结:主参数与所有变体在测试前固定;④成本假设:双边全成本≥X%并承诺做±2倍敏感性;⑤成交约束:T+1、涨跌停、停牌的处理规则;⑥尝试次数记账:N次实验全记录,供DSR折减(q-510);⑦判决标准:事先写下「什么结果算成功/失败」;⑧终止条款:违反任何一条即作废重跑。配套十问自测:前视六藏点/截断检验/三骗术/MVO翻车机理/走查协议/成本四连/容量一问/多空vs多头/回测≠实盘四杀手/协议本身。

先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。

从理解到使用

每一笔收益都要有可执行时间线

打印数据截止时间、信号时间、订单时间、成交时间和持仓收益区间。收盘信号不能乘当天完整收益;次日开盘成交也不能无条件拿到整个close-to-close收益。用原始价格判断可成交性,并纳入停牌与涨跌停。

本阶段实战方法 · 回测先过时序、成交与成本三道关

把信号变成策略收益时,每笔收益必须能追溯到当时能下出的订单。

  1. 画出时间线:数据可得→算信号→下单→成交→持仓收益;收盘信号不能倒用当天完整收益。
  2. 明确交易价格、T+1可卖数量、停牌涨跌停、仓位上限和实际成交量约束。
  3. 同时报告毛/净收益、换手、最大回撤、基准和样本外结果;对滑点与费率做压力测试。

使用边界

  • 简单shift(1)只解决部分时序问题;次日开盘成交还要区分隔夜和日内收益。
  • 成本应按成交金额与买卖方向计提;0.15%是教学情景,不是统一市场费率。
背景 · 从一个困惑说起
阶段6的毕业考不是答题,而是一份文档:给你的策略设计一套「防自欺协议」——在跑回测之前就写好的实验规则。这也是机构的真实做法:研究提案(research proposal)先于数据。能写出这份协议的人,才被允许碰实盘的资金。
由此产生的问题
防自欺协议必须预先声明哪些条款?十问自测各对应哪个知识点?
核心概念
协议八条款(跑数前签字):①样本划分:训练/验证/测试的时间边界与「测试集只碰一次」承诺;②假设陈述:策略的经济逻辑与可证伪预测(q-444);③参数冻结:主参数与所有变体在测试前固定;④成本假设:双边全成本≥X%并承诺做±2倍敏感性;⑤成交约束:T+1、涨跌停、停牌的处理规则;⑥尝试次数记账:N次实验全记录,供DSR折减(q-510);⑦判决标准:事先写下「什么结果算成功/失败」;⑧终止条款:违反任何一条即作废重跑。配套十问自测:前视六藏点/截断检验/三骗术/MVO翻车机理/走查协议/成本四连/容量一问/多空vs多头/回测≠实盘四杀手/协议本身。
为什么需要它
①人性防御:回测最大的敌人不是数据而是「看到结果后的自己」——协议把决策权交给跑数前的你(更冷静的那个);②可复现研究的证书:附带协议的报告可被第三方复核每个选择——这是机构研究的黄金标准;③求职硬通货:面试讲项目时先亮协议——『我是这样防自欺的』比『我的策略年化X%』高一个段位。
实际应用场景
模板落地:PROTOCOL.md随代码库走;每次实验新建条目(日期/假设/N/判决);阶段9的竞赛(Kaggle的本地验证协议)将直接复用这一文件。
与之前知识的联系
阶段6毕业:你已拥有「验证者的眼睛」。阶段7(风险与衍生品)补上最后一块职业拼图——如何管理已上线策略的生存风险。回测管「上线前」,风控管「上线后」,走查与协议串起两者。
⚠ 常见误解
  • 协议写完不用严格执行:协议的全部价值在「跑数前签订」——事后补写的协议是文学创作
  • 小实验不用协议:自欺不分实验大小;习惯在小实验里作弊的人在大实验里守不住
  • 协议降低研究灵活性:它降低的是「反复改口」的灵活性——这恰是最该降的

🤖 AI导师

导师会先检查你的前置知识(全阶段:回测防御/绩效指标/组合构建/验证协议),再用案例、公式和代码帮助理解。此功能需要先启用服务。