1. 课程导入与问题界定
行业轮动策略的核心假设是:不同经济阶段、政策周期或市场风格下,行业间的相对强弱会呈现可被捕捉的轮动规律。策略开发者通常用动量、景气度、估值分位、资金流或宏观因子构建打分体系,定期在行业指数间调仓。问题在于,行业数量有限(申万一级约31个),可回测的历史样本更有限,而研究者可以尝试的因子组合、窗口参数、调仓频率却近乎无限。这种"样本少、自由度大"的结构,使行业轮动成为过拟合的高发地带。
所谓过拟合,在行业轮动语境下并不是"回测收益太高"这么简单。更准确的界定是:策略在历史样本上表现出的超额收益,主要来自对噪声的拟合,而非对可持续轮动机制的捕捉,因而在样本外或实盘中系统性衰减。识别过拟合,本质上是判断"回测绩效中有多少是真实信号、多少是数据挖掘的副产品"。排障则是沿着可疑环节逐层定位,找到过拟合的具体来源并加以修正或放弃。
常见过拟合表现:从绩效曲线到参数细节
行业轮动的过拟合往往有可观察的"症状"。第一类是绩效断层:回测年化超额很高,但样本外第一年即大幅回撤,且回撤方向与历史最大回撤不同。第二类是参数悬崖:动量窗口从20日改到25日,年化收益从18%跌到3%,说明最优点孤立存在,缺乏参数平原。第三类是换手异常:策略在回测中频繁切换行业,单次持仓平均不足5个交易日,交易成本被低估后收益迅速消失。第四类是因子拥挤:策略依赖的行业打分在少数几个历史时段贡献了绝大部分收益,剔除该时段后绩效平庸。第五类是逻辑漂移:策略名为"景气度轮动",实际持仓却与景气度排名相关性很低,而是被动量或小市值暴露主导。
这些症状的共同点是:它们都能在回测阶段被观察到,只是容易被"高收益"掩盖。因此识别工作的第一步不是继续调参,而是建立一套独立于收益的检查视角。
识别与排障的整体流程
建议把排障组织为"先证伪、再定位、后修正"的三段式,而不是线性地"优化—回测—再优化"。具体而言:
- 样本切分与留出:在动手调参前先锁定一段从未参与任何决策的留出期(例如最近24个月),并明确样本内、验证集、留出集的边界。所有参数搜索只在样本内完成,验证集用于粗筛,留出集只在最终确认时使用一次。
- 基准与归因:把策略收益分解为行业Beta、风格暴露(市值、价值、动量)与残差Alpha。若残差Alpha占比很低,说明所谓轮动收益主要来自风格漂移。
- 稳健性压力测试:对关键参数做邻域扫描,观察绩效曲面是否连续;对调仓日做前后平移(如从月末改为月中),检验结果是否依赖特定日期;对行业池做增减,检验是否依赖个别行业。
- 统计显著性检验:在考虑多重检验的前提下评估超额收益的显著性,而非只看单条净值曲线。
- 定位与修正:根据上述结果判断过拟合来源是参数搜索、样本选择、成本假设还是逻辑错配,再决定简化模型、扩大样本、提高成本假设或放弃策略。
30个案例的分布与学习路径
本课程的30个案例按过拟合来源分为五组,每组6例,覆盖从数据层到决策层的完整链条:
| 案例组 | 核心问题 | 典型排障动作 |
|---|---|---|
| 参数与搜索类(案例1–6) | 窗口、阈值、调仓频率被过度搜索 | 参数邻域扫描、绩效曲面连续性检查 |
| 样本与切分类(案例7–12) | 留出期泄露、幸存者偏差、行业分类变更 | 重建时间边界、还原历史行业池 |
| 成本与执行类(案例13–18) | 换手成本低估、涨跌停不可成交、冲击成本 | 提高成本假设、加入可成交性约束 |
| 因子与逻辑类(案例19–24) | 因子拥挤、逻辑与持仓错配、风格暴露伪装成Alpha | 收益归因、暴露分解、逻辑一致性核对 |
| 统计与决策类(案例25–30) | 多重检验、显著性误判、样本外衰减的决策规则 | 多重检验校正、设定放弃标准 |
学习路径建议按"先建立检查框架,再逐层深入"的顺序推进。前六例聚焦参数层,是最容易观察、也最容易被忽视的过拟合来源;随后进入样本层与成本层,这两层决定回测是否"可信";因子与逻辑层要求读者具备归因能力;最后的统计与决策层把前面所有检查收敛为"是否上线、是否放弃"的判断规则。每例都按"现象—复现—定位—修正—结论"展开,读者可对照自己的策略逐项排查。
本章不提供"万能参数",也不承诺任何策略收益。目标只有一个:让读者在看到一个漂亮的行业轮动回测曲线时,能够条件反射地问出正确的问题——留出期是否干净、收益来自哪里、参数是否孤立、成本是否真实、逻辑是否自洽。带着这五个问题进入后续30个案例,排障才有方向。