第三章 策略鲁棒性定义:过拟合、样本外测试、夏普比率与卡玛比率
各位同学,今天我们来聊聊策略鲁棒性。这个词听起来挺高大上,说白了就是——你的策略在实盘里还能不能赚钱?
我见过太多策略,回测曲线漂亮得像艺术品,一上实盘就崩。为什么?因为策略不够鲁棒。鲁棒性,就是策略面对未知数据时的生存能力。
3.1 过拟合:回测的美丽陷阱
过拟合是什么?我打个比方。你让一个学生死记硬背了100道题的答案,考试时题目稍微变一下,他就懵了。策略过拟合也是这个道理。
量化交易里,过拟合就是策略过度适应历史数据,把噪音当成了信号。我在2018年做过一个统计套利策略,参数调了整整两周,回测夏普高达3.5。结果呢?实盘一个月亏了15%。
为什么会这样?因为我把历史数据里的随机波动都拟合进去了。市场稍微换个走法,策略就失效。
过拟合的典型特征:
- 回测收益极高,但样本外测试收益骤降
- 策略参数极其敏感,微调就变脸
- 交易次数过多,频繁进出
- 策略逻辑复杂,规则堆砌
我个人习惯用「参数稳定性测试」来检测过拟合。具体做法是:把参数范围扩大10倍,看策略表现是否稳定。如果参数稍微一动收益就跳水,那基本可以判定过拟合了。
避坑指南:我曾经犯过一个低级错误——用全量历史数据做回测,然后反复调参直到收益满意。这其实是在「数据窥探」,相当于作弊。正确的做法是:把数据分成训练集和测试集,训练集上只调一次参数。
3.2 样本外测试:验证策略的试金石
样本外测试,就是把一部分数据藏起来,等策略训练好了再拿出来检验。这就像考试前的模拟题和真题——模拟题做得再好,也得看真题成绩。
我建议把数据按时间顺序分成三份:
| 数据集 | 占比 | 用途 |
|---|---|---|
| 训练集 | 60% | 策略开发、参数优化 |
| 验证集 | 20% | 参数微调、模型选择 |
| 测试集 | 20% | 最终验证、评估鲁棒性 |
注意,测试集只能使用一次。如果你在测试集上表现不好就回去调参,那测试集就变成了训练集的一部分,失去了验证意义。
嗯,这里有个细节很多人忽略:样本外测试不仅要看收益,还要看最大回撤、胜率、盈亏比等指标。我见过一个策略,样本外收益不错,但最大回撤从10%飙到了35%,这种策略你敢用吗?
实战技巧:做样本外测试时,可以尝试「滚动窗口测试」。比如用过去3年数据训练,测试接下来3个月,然后窗口向前滚动3个月,重复这个过程。这样能模拟策略在不同市场环境下的表现。
3.3 夏普比率:收益与风险的平衡尺
夏普比率,量化圈里最常用的风险调整后收益指标。公式很简单:
夏普比率 = (策略收益率 - 无风险利率) / 策略收益率的标准差
说白了,就是每承担一单位风险,能获得多少超额收益。夏普比率越高,说明策略在同等风险下赚得越多。
我个人对夏普比率的看法是:大于1算及格,大于2算优秀,大于3要警惕。为什么大于3要警惕?因为这种策略往往存在过拟合或者数据泄露的问题。
举个例子,我2019年回测过一个高频策略,夏普比率高达4.2。当时我兴奋得不行,结果仔细一查,发现代码里用了未来函数——用当天的收盘价做了买入信号。这种错误,新手常犯。
夏普比率的局限性:
- 假设收益服从正态分布,但实际收益有肥尾特征
- 对上行波动和下行波动一视同仁,但投资者更厌恶下行风险
- 无法区分策略的收益来源是运气还是能力
3.4 卡玛比率:更关注回撤的指标
卡玛比率,可以理解为夏普比率的「回撤版」。公式是:
卡玛比率 = 年化收益率 / 最大回撤
你想想看,夏普比率用标准差衡量风险,但标准差把上涨的波动也算作风险。而卡玛比率只关注最大回撤,更符合我们实际交易中的感受——亏钱才是真风险。
我更喜欢用卡玛比率来评估策略。为什么?因为最大回撤是实打实的亏损,你账户里的钱少了就是少了。标准差再大,只要不亏钱,心态就不会崩。
一般来说,卡玛比率大于1算不错,大于2算优秀。如果一个策略年化收益20%,最大回撤10%,卡玛比率就是2。这个水平,在量化圈已经算中上等了。
我的经验:评估策略时,我会同时看夏普比率和卡玛比率。如果夏普比率高但卡玛比率低,说明策略虽然整体波动小,但偶尔会有大回撤。这种策略,仓位管理要格外小心。
3.5 知识体系框架
下面这张图,是我梳理的本章知识体系。你可以看到,策略鲁棒性不是单一指标能衡量的,需要从过拟合检测、样本外验证、风险调整收益等多个维度综合评估。
你看,这三个模块是环环相扣的。过拟合检测是第一步,样本外测试是第二步,风险调整收益指标是第三步。跳过任何一步,评估都不完整。
最后提醒一句:不要迷信任何一个指标。夏普比率高不代表策略好,卡玛比率低也不代表策略差。关键是要理解每个指标的局限性,结合多个维度综合判断。
好了,这一章的内容就到这里。记住,策略鲁棒性不是靠一个指标就能衡量的,它需要一套完整的评估体系。下一章,我们会深入讨论如何在实际开发中应用这些概念。