阶段6回测基础●●●●●

回测周期选择:一轮牛熊是最低配置

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

先掌握这个答案

A股牛熊参考划分:2014-2015(疯牛+股灾)、2016-2017(慢牛白马)、2018(熊)、2019-2021(结构牛)、2022-2024(调整+风格剧变)。一轮以上=至少覆盖"一种上涨、一种下跌、一次风格切换"。单边市的错觉清单:①牛市回测→高估一切多头策略(把Beta当Alpha);②熊市回测→低估一切(错杀真Alpha);③单一风格期(如2020-2021成长牛)→把风格暴露当选股能力(q-036教训的回测版);④小盘牛市期回测小盘策略→幸存样本的时序版。分配建议:总样本至少8-10年;尾部25-30%做样本外(最后一段——最接近未来分布);中间若跨度>10年可加"结构断点检查"(注册制前后分别看)。

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

从理解到使用

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

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

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

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

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

使用边界

  • 简单shift(1)只解决部分时序问题;次日开盘成交还要区分隔夜和日内收益。
  • 成本应按成交金额与买卖方向计提;0.15%是教学情景,不是统一市场费率。
背景 · 从一个困惑说起
"回测三年够吗?"——取决于哪三年。2019-2021的三年(结构牛)与2022-2024的三年(持续调整)会给出同一个多头策略的两张截然相反的成绩单。回测期的选择本身就是一个自由度——用错它,后面所有数字都失真。
由此产生的问题
为什么一轮完整牛熊是最低配置(A股的划分参考)?"单边市回测"会制造哪些系统性错觉?回测期与样本外保留的分配怎么定?
核心概念
A股牛熊参考划分:2014-2015(疯牛+股灾)、2016-2017(慢牛白马)、2018(熊)、2019-2021(结构牛)、2022-2024(调整+风格剧变)。一轮以上=至少覆盖"一种上涨、一种下跌、一次风格切换"。单边市的错觉清单:①牛市回测→高估一切多头策略(把Beta当Alpha);②熊市回测→低估一切(错杀真Alpha);③单一风格期(如2020-2021成长牛)→把风格暴露当选股能力(q-036教训的回测版);④小盘牛市期回测小盘策略→幸存样本的时序版。分配建议:总样本至少8-10年;尾部25-30%做样本外(最后一段——最接近未来分布);中间若跨度>10年可加"结构断点检查"(注册制前后分别看)。
为什么需要它
①分布覆盖的统计逻辑:策略的表现是"市场状态的函数"——没见过的状态=外推风险;牛熊各一才勉强构成"状态空间"的最小覆盖;②错觉的代价实例:2019-2021发行的很多"明星产品"是牛市回测的产物——2022年的集体回撤本质是回测期的账单到期;③周期选择也是多重检验的一维:反复换回测期挑好结果=另一形式的过拟合(q-507的提醒)——回测期在跑数前定死并写入协议。
实际应用场景
实操规范:回测期=2015-01至最近(含股灾+慢牛+熊+结构牛+调整);样本外=最后30%;协议(q-600)写明"回测期选择理由"一行——它和成本假设一样是需要显式声明的自由度。
与之前知识的联系
q-591(样本内外切分)的时间维度深化;q-036(选股域)的空间维度兄弟——域与期是回测的两大"样本框";风格依赖的教训链回q-410(小市值两轮崩塌)。
⚠ 常见误解
  • 数据越长越好:太长的早期数据制度差异大(注册制前后)——分段检验胜过无脑全样本
  • 近三年最有代表性:恰恰最危险——单一风格期的代表性最差;"最近"只是离未来近,不等于分布全
  • 回测期可以看效果再调:这是用回测期做过拟合——跑数前定死(协议条款之一)

🤖 AI导师

导师会先检查你的前置知识(样本切分、市场结构),再用案例、公式和代码帮助理解。此功能需要先启用服务。