今天我们聊聊参数拟合的问题。一个模型释放一个参数,通过参数优化固然能大幅提升模型整体的绩效,因为计算机通过已有的历史数据可以精准的找到历史最佳的参数,让我们看到一个非常好的策略绩效报告,那么通过这种参数优化出来的绩效未来的适应性如何?没人知道。这个问题也一直困扰着我,我尝试过一些方式来弱化这种参数拟合现象。
上面已经简单的描述了参数拟合的现象——电脑通过已有的历史数据可以精准的找到历史最佳的参数,下面我们来看一个例子:
有时候我们希望模型的一些出场在超买超卖非常好的点位出掉,可能这个图看在RSI指标达到了70超买后平仓出场的效果比较不错。
我们再看一个图:
如果单纯的只用一个RSI超买超卖就出的话,这两笔信号可能根本没法把这两波趋势拿到最后。当然我们做参数优化时,计算机会告诉我一个RSI的值这个值肯定会兼顾上面两张图的信号,可能既让我们在第一张图出场几笔,也能让第二张图的信号的这波趋势全部拿住。让整个的策略绩效报告会比较好看,但是未来的适应性如何呢?
参数拟合主要是计算机能通过历史数据找到最精确的指标数值,让整个绩效报告变的更好,哪怕这个指标值稍微变大或者变小一点绩效报告可能都会变差很多,那么未来不确定性的数据,稍微发生一些偏差,我们实盘的绩效就会跟我们测试历史数据绩效报告差距很大。
想要尝试弱化参数的话,我们优化确定的参数能否变成一个区域数据带(让这个参数变的不那么灵敏)或者这个具体的RSI值能否降低,譬如优化的值是70绩效报告最好,有没有办法把它降到60?
想要解决这些问题,我们需要回到问题的出发点,我们使用这个RSI指标的初衷是什么?是否是想通过RSI指标找到一些敏感的区域,遇到这些区域的时候可以考虑让持有的仓位出的灵敏一些。这个是初始的想法,那么想试图弱化RSI指标参数,就需要让RSI指标在模型的整个结构里面起到的作用弱化。
对于RSI指标如果希望能降低它的值,譬如降到60,那么能否把这个区域60到100的区域分成几部分,譬如60-70、70-80和80以上三个区域分别是区域一区域二和区域三,这三个区域的强弱是不一样的,可能区域一的超买强度没那么强,而区域三是最强的。
当RSI指标值超过60以后,只是告诉模型已经进入这种敏感区域了,最终能到达那个区域不知道,但是细分这三个区域到达区域一时,是否可以设置它的出场条件相对其他两个区域最迟钝的,让它没那么容易出,而到达区域三时让它的出场条件最灵敏最容易出场。
我试过这种方式在模型里面可以起到一定的作用,去弱化模型里面的一些比较重要、敏感的参数,让模型绩效受这些参数的影响减小。
至于迟钝或者灵敏出场的方式,我习惯用级别来划分,最简单的就是不同周期K线,如上图一分钟、三分钟和五分钟周期,同样的指标在这三个周期的级别是不一样的,一分钟周期最灵敏五分钟周期的指标最迟钝。
更多量化实战技巧,
欢迎加入9月【MC进阶班】线上课程,
与资深讲师交流学习!
▼
开
通
服
务
▼
扫码立即开通