(四)参数优化让模型达到最优

交易过程中有时会发现在一段时间内表现很好的模型,过了一段时间就好像失效了一样,这种情况是由于模型参数不再适应当前行情引起的,我们需要尽快寻找新的最优参数,而在海量的历史数据中仅凭人工去寻找如大海捞针,费时费力,机会渺茫。 "参数优化",可在指定的参数范围内让计算机很快筛选出最适合当前行情的参数。

1、案例:利用参数优化,让止损参数顺势而为

下图是沪胶品种5分钟周期下的跟踪止损策略模型的回测资金曲线。结束了小半年的单边下跌行情后,市场开始调整形态,从黄色资金曲线可清楚的看到,资金曲线在近六个月不再保持稳定上升形态,说明原来的止损价差参数已经不能适应现在的市场,模型已经失效。我们可以利用参数优化功能,对当前的参数进行优化,筛选出符合当前行情的参数组合。

下图是利用参数优化对模型的参数进行枚举和遗传后的结果,在使用新参数后,黄色资金曲线更平滑稳定,新的参数更能适应市场行情,使模型真正达到顺势而为的效果。

2、进行参数优化的操作步骤

(1)先使用枚举功能,进行大范围海选,如下图所示是如何进行枚举:

设置参数关系如何减少参数优化时间:

有些模型各个参数间有严格的逻辑管理,以下面的模型为例:

MA5:MA(C,N1);

MA10:MA(C,N2);

CROSSUP(MA5,MA10),BPK;

CROSSDOWN(MA5,MA10),SPK;

AUTOFILTER;

模型中的两个变量必然遵循一大一小规则,这样的模型我们可以首先为他们设置参数关系,如N1<N2,这样在优化时,所有比N2大的N1值都不用参加计算,运算量可以减少1/2.这样每配置一个参数关系,计算次数就减少一半;配置4个,就减少到原来的1/16,以此类推,有效减少了参数优化时间。

如下图所示,软件正在进行枚举参数优化,为您筛选最优参数配置。

(2)参数优化计算完会以排序的方式显示优化出来参数组(如下图所示),按照下图步骤完成参数组的保存后,点击“关闭”按钮即可。

(3)结束枚举后,点击保存好的“优化参数组1/2/3/4”,准备进行遗传(如下图所示)。例如,刚才我们将枚举优化的结果保存到了“优化参数组1”中,现在,我们就切换到“优化参数组1”,再点击【遗传】按钮,对上次枚举的结果进行遗传。

(4)如下图所示设置好优化的精调范围,参考标准的比重后,点击“确定”按钮,开始进行精调。

(5)按照和枚举同样的方法来保存精调后的结果,以便进行回测(如下图所示)。

(6)如下图,选择保存好的“优化参数组1/2/3/4”,点击【用新参数重新测算】,新的参数组计算的结果就会显示在“分析报告”中了。

相关常见问题解答

1、为什么有“枚举”和“遗传”两种参数优化方式,原理是什么?

答:枚举是在每个参数最小值与最大值之间抽选几个效果最好的参数值,是对参数的初步海选;遗传是在枚举好的参数值基础上进行微调,让参数达到最优。
(1)枚举:
根据设置的"步长"挑选出所有满足条件的参数,进行全排列,在其中挑选出最优参数值。
(2)遗传:
使用枚举得到的参数组,按步长1上下变动每一个参数,分别与剩余参数组合找到最优参数组。

2、参数写在模型源码中和写在参数列表中有什么区别?

答:两者对模型的运行没有区别,但参数列表中的参数可进行参数优化,写在源码中的参数则不能。

3、参数优化页面上的参考标准表示什么含义?

答:参考标准是用于投资者在参数优化后,根据个人的分析需求对各项指标按权重划分,对优选出的参数进行排序显示。权重数值大小根据个人偏好来设置,可以对关注度高的指标设置大一点的权重。比如,设置总盈利率权重为60,平均盈亏为40,优化后的参数组将按照总盈利率排名*60%+平均盈亏排名*40%的加权排名来排序显示。