您现在的位置:程序化交易>> 程序化交易>> 程序化新手>>正文内容

文华WH8“枚举”和“遗传”两种参数优化方式有什么区别和作用[程序化新手]

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

答:枚举是在每个参数最小值与最大值之间抽选几个效果最好的参数值,遗传是在枚举好的参数值基础上进行微调,让参数达到最优。
原理:假设有两个参数N1,1,10,缺省值是1
N2,3,20,缺省值是5
枚举:除去最小值和最大值,根据设置的"步长"挑选出所有满足条件的参数,进行全排列。 
1、如果缺省值不在挑选出的参数内,则总次数为:全排列次数+缺省值的计算次数 
2、如果缺省值在挑选出的参数范围内,则总次数为:全排列次数
以上面的参数为例:
如果步长设置为2 
则根据步长为2,筛选出的N1的值为:3(1+2)5(3+2)7(5+2)9(7+2);筛选出的N2的值为5 7 9 11 13 15 17 19 ,每个参数的最大最小值不取。
总次数的计算:
C1=N1参数与N2参数的全排列=4*8=32 
N1的缺省值为1,不在筛选出的参数范围内,所以需要计算对该参数进行组合计算:8次(与N2筛选出的8个参数进行组合计算) 
N2的缺省值为5,已经在筛选出的参数范围内,所以不需要再计算该参数 
所以枚举的计算总次数为:4*8+8=40  {来源 www.cxh99.com }
遗传:
计算次数不定,步长默认为1,按照参考标准所占比重比较各组参数计算结果。
假设枚举后我们存入的参数组为N1=5,N2=10
默认参数组为(5,10)
固定参数N2=10,参数N1先向大的方向查找 
(6,10)>(5,10),继续向大的方向查找 
(7,10)< (6,10),再向大的方向查找,确认是否停止 
(8,10)< (6,10),确认停止 
大的方向停止,向小的方向查找 
(4,10)>(6,10),继续向小的方向查找 
(3,10)< (4,10),再向小的方向查找,确认是否停止 
(2,10)< (4,10),确认停止 
确定参数N1=4,为最优参数,参数N2像大的方向查找 
(4,11)<(4,10),再向大的方向查找,确认是否停止
(4,12)>(4,10),找到了更大盈利率的参数,继续向大的方向查找
(4,13)< (4,12),再向大的方向查找,确认是否停止
(4,14)< (4,12),确认停止
大的方向停止,向小的方向查找
(4,9)< (4,12),再向小的方向查找,确认是否停止
(4,8)< (4,12),确认停止 
{来源 www.cxh99.com }
新的参数组确认为(4,12)
重复上述步骤,固定参数N2=12,参数N1向大的方向查找 
(5,12)>(4,12) ,继续向大的方向查找 
(6,12)< (5,12),再向大的方向查找,确认是否停止 
(7,12)< (5,12),确认停止 
大的方向停止,向小的方向查找 
(3,12)< (5,12),再向小的方向查找,确认是否停止 
(2,12)< (5,12),确认停止 
确定参数N1=5,为最优参数,参数N2像大的方向查找 
(5,13)<(5,12),再向大的方向查找,确认是否停止 
(5,14)< (5,12),确认停止 
大的方向停止,向小的方向查找 
(5,11)< (5,12),再向小的方向查找,确认是否停止 
(5,10)< (5,12),确认停止 {来源 www.cxh99.com }

得到新的参数组(5,12)
重复上述步骤,固定参数N2=12,参数N1向大的方向查找 
(6,12)< (5,12),再向大的方向查找,确认是否停止 
(7,12)< (5,12),确认停止 
大的方向停止,向小的方向查找 
(4,12)< (5,12),再向小的方向查找,确认是否停止 
(3,12)< (5,12),确认停止 
确定参数N1=5,为最优参数,参数N2像大的方向查找 
(5,13)<(5,12),再向大的方向查找,确认是否停止 
(5,14)< (5,12),确认停止 
大的方向停止,向小的方向查找 
(5,11)< (5,12),再向小的方向查找,确认是否停止 
(5,10)< (5,12),确认停止 

确定最优参数组为(5,12)

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198   点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容