文華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.tumamayizhan.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.tumamayizhan.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.tumamayizhan.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 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容