有客户问如何才能防止自己优化的参数不是过度优化了,以前只说过单量要保证不偏离,今天针对这个问题详细说一下我的一些看法。

ea优化并不是很难的工作,设置好参数区间让他跑起来就可以,现在拿常用的两种优化方式说一下:

第一种:全时间优化,比如有10年数据,就10年数据做优化,比较费时间,有些ea可能连续跑几周才出来结果,也有单参数,部分参数分段跑的,能省一些时间。这种优化方式比较让人产生过度优化的想法,我一直参考数据就是单量,只要单量不低,相当于样本内数据够多,就有一定数量的数据支撑,不存在过度优化。这个单量数据也要看策略本身,也有个大概的数量,比如针对一般策略十年单量至少超过1000单,再低除非是自己对策略有着很深的了解。

比如昨天收到一个策略作者默认参数回测十年3000多单,但是盈利比、预期盈利很差,然后跑优化一晚上出来下面这些高盈利比和高预期盈利结果,但是单量都成了500-700左右,这种就可以说过度了,包括每个月统计很多没有单子,这样就失去了意义。抛开过度优化不说,ea行业单量过少,大多数人还是接受不了。

 

第二种:拿出部分时间段做优化,其他当成样本外测试验证,比如有10年数据,选择其中的2-5年数据做优化,出来的参数再去回测下其他时间段,看看适应能力如何。这种优化方式单次操作省时间,因为有样本外数据做验证能避免过度优化,但也要注意单量不能偏离太多。缺点就是很多时候跑出来的参数并不能适应其他时间段,这个不适应就是说明那段时间过度优化了,要找到样本外也能适应的参数也是个技术活。