Saturday, September 05, 2009

參數最佳化是否能提昇你未來獲利的績效

參數最佳化是否能提昇你未來獲利的績效: "


網路上一位小肥牛朋友,利用了Lars Kestner在Quantiative Trading Strategies這本書裡面的方法,來探討了參數最佳化的程序。我覺得寫得真好。所以轉貼給大家參考一下。原文出處是:http://tw.myblog.yahoo.com/futurex168/article?mid=37&prev=-1&next=26




另外,小肥牛網友也對小弟之前的一篇文章'一定要堅守交易系統的訊號嗎?(Trade Equity Curve)'作了一些分析,指出了小弟之前考慮未周詳的地方。大家也可以參考一下:


http://tw.myblog.yahoo.com/futurex168/article?mid=26&prev=37&next=14




下面是轉貼的原文:


=====================================================




在程式交易中,最佳化參數是乎是必要的惡,一個程式策略的產生,必定會用歷史資料去檢測這個策略的可行性,在檢測的過程中,很難不會作參數最佳化,希望能由過去的歷史資料,歸納出市場的趨勢特性與參數,而能在未來的市場中獲利。



當然我們都知道,過去的最佳化參數,並不能代表未來會有最佳的獲利,但也不能排除最佳化參數完全有可能提昇未來的績效,對同一策略而言,若是一組參數在過去歷史的績效比較好,另一組參數在過去歷史的績效比較差,在沒有其他的輔助訊息下,應該都會選績效比較好的參數。



因此,我們不一定要排斥參數最佳化,而是要問,參數最佳化是真的可以提昇未來的績效,還只是過度的curve fitting,造成績效的假象,一般來說,要避免 curve over-fitting 的問題,通常是看是否為參數孤島,可參考藍色投機客的文章(http://tw.myblog.yahoo.com/Blue-Speculator/article?mid=966&sc=1),另外,利用 Walk forward Backtesting (http://tw.myblog.yahoo.com/Blue-Speculator/article?mid=702&sc=1) 也是一個不錯的方法。



在這一篇文章中,我們從另外一種分析方法,來探討參數最佳化是否能提昇你未來獲利的績效,假設我們有十組參數,經過backtesting,一定可以排出第一名到第十名,但是第一名的參數,是不是在未來還會是第一名呢? 因此我們可能不止看每個參數最後績效的總排名,我們可能也要看每一年的排名。



若是每一年,這組參數都是第一名(超級資優生),我們大概可以有很高的期望,明年還是會考第一名。 但若是今年第一名,次年第5名,再次年最後名,後來又回到第2名,即使最後總排名是第一名,我們對它在明年的表現還是會有比較多的疑慮。因此我們要檢測我們的系統是屬於前一種,還是後面這一種。



概念講完了,在來說明如何量測,基本上是參考 Lars Kestner 在 Quantitative Trading Strategies (中譯本:計量技術操盤略)中衡量最佳化程序的方法,方法是將每一年最佳化績效的排名與下一年的排名,排成一個 array,如1990年排名第三,1991年排名第八,就在 (3,8) 標一點,標示所有年份與所有參數的組合後,我們可以判斷今年與隔年表現,利用迴歸分析,檢測是否存在線性關性。 若是45度斜上表示最佳化參數一致性,今年第一名的績效,次年還是第一名,今年最後一名的績效,次年還是最後一名,表非「參數最佳化非常有助於隔年的績效」,若是近於水平則表示參數最佳化沒有助於隔年的績效,另外若是一由左上到右下,表示去年最差績效的參數,在今年表現反而不錯,這種參數不一致的現象,可能要特別小心,可能要檢討策略與參數的關係。



接下來,我們以一個實例來說明,使用的是 YG (小黃金) 過去7年的資料(2002/7-2009/7),time frame = 30 min,策略是用 Price Channel Breakout (http://tw.myblog.yahoo.com/Blue-Speculator/article?mid=1584&l=d&fid=7),參數 Length 從102 - 198,間格為 4,共 25 組,我們記錄每一個參數在每一年與次一年的績效排名,可以得到下圖的結果,經過迴歸分析,可得到紫紅色的迴歸直線,slope=0.188,相關係數也是 0.188,在檢測上是為顯著,代表這個策略的最佳化今年績效與次年績效有一定的相關,因此最佳化在某種程度上有助於未來的績效。




另外,我們將每一個參數的歷年的平均排名(藍線)與歷年的獲利(紫紅線)畫成下圖,從這個圖來看,參數 180 附近是最佳的參數選擇,因為這個區域有最佳的獲利,而且是一個參數高原,另外歷年的平均排名也是相當低,表示每一年都考前幾名的次數比較多。




基本上,經過上面的分析,我們可以知道參數最佳化對策略的影響,並且由歷年的績效排名,在選擇參數上,有更客觀的參考,但最後還是要提醒大家,所有這些都只是過去歷史資料的統計分析,「在統計上過去的最佳的投資策略,還是不能代表未來會有最佳的獲利」,我們將平均排名前三名與平均排倒數第二名(第24名)的過去7年的排名畫出。




我們可以看到前三名在2003-2005表現都非常好,但在2006年表現都是20名以上(倒數5名內),反而倒數第二名在2006年表現是第一名,但在其他年的表現卻不是很好,歷年資料的分析,只能給我們一些客觀統計數字,但也不能完全規避市場風險。




"

No comments: