如何防止过度拟合

  
 
  量化买卖建模最重要的一个方面是防止过度拟合。过度拟合是计算学和机器学习范畴的概念,指的是模型在练习数据中拟合程度很好,但在测验数据中表现却不如人意。
 
  一.过度拟合的影响
 
  传统的机器学习问题,此类过度拟合的不会很明显。比方关于分类问题,一般练习集准确度99%,测验集即便过度拟合也有95%,这其实影响并不会很大。可是关于金融数据而言,因为数据的高噪音及时间序列特征,练习数据和测验数据往往会有较大差异,假如建模进程不是很谨慎,很简单呈现严峻的过度拟合现象,成果便是样本内安稳挣钱的战略,到了样本外就安稳亏钱。
 
  二.如何防止过度拟合
 
  防止过度拟合的思想需求贯穿在量化建模的整个进程中,每一个步骤都需求遵从客观谨慎的准则。一个好的量化买卖建模体系,必须能较好地战胜过度拟合的状况,使得量化研讨人员按照整个研发流程走下来得到的战略,就能够很好地防止过度拟合。根据我们的经验,能够通过以下几点来完成:
 
  1.保证必定的买卖次数
 
  关于商品期货战略,假如分品种进行回测,部分不活泼品种或许一年都没有20次买卖,几年下来总的买卖次数不到100次,这样就难以构成计算意义,十分简单过度拟合。假如是套利类战略,持仓时间更长,或许一年才几回买卖,成果的牢靠性就更加存疑了。因而,关于这种状况,有必要多品种一起回测,添加战略的买卖次数,一般有300次以上的买卖次数才能比较好地证明战略有效性。
  2.保证必定的平均利润
 
  有些战略虽然买卖次数多,作用也不错,可是平均利润过低,实盘买卖中假如受到滑点的影响,很或许从安稳盈余变成安稳亏本。因而,需求保证必定的平均利润,最好有10倍买卖价差以上,才能更好地防止滑点带来的影响。
 
  3.防止重复使用测验数据
 
  一般来说测验数据只使用一次才是最准确的,不然,重复使用测验数据也会导致过度拟合的问题。即便建模后进行模仿买卖,中低频一个月也没有许多买卖,很难点评战略的好坏。因而,只能在建模中保证进程的谨慎性,保证有1、2年彻底样本外的测验数据,最终的成果才会实在牢靠。
 
  三.如何进步模型质量
 
  当然,许多过度拟合的状况之所以会发生,是因为研讨进程中难以得到令人满意的成果,比方正常套路建模得到的战略在样本外总是表现欠好,很难得到样本外表现好的战略,久而久之,只好把样本外的数据放到样本内进行优化,才能得到好的成果。或者说买卖次数多了平均利润就少了,两个条件无法一起满足。为此,我觉得有如下几个办法能够进步模型质量:
 
  1.进步因子质量
 
  因子是建模的根底,假如因子质量太差,无论模型再复杂,也无法得到好的成果。因而,能够逐个调查因子的质量。例如用单个因子建模,看是否会呈现过度拟合的状况。正常来说,单个因子是结构最简单的模型,不会过度拟合的。假如单个因子建模质量不佳,说明这个因子或许只是随机噪音,能够及时剔除,不用放入模型。
 
  2.优化挑选规范
 
  在样本内挑选战略的时分,不用设置太严苛的规范。假如规范太严苛,反而会过度拟合到样本内的数据,许多时分无法泛化到样本外。并且,当个品种的战略与品种走势高度相关,假如品种走势不抱负,战略长时间不盈余反而是正常现象,假如非要选择在不利行情都能表现好的战略,那么就大大添加了过度拟合的危险。
 
  3.添加战略多样性
 
  金融市场有句话说“曩昔的成绩不代表未来”,那么放到战略上便是“曩昔好的战略不代表未来还会好”。曩昔的出资组合理论喜爱用均值方差模型,但困难在于收益均值很难预测。因而,最近几年人们逐渐使用危险平价模型来代替。在选择战略的时分,不用对过往成绩做出过于严苛的规则,不然简单得出相关性极高的战略。能够从各个维度来挑选战略,添加战略多样性。
 
  4.金融数据的时间序列特征
 
  因为金融数据的时间序列特征,建模的时分最好采纳翻滚向前的办法。为了保证练习集有满足的买卖次数,练习时间也要满足长。假如测验成果对练习、测验集的划分过于灵敏,很或许是长度不行买卖次数不行导致的,这些都要小心。
 
  综上所述,金融量化建模需求建立谨慎的研讨框架,从因子构造到出资组合优化整个流程都需求时间防止过度拟合,这样最终的成果才会更为牢靠。