策略參數如何優(yōu)化?同樣的策略模型,為什么每個人的運行結果不同?

2018-10-3 / 已閱讀:2449 / 上海邑泊信息科技

程序化交易策略開發(fā)完畢,并不是就完全結束,直接投入實際操作。實際運行之前,還需要對模型策略各個參數進行優(yōu)化調整,不同的參數也會導致最后運行結果有很大差異。這就是為什么同樣的策略模型,不同人使用它的時候結果差異很大的原因之一。那么如何進行策略參數搜索優(yōu)化呢?

一個最簡單的策略模型,比如均線組合策略。它由兩個均線指標組成:MA(m),MA(n)。如果m是長周期的話,比如取值20~40,那么n則是短周期,比如取值10~20,可以設置它們步進都是1。用它們組成程序化交易均線組合策略。當MA(n)上穿MA(m)時,買平開;上MA(n)下穿MA(m)時,賣平開。這個時候可以通過使用m*n的二維參數搜索尋找在[20~40][10~20]矩形塊上的最優(yōu)收益率。如果進一步擴大這個矩形塊,或者使用其它周圍的矩形塊做搜索實驗,會發(fā)現收益率波動也存在周期性,想波浪一樣,所以在這個小矩形塊里窮舉優(yōu)化已經夠了,不需要在更大范圍窮舉。

對于簡單的策略模型,比如只有2個參數的,直接使用窮舉優(yōu)化就夠了,不需要其它特殊的策略參數搜索優(yōu)化算法和復雜計算模型架構。而很多實際運營的模型策略可能比上面這個復雜得多,比如考慮止損和止盈的時候,可能又會增加止損點x%和止盈點y%。然后也會給它們設置一個范圍,比如從1%20%,然后需要計算機執(zhí)行優(yōu)化給出一個最優(yōu)參數組合。這個時候搜索空間從2維擴展到了4維,如果仍然使用窮舉法,計算量會成指數增長。在不增加計算機資源的情況下,實際上可以采用參數分批優(yōu)化和嘗試。比如首先優(yōu)化MA(n)MA(m),選擇最有點、最差點、中間點,然后針對這三種情況,固定mn再去優(yōu)化x%y%,看看對模型指標整體收益情況有多大改善,這個時候針對x%y%的優(yōu)化則從原來的4維降到2維了。針對這個策略,對于大部分品種行情的實際結果是,設置x%y%的止損和止盈,其實對策略收益率整體幫助并不大,聽起來不錯的想法,實際當中其實沒什么用,通過嘗試后,可以將這個x%y%去掉,簡化模型為原來的2維。最后,還是簡單唯美。

有的模型策略,可能會有幾百個開關和參數,對于這種情況,也要取輕避重,除了自己明確知道開關和參數意義的以外,剩下的參數要么分批優(yōu)化,要么大部分作為基本不變的固定參數放在那里。這樣,可以將幾百維的策略空間很容易地降維到2~3維來處理。

而對于實在沒辦法分解和降維的策略模型,只能使用并行計算機加快對高維空間策略優(yōu)化的搜索速度,或者使用單純型最優(yōu)化算法、遺傳算法、人工智能神經網絡來優(yōu)化搜索最有參數組合了。而一個投入運行的程序化交易策略,可能需要每天或每周都要進行一部分參數的調整優(yōu)化,以適應市場特性的變化演化。

 

 


上一篇:跨周期策略怎么開發(fā)?如何高效運行跨周期策略?
下一篇:做股票分析的時候為什么要做除權復權處理?都有哪幾種復權?

推薦列表

返回博客