回测周期选择:一轮牛熊是最低配置
先掌握这个答案
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收益。用原始价格判断可成交性,并纳入停牌与涨跌停。
本阶段实战方法 · 回测先过时序、成交与成本三道关
把信号变成策略收益时,每笔收益必须能追溯到当时能下出的订单。
- 画出时间线:数据可得→算信号→下单→成交→持仓收益;收盘信号不能倒用当天完整收益。
- 明确交易价格、T+1可卖数量、停牌涨跌停、仓位上限和实际成交量约束。
- 同时报告毛/净收益、换手、最大回撤、基准和样本外结果;对滑点与费率做压力测试。
使用边界
- 简单shift(1)只解决部分时序问题;次日开盘成交还要区分隔夜和日内收益。
- 成本应按成交金额与买卖方向计提;0.15%是教学情景,不是统一市场费率。
- 数据越长越好:太长的早期数据制度差异大(注册制前后)——分段检验胜过无脑全样本
- 近三年最有代表性:恰恰最危险——单一风格期的代表性最差;"最近"只是离未来近,不等于分布全
- 回测期可以看效果再调:这是用回测期做过拟合——跑数前定死(协议条款之一)
🛠 本题实践任务
把你的策略按五段(2014-15/16-17/18/19-21/22-24)分别计算年化超额——哪段是它的天堂与地狱?天堂段是否正是它的风格暴露顺风期(对照q-036/410)?
💡 提示(先自己想5分钟再看)
分段表+风格归因(市值/行业的分段暴露)合看;"天堂=顺风"的结论要写进使用说明。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
🤖 AI导师
导师会先检查你的前置知识(样本切分、市场结构),再用案例、公式和代码帮助理解。此功能需要先启用服务。