选股公式设计中的过拟合,指的是策略在历史数据上表现优异,但在未来实盘或新数据上大幅失效。避免过拟合的核心方法并非寻找更复杂的参数,而是通过样本外验证、参数敏感性分析和策略逻辑合理性检验,确保公式捕捉的是市场规律而非历史噪声。
过拟合的典型表现包括:回测曲线极其平滑、收益高得脱离常识、对起止日期异常敏感(更换一天回测区间结果就大幅变脸)。这类公式往往堆砌了大量参数和条件,本质是在“背答案”。在构建公式时,应优先保证策略逻辑有清晰的经济学或市场行为基础,例如基于估值回归、动量延续或资金流向等可解释的驱动因素,而非纯粹的数据挖掘。
样本划分与验证方法
可靠的验证流程必须将数据严格分块,避免未来函数与信息泄露。
- 训练集与测试集划分:按时间顺序将历史数据分为两部分。前段(如80%的时间区间)用于开发公式和调试参数,后段(20%)完全封存,仅在最终阶段运行一次。若在测试集上反复调试参数,测试集实际上就变成了新的训练集,同样会过拟合。
- 样本外与样本内对比:观察公式在训练集与测试集上的表现差异。若训练集年化收益显著高于测试集,或测试集出现明显回撤放大,说明策略对特定历史环境依赖过强。
- 跨市场或跨周期验证:若公式基于全市场选股,可尝试在沪深300成分股与中证1000成分股上分别测试;若基于日线,可尝试用周线数据验证。逻辑稳健的策略应在不同样本上表现接近,而非只在特定池子中有效。
参数敏感性与稳健性测试
参数是过拟合的重灾区。一个稳健的选股公式,其核心参数的微小变动不应导致绩效剧烈波动。
- 参数高原测试:将关键参数(如持股数量、调仓频率、估值阈值)在合理范围内连续变动,绘制绩效热力图。理想状态是存在一个“高原区”——参数在较宽区间内绩效保持稳定;若绩效只在某个极窄的数值点(如PE恰好小于15.3倍)表现突出,则大概率是过拟合。
- 减少参数数量:每增加一个可调参数,过拟合风险就显著上升。优先使用行业通用的中性化处理(如剔除市值影响后的估值分位),而非自行设定复杂的自定义指标。
- 交易成本与滑点敏感性:在回测中显著放大手续费和冲击成本假设,观察策略是否还能盈利。依赖高频交易或极低换手成本的公式,在实盘中往往最先失效。
策略逻辑与市场环境适配
技术层面的验证之外,还需审视策略逻辑的时效性。多数选股因子(如低波动、小市值)具有明显的环境依赖性,在特定市场风格下有效,在另一环境下可能长期失效。
- 逻辑合理性:公式中的每个条件都应能回答“为什么这个指标能预测未来收益”。若无法给出合理解释,仅凭历史相关性建立的公式,很可能只是数据巧合。
- 环境标签记录:在回测报告中标注策略表现较好的市场阶段特征(如牛市、震荡市、利率上行期)。这有助于判断当前环境是否适合启用该公式,而非盲目依赖历史平均收益。
- 定期再验证:市场结构会随时间变化,建议定期(如每半年或一年)重新运行样本外测试。若策略逻辑已与当前市场机制脱节,应及时调整或停用。
总结而言,避免过拟合的关键在于克制:克制参数数量、克制对历史曲线的优化、克制对极端收益的追求。 一个值得实盘的选股公式,应当具备逻辑可解释、参数不敏感、样本外表现稳定这三个特征,而非在回测中完美无瑕。
常见问题
回测中夏普比率达到多少才算策略可靠?
不存在普适的夏普比率门槛,该数值受交易频率、市场环境和杠杆水平影响极大。更可靠的判断方式是观察夏普比率的稳定性——将回测按年度拆分,若各年度夏普比率波动极小且均为正值,通常比单一高值更有参考意义。
参数优化到什么程度应该停止?
当继续调整参数带来的绩效提升开始变得微小(如年化收益提升不足0.5%),且需要同时修改多个参数才能维持表现时,就应停止优化。此时任何微调都是在拟合噪声,建议转向简化条件或增加逻辑约束。
如何识别回测中的未来函数?
常见隐患包括:使用当期无法获取的财报数据(未考虑披露延迟)、在信号生成日使用当日收盘价计算但次日开盘买入的错位、以及除权除息数据未做前复权处理。建议用随机生成的股价序列运行同一公式,若回测结果依然表现优异,则说明公式可能依赖了未来信息或数据漏洞。