-
量化的实盘效果为什么总是不如回测?
止一之路 / 2017-07-01 08:26 发布
我们常常可以看到,回测的结果往往很好,但是实盘的效果却没有那么好。
到底是什么原因呢?
有人归因于策略知道的人多了。
确实是存在这样的情况,毕竟大家都使用同一种策略的情况下,对手盘就少了,滑点更高了,买入时候的价格更高,卖出时候的价格更低。
但一个自己开发出来的策略,没有人知道买卖的逻辑,实盘效果却也常常也不如回测的结果,这又到底是什么情况呢?
稍微懂点量化知识的人应该会站出来:这明显是过度拟合了嘛,为了回测效果好看,把参数调整到最优。
这一句话,咋一看挺有道理的,但其实是把参数调优和过度拟合混淆了。
1 参数调优
我们的交易模型,会有很多参数。
以我在文章《投资10年300倍,你也可以。》中的动态多因子策略为例,其中二八择时就涉及到指数、对比时间、突破涨幅几个参数。
指数可以选择:沪深300、上证50、中证500、中小板指R等等
对比时间可以是:20天、30天、60天等等
指数需要突破的涨幅可以是:0%、1%、2%等等我们将这些参数进行组合调整,让回测效果达到最优的过程,其实就是参数调优。
我们在寻找最优参数的时候,其实是寻找该参数对应的市场环境。
未来市场的情况和过去市场的情况越接近,未来的交易结果就和过去的交易结果越接近。
但是未来永远不等于过去,我们得到的结果往往也就和回测的结果不一致。
这就是为什么实盘的效果,往往要比回测效果要差的原因。
这样的情况下,我们要去调优参数吗?
答案是肯定的。
回测的结果和参数,其实是符合正太分布的。因为对于最优参数,不管是上调还是下调,回测效果都会下滑。
我们看看下图:
图片来自于《海龟交易法则》调优前是参数A,调优后是参数B。
如果实盘的效果是一个落点范围,那么参数B对应的整体效果是要好于参数A对应的整体效果的。
这也是我们要进行调优参数的原因。
2 过度拟合
过度拟合,和参数调优有点不一样。
我觉得最好的区分方式就是:策略中添加的规则对于市场是否具有普适性。
例如前面举例二八轮动择时的规则,是普遍适用于整个市场的。
分散到各个年份,我们其实可以看到跑赢指数的年份,比跑输指数的年份要多。
在这样的规则下,调整参数,达到最优回测结果效果,是参数调优。
而为了某些特定市场情况所设置的规则,只影响到几笔重大的交易,最终让回测结果显得很好看,其实是在过度拟合。
例如我在《投资10年300倍,你也可以。》策略中,所开启的“指数高低价比值止损”只触发了一次。
这一条规则很难说在未来是否仍然会触发,但是会让回测结果很好看,这就是过度拟合。
如果量化的时候,不能区分参数调优和过度拟合,我们要么就是没有调优参数,要么就是进行了过度拟合。
不管是哪一种情况,对于实盘来说,都是不利的。
文章提前发布在**:止一之路