本文来源于量化小论坛策略分享会板块精华帖,作者为°Robbit,发布于2026年1月18日。
以下为精华帖正文:
01
仙丹 or 魔丸
如果你有一粒神奇的药丸,你以为它能让你变得超级厉害,结果吃下去才发现它其实会让你生病,你会不会很失望?在交易的世界里,很多新手朋友也常常遇到这样的“药丸”。
有些策略看起来非常厉害,在历史数据测试中赚了很多“模拟钱”,就像一颗闪闪发光的“仙丹”,让人以为找到了永远赚钱的秘密。但当我们真的用它拿真钱去交易时,它却可能突然失效,开始不断亏钱,变成了一颗带来麻烦的“魔丸”。
发生这种情况的原因可以有很多:“未来函数”、“过拟合”和“执行异常”等等。正因为问题很多,所以对缺少阅历的新手小白来说很迷茫:大佬说策略失灵了,啥时候失灵的?大佬的策略跟我的差不多,为什么赚的比我多这么多?
往往大家都知道失灵了,往往实盘亏钱了,才后知后觉地喊:“啊,它失灵了!”那样就太晚了。我们需要一个像“健康监测仪”一样简单又聪明的办法,能早早发现策略“生病”的苗头。这篇帖子的目的就是实现:只需要策略每天赚了或亏了多少钱这一条曲线(资金曲线),就能监控策略,预警失灵与否!
02
科学标准,破除伪装
接下来是本贴的重头戏,围绕策略净值曲线,业界和学界有一系列的统计学方法评估“回测”与“实盘”的差异性。
首先,采用模拟实验的方法介绍这些评估方法。
我们构建了一个虚拟策略净值曲线,具体表现如下(似乎一眼看不出太多异常):
如果我们统计了“回测”和“实盘”的收益率分布图,可以发现两者差异还是比较显著的,“实盘”的波动更大。
接下来,应用不同统计学方法,评估这个虚拟策略。大家不要害怕,数学原理不重要,重要是看懂图表,理解指标含义。
KS检验:队形检察官
KS检验的做法是让回测时期的“每日盈亏”排成一队,再让实盘以来的“每日盈亏”排成另一队。
他不关心每天具体赚了或亏了多少钱,而是仔细比较这两支队伍的“整体队形”和“高矮分布”是否一致。
图中绿色部分就是KS检验中找到的“回测”与“实盘”的收益率,在“整体队形”中差异最大的点。基于这个点进行假设检验,去评估这么大的差异“正常”么?得到的p值=0.0026,说明发生这种事情的概率只有0.26%,那属实不太“正常”。
KS检验说明了,这个虚拟策略的实盘表现已经偏离了回测表现!
KL散度与Wasserstein距离
如果说KS检验只是大致扫一眼看看两兄弟长得像不像,KL散度是细致入微地把队形里所有的不协调用小本本记录下来,不合理的地方加分,合理的地方扣分,偏离越多记分越多,最后计算总分,总分越多,说明“实盘”越来越偏离“回测”。
Wasserstein距离更像个强迫症,他不仅要发现“回测”和“实盘”两者之间的差异,还要想办法用最高效的方法,把“实盘”复原成“回测”,不仅形态要一样,绝对的涨跌幅也要一样。
由于KL散度和Wasserstein距离是两个统计口径,所以一般是以“回测曲线”为基准,滚动观测两个指标的变化。
如下图所示,滚动50天的KL散度随着时间迁移先涨后跌再涨回高位,说明“实盘”持续偏离“回测”;
滚动50天的Wasserstein距离随着时间迁移先跌后涨,后期形态跟KL有点相似,也说明“实盘”持续偏离“回测”。
夏普比率检验:绩效教练
如果说上面的三项指标都太抽象,太数学,那么基于夏普比率的假设检验就比较为各位老板熟悉了。
先让我们复习一下计算公式:
夏普比率=(策略的平均收益率-无风险利率)÷策略收益的波动幅度,说明你承受一单位风险能收获多少超额收益。
这个方法就很简单,我们主要做的就是对“回测曲线”和“实盘曲线”的夏普比率进行检验。
如果两者一致,说明策略业绩水平不变,涨幅的减少只是伴随着市场波动的减小,并不是因为策略失灵;
如果两者不一致,说明在实盘过程中,为了达到与历史回测一样的收益,要承担更大的风险,策略可能失灵了!
下图是夏普比率检验的结果,大家只需要看右图即可。
右图呈现的是,在95%概率下,“回测”与“实盘”的夏普比率应当是怎么分布的,蓝色部分基本在0以上,橙色部分基本在0以下,说明“实盘曲线”的夏普比率远低于“回测曲线”,策略可能失灵了!