如何避免一套交易系统的过度拟合?
在期货交易中,什么叫“过度拟合”?
举个量化的例子。你建立了一套期货交易系统,你需要进行历史测试。
你的交易系统中,有一个参数。什么叫参数?比如,海龟交易法则里的突破20日的最高点开仓。这个20,就是参数。
你为什么选20?你为什么不选21,34,15或者28?
这就叫参数的选择。
所谓的过度拟合,就是你用这套策略,经过历史回测之后发现,如果我把参数变成24的话,那么我的系统,在过去的这段走势中,收益是最高的。
所以,我就采用24。我交易系统中,所有的参数,都要选历史表现最好的那个。
这就是过度拟合。
这样做的坏处是什么?因为它的效果是历史走势中最好的,但是历史走势最好,不代表未来依然会更好。可能你过了一年之后回来测试,发现现在最好的参数是32了。因为未来这一年的走势融入了历史中,改变了历史。
而如果你过度的拟合出了一个历史测试结果,比如,你发现你用100万交易螺纹钢期货的历史走势,你的最大回撤仅为10万,你的最大连亏次数仅为5次。于是,你基于这个优化过的数据来设计了你自己的仓位。
结果呢?未来的行情走势,这个参数忽然就不如想象中的那么好,节奏变了,导致你直接亏损到清盘线。
这就是过度优化的危害。
实际上,能走到优化参数的这一步的期货交易者,一般而言,不会爆仓,最大的风险是亏损超过预期,进而导致的一系列信心的挫败,意志的动摇而已。
可能偶尔还会出现几次,亏损超过了预期。
很多期货交易者都会对系统进行参数的优化,但是他们往往不知道,优化到什么程度算没有过度拟合。
实际上,我也不知道。
过度这个词,很明显,是一个没有范围的词。什么样叫做过度,这不是我能够说的算的。
那么,我采用了什么方式去避免过度拟合?
我采用的是,强行拔高,站在另一个维度来看待这个问题。
拟合,参数优化,说白了,都是些小细节。不同参数的背后,代表的是不同的盈亏比。比如,20日均线和50日均线,你承担的单次亏损额度,和在一波行情中的收入肯定都是有大小之分的。但是,行情走势是不确定的。
这一点很重要。既然我们都不知道未来行情会走成什么样子,那么,我们在这里纠结我选择哪个数字,有意义吗?你选21,你选15,你选45,这是不是拟合,这有没有过度拟合,是由未来的行情告诉我们的,我们没有办法走到未来,纠结这个就没有什么意义。
所谓期货交易大道至简的原因就在于,有些时候,你的想法必须要简单,简单到别人觉得太特么的粗暴了。
我站的维度,是直接看系统。
20日均线,和50日均线有区别。突破10日的高点,和突破20日高点也有区别,前者信号更多,止损次数更多,但是前者的入场位置可能某些时候有优势。
所谓的大参数,小参数,应该关注的重点在于,其背后所带来的交易系统的特点你能够接受,你更适合交易哪个参数。
你喜欢做短一点的趋势,你接受不了大的利润回吐,那么你就选择小参数。你不喜欢经常出信号,你想要拿超大的趋势,那么你就选择大参数。
至于小参数中,是20更好,还是18,21?纠结这些,完全没有意义。
除此之外,仓位的设计,也不应该参考所谓的历史。
有些人对策略仓位的设立,是非常的依赖其历史测试的。包括,历史最大回撤,历史最大连亏,平均亏损等等。可以不可以?可以。但是,如果处于绝对的安全角度,最好打个对折,再配合上赢冲输缩。
在期货交易中,因为走势的不确定性,仓位的管理,实际上也没有完美的方式。可能你按照策略历史回测的仓位来设计,根本一点事都没有,而且还有点偏低。但是也可能,你保守到只开一半的仓位,这个策略依然给你干清盘了。
走势的不确定性,它让一切都有可能。
一套策略,它被清盘了。它是本身有问题?那可不一定,有可能仅是因为这段时间的行情神挡杀神,佛挡杀佛,你之所以被清盘,不是逻辑的问题,是资金管理的问题。
资金管理的方式,是一个很长的话题。如果你基于对一套策略负责的角度,最好是安全垫+保守仓位+赢冲输缩。
所谓的过度拟合,其实本质就是让一个期货交易者,过分的自信了。他觉得他的策略很好,他觉得他的参数好,他觉得他的仓位好。
结果行情忽然变了节奏,把他打懵了之后走的极度流畅。这种事情说白了,根本就不可能100%解决。因为啥?
因为走势是不确定的。你做趋势,就是不来趋势。你做震荡,趋势一直不见停止,你做日内,无数杂波…
因此,我们如何尽人事?
做好资金管理规则。账户没有收益之前,尽量保守,如果保守依然还在亏,那就继续缩仓。如果你缩仓到了只开一手,依然是停不住亏损,那么,你就只能停止开敞口,或者,只能清盘。
你确保了自己的交易逻辑没问题,你的资金管理做到了极限依然止不住亏损,那么只能说,你的运气简直背到了买了10次彩票全是一等奖……
市场让我死,我不得不死。
最后,总结一下。过度拟合这件事情,没有什么标准,也没有什么好的方法。它也根本就无法彻底解决。
我建议,忘记这件事情。你要从自己执行,自己的偏好的角度来设计交易系统。如果20这个参数对于你来说很合理。那么21和18,根本就没有区别,因为你不知道未来。
如果你怕过度拟合了。那么你就把资金管理规则给设计完善了。资金管理规则完善了,你拟合没拟合都无所谓。
最大程度的不死,就更有可能盈利。