完全利潤和滾動視窗測試
小弟汗顏,開發策略過了兩個月,仍然沒有找出能勇敢上線實測的策略。不過目前倒也能同時用四個策略(理論上應該是N個都行)配合下單大師萬用API下模擬單,下單大師皆能正確收到訊號。小弟不喜歡發閒聊文或賣文章來賺錢,如果覺得這篇有幫助的人就自由樂捐囉,感恩{:4_90:}
目標是希望有一天能賺到1000元來看comewish大那篇1000元的文章啦{:4_186:}
完全利潤的想法是在交易策略評估與最佳化中看到的,其實Quantitative Trading Systems中也有提到。
這邊小弟用ZigZag的作法來回測,得到完全利潤的回測結果。效果如下:
SetPositionSize(1, spsShares);
PricePoint=C;
//Percentage=Optimize("Pct", 1, 0.5, 5, 0.1);
Percentage=1;
Loop=Optimize("Loop", 1, 1, 1, 1);
Z=Zig(PricePoint, Percentage);
Buy=Z<=Ref(z,1) AND Z<=Ref(Z,-1);
Sell=Z>=Ref(z,1) AND Z>=Ref(Z,-1);
Short=Sell;
Cover=Buy;
Plot(Z,"Z", colorRed,styleLine);
PlotShapes(shapeUpArrow*Buy, colorBrightGreen);
PlotShapes(shapeDownArrow*Sell, colorRed);
_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();
要注意的是ZigZag是用百分比來判斷高低點,這邊我是設定1%。
還有ZigZag有參考未來價格,不要用來寫交易訊號。
下一篇回文會來談滾動視窗測試,待續.... Amibroker並沒有設計所謂的滾動視窗測試功能,一開始我也是呆呆的自己手動一段一段測試。
後來突發奇想,可以利用Walk Forward Optimizer這個功能來替代,自動的產生滾動視窗測試結果。
你可以把設定設成這樣:
注意到了嗎,這樣子設定就可以讓IS和OOS的測試隔距剛好錯開,而自動產生間隔一年的回測結果,而不需要手動一個一個測試。
另外眼尖的人應該有發現,我在上一篇文中的程式碼有一行:
Loop=Optimize("Loop", 1, 1, 1, 1);
這是因為要執行Walk Forward Optimizer功能必需至少要有一個需最佳化的參數,但我在這裡並沒有要做最佳化,所以設了一個Loop來假裝。
另外關於使用推進最佳化的問題,我目前還沒有找到適合的方法來使用,最大的問題是目標函數的設定,所以暫時先不去處理它。
光是滾動視窗測試就讓我發現我的策略非常的脆弱{:4_176:}。
為什麼這裡我要把完全利潤和滾動視窗測試合在一起講呢,我在下一篇回文會來討論兩者做出來的結果,待續......... *
大大真的很精通 amiBroker {:4_113:}
小弟汗顏,開發策略過了兩個月,仍然沒有找出能勇敢上線實測的策略。不過目前倒也能同時用四個策略(理論上應該是N個都行)配合下單大師萬用API下模擬單,下單大師皆能正確收到訊號。
GnuHomot 發表於 11-12-6 09:08 PM http://www.coco-in.net/images/common/back.gif
沒問題的啦! {:4_113:} 忘了說,我是用Amibroker 5.40。
我把測試條件設定為小台,一口,本金50萬,資料有經過Back Adjusted,測試結果的截圖如下:
這是利用ZigZag做出來完全利潤回測的結果。
本來我在開發策略時,總是一廂情願的想要回測結果每一年的績效都有穩定%數成長,但是現在看了這張圖才覺悟,每一年的行情都不一樣,尤其是2003,2005,2006,2010這幾個年份,和其它年份相比,完全利潤算出來就已經不如人家了,還想要靠策略來達到相同的績效可以說是難上加難。
因此想要達到每年穩定的績效,大概還是得走多商品的路線,單一商品多策略可能都很難做到穩定,因為行情就是只有這樣,可惜對本金不足的我來說還是很大的一個障礙。
也許只是野人獻曝,使用Amibroker的朋友一起來討論吧 zig zag 是一位著名的基金經理人所開發的,我想應該是波段比較適合 回復 6# brucewang
哈,那可能我誤用了,我在這邊只是用來抓出完美的高低點做回測用。 寫策略自然是越賺錢,期望值越高的策略越好,可是我用了一堆沒人看得上眼普普通通的策略,還真的有小賺一些些,不同方向的思考,参考看看吧!! 寫策略自然是越賺錢,期望值越高的策略越好,可是我用了一堆沒人看得上眼普普通通的策略,還真的有小賺一些些, ...
trade888 發表於 11-12-7 10:06 AM http://www.coco-in.net/images/common/back.gif
你已經反樸歸真了嗎? 沒有看到你運用資金管理的公式還真可惜,你好像只短短記錄了兩個月就沒記錄了。 小弟汗顏,開發策略過了兩個月,仍然沒有找出能勇敢上線實測的策略。不過目前倒也能同時用四個策略(理論上 ...
GnuHomot 發表於 11-12-6 09:08 PM http://www.coco-in.net/images/common/back.gif
我那篇文章和程式交易沒有什麼關係,如果你是走程式交易的話,對你應該是沒什麼幫助。 本帖最後由 GnuHomot 於 11-12-7 10:42 AM 編輯
寫策略自然是越賺錢,期望值越高的策略越好,可是我用了一堆沒人看得上眼普普通通的策略,還真的有小賺一些些, ...
trade888 發表於 11-12-7 10:06 AM http://coco-in.net/images/common/back.gif
我目前手上回測最好的系統也只是最簡單的N-bar break,多空直接反手,加上資金控管後回測可以得到爆炸性的績效。不過我對自己使用的參數有最佳化的疑問,還是不敢直接上線,很怕一上線剛好就遇到MaxDD。{:4_186:} 我那篇文章和程式交易沒有什麼關係,如果你是走程式交易的話,對你應該是沒什麼幫助。 ...
comewish 發表於 11-12-7 10:19 AM http://coco-in.net/images/common/back.gif
感謝C大的回覆,你的文章我從來不嫌貴,當見見世面也好{:4_82:}我還是想試著把那篇文章其中部份想法試著回測看看:) 新手請教一下,請問什麼是 ZigZag? 你已經反樸歸真了嗎? 沒有看到你運用資金管理的公式還真可惜,你好像只短短記錄了兩個月就沒記錄了 ...
comewish 發表於 11-12-7 10:17 AM http://coco-in.net/images/common/back.gif
反璞歸真? 真的是不敢當,因為操作上去年底至今完全沒有改變!
資金管理年初有提過,沒有任何變動,實單今年至今MDD=15.22, 週 sharpe ratio=2.17; 感謝分享~讓小弟增廣見聞{:4_153:}
頁:
[1]