第四章 如何进行参数选择

       本章主要会介绍策略开发过程中的参数调优问题。正如策略开发之前需要先明确交易逻辑和利润来源一样。在进行策略调优的时候,我们也需要先对参数进行适当的选择。

       一个量化模型中的参数,主要分两类,一类是固定参数,一类是寻优参数。固定参数基本上是由经验值确定的,而寻优参数则是用来选择模型的。同时固定参数的选择,也约束了寻优参数的选择范围。当你的交易逻辑确定之后,模型的局部最优解的分布其实也是确定的,只要你的寻优参数覆盖了这个区间,自然就能得到你想要的那个模型。


       在进行参数寻优之前,我们首先需要明确每一个参数背后所代表的意义。然后就是尽可能对所有参数组合进行遍历,这里涉及到一个参数步长的问题。步长越小,组合越多,计算速度越慢,同时也越容易得到一些过拟合的结果。最后,也是很关键的一步,就是对所有组合结果进行评估,选出最理想的模型。

      模型评估主要参考下面几个方面:1.夏普率或者波动率 2. 年化收益和最大回撤比 3.盈亏比,或者说单次交易收益 3. 泛化能力


       还是以双均线模型为例。假设我们现在需要开发一个双均线模型。


       第一步:确定利润源,这是一个趋势策略,它的利润来源就是一波大的行情。


       第二步:确定交易逻辑,前面已经介绍了这个策略的特性,它的逻辑就是当行情发生的时候,两根均线必然先金叉。


       第三步:确定固定参数,如果你只想要一个很低频的操作,那么直接用日线数据就够了。如果你想考察更大范围的结果,那么5min或者15min的采样频率是必须的。假设这里固定参数我们选择15min。


       第四步:确定可变参数的区间,前面已经确定了采样频率为15min。假设我们想观察模型在一两天的行情到一两年的行情这个范围内的模型效果。这个条件决定了参数的上下限,15min采样,1-2天级别的行情,其均线差不多是5日均线。如果要抓住1-2年的行情,这个均线参数必须是在300日均线左右。 为了保证不错过可能的选择,我们可以把参数区间设置为[ 3 -- 350 ],


       第五步:确定参数步长,因为是双均线模型,这里其实有两个参数,最小步长是1,如果直接按照这个步长寻优,348*348/2=60552,意味着我们需要计算60552种组合,假设计算一次的时间在0.1s,那么需要花费的时间是将近1个半小时左右。考虑实际情况,参数步长并没有必要分这么细,短均线完全可以按照步长2,长均线设置为步长3,这时扫描次数就可以降到1w次左右。

       再进一步考虑这个策略的本质,当两个均线的比值在10以上的时候,其实已经是两个级别的波动了,也就是说,比如5日均线和100日均线,他们其实已经不在一个等级下。这种组合即使效果很好,也已经违背了这个策略的交易逻辑。完全可以不考虑。适当放宽下范围,如果比值大于13,不考虑。经过这么删选之后,实际我们需要的交易次数在9千次左右,是原来的七分之一。这个过程在参数多的时候特别有必要。它可以帮你节省大量的时间,快速检验模型的好坏。


       第六步:实现程序算法,并且保存每次的结果

       第七步:对运行的结果,用模型的评估指标进行删选,得到几个比较理想的参数,然后再进行样本外的测试。


待续。。。

传送门:这里是本书的开源项目地址,附带简单能用的回测框架和举例策略代码

你可能感兴趣的:(第四章 如何进行参数选择)