COCO研究院

 找回密碼
 註冊
搜索
查看: 5088|回復: 14

完全利潤和滾動視窗測試

[複製鏈接]
發表於 11-12-6 21:08 | 顯示全部樓層 |閱讀模式
小弟汗顏,開發策略過了兩個月,仍然沒有找出能勇敢上線實測的策略。不過目前倒也能同時用四個策略(理論上應該是N個都行)配合下單大師萬用API下模擬單,下單大師皆能正確收到訊號。

小弟不喜歡發閒聊文或賣文章來賺錢,如果覺得這篇有幫助的人就自由樂捐囉,感恩
目標是希望有一天能賺到1000元來看comewish大那篇1000元的文章啦

完全利潤的想法是在交易策略評估與最佳化中看到的,其實Quantitative Trading Systems中也有提到。
這邊小弟用ZigZag的作法來回測,得到完全利潤的回測結果。效果如下:

擷取.PNG


  1. SetPositionSize(1, spsShares);

  2. PricePoint=C;
  3. //Percentage=Optimize("Pct", 1, 0.5, 5, 0.1);
  4. Percentage=1;

  5. Loop=Optimize("Loop", 1, 1, 1, 1);
  6. Z=Zig(PricePoint, Percentage);

  7. Buy=Z<=Ref(z,1) AND Z<=Ref(Z,-1);
  8. Sell=Z>=Ref(z,1) AND Z>=Ref(Z,-1);

  9. Short=Sell;
  10. Cover=Buy;

  11. Plot(Z,"Z", colorRed,styleLine);
  12. PlotShapes(shapeUpArrow*Buy, colorBrightGreen);
  13. PlotShapes(shapeDownArrow*Sell, colorRed);

  14. _SECTION_BEGIN("Price");
  15. SetChartOptions(0,chartShowArrows|chartShowDates);
  16. _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
  17. Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
  18. _SECTION_END();
複製代碼





要注意的是ZigZag是用百分比來判斷高低點,這邊我是設定1%。
還有ZigZag有參考未來價格,不要用來寫交易訊號。

下一篇回文會來談滾動視窗測試,待續....

評分

參與人數 3金錢 +9 收起 理由
cococharles + 2 好文
番王 + 2
kilroy + 5 發版大是個好人

查看全部評分

 樓主| 發表於 11-12-6 21:23 | 顯示全部樓層
Amibroker並沒有設計所謂的滾動視窗測試功能,一開始我也是呆呆的自己手動一段一段測試。 1.PNG


後來突發奇想,可以利用Walk Forward Optimizer這個功能來替代,自動的產生滾動視窗測試結果。
你可以把設定設成這樣:
2.PNG


注意到了嗎,這樣子設定就可以讓IS和OOS的測試隔距剛好錯開,而自動產生間隔一年的回測結果,而不需要手動一個一個測試。

另外眼尖的人應該有發現,我在上一篇文中的程式碼有一行:
Loop=Optimize("Loop", 1, 1, 1, 1);
這是因為要執行Walk Forward Optimizer功能必需至少要有一個需最佳化的參數,但我在這裡並沒有要做最佳化,所以設了一個Loop來假裝。


另外關於使用推進最佳化的問題,我目前還沒有找到適合的方法來使用,最大的問題是目標函數的設定,所以暫時先不去處理它。
光是滾動視窗測試就讓我發現我的策略非常的脆弱

為什麼這裡我要把完全利潤和滾動視窗測試合在一起講呢,我在下一篇回文會來討論兩者做出來的結果,待續.........

評分

參與人數 3金錢 +9 收起 理由
joey0415 + 2 很棒的文章,感恩!
番王 + 2
一撇木 + 5 越下面越經典~讚

查看全部評分

發表於 11-12-6 21:27 | 顯示全部樓層
*
   大大真的很精通 amiBroker
發表於 11-12-6 21:31 | 顯示全部樓層


小弟汗顏,開發策略過了兩個月,仍然沒有找出能勇敢上線實測的策略。不過目前倒也能同時用四個策略(理論上應該是N個都行)配合下單大師萬用API下模擬單,下單大師皆能正確收到訊號。
GnuHomot 發表於 11-12-6 09:08 PM


  沒問題的啦!
 樓主| 發表於 11-12-6 21:42 | 顯示全部樓層
忘了說,我是用Amibroker 5.40。
我把測試條件設定為小台,一口,本金50萬,資料有經過Back Adjusted,測試結果的截圖如下:
3.PNG


這是利用ZigZag做出來完全利潤回測的結果。

本來我在開發策略時,總是一廂情願的想要回測結果每一年的績效都有穩定%數成長,但是現在看了這張圖才覺悟,每一年的行情都不一樣,尤其是2003,2005,2006,2010這幾個年份,和其它年份相比,完全利潤算出來就已經不如人家了,還想要靠策略來達到相同的績效可以說是難上加難。
因此想要達到每年穩定的績效,大概還是得走多商品的路線,單一商品多策略可能都很難做到穩定,因為行情就是只有這樣,可惜對本金不足的我來說還是很大的一個障礙。

也許只是野人獻曝,使用Amibroker的朋友一起來討論吧

評分

參與人數 4金錢 +11 收起 理由
奶油臘腸 + 2
番王 + 2
joey0415 + 2 我想你一定可以的
kilroy + 5 讚阿~

查看全部評分

發表於 11-12-6 21:56 | 顯示全部樓層
zig zag 是一位著名的基金經理人所開發的,我想應該是波段比較適合
 樓主| 發表於 11-12-6 22:02 | 顯示全部樓層
回復 6# brucewang


   哈,那可能我誤用了,我在這邊只是用來抓出完美的高低點做回測用。
發表於 11-12-7 10:06 | 顯示全部樓層
寫策略自然是越賺錢,期望值越高的策略越好,可是我用了一堆沒人看得上眼普普通通的策略,還真的有小賺一些些,不同方向的思考,参考看看吧!!
發表於 11-12-7 10:17 | 顯示全部樓層
寫策略自然是越賺錢,期望值越高的策略越好,可是我用了一堆沒人看得上眼普普通通的策略,還真的有小賺一些些, ...
trade888 發表於 11-12-7 10:06 AM



    你已經反樸歸真了嗎? 沒有看到你運用資金管理的公式還真可惜,你好像只短短記錄了兩個月就沒記錄了。
發表於 11-12-7 10:19 | 顯示全部樓層
小弟汗顏,開發策略過了兩個月,仍然沒有找出能勇敢上線實測的策略。不過目前倒也能同時用四個策略(理論上 ...
GnuHomot 發表於 11-12-6 09:08 PM


我那篇文章和程式交易沒有什麼關係,如果你是走程式交易的話,對你應該是沒什麼幫助。
 樓主| 發表於 11-12-7 10:37 | 顯示全部樓層
本帖最後由 GnuHomot 於 11-12-7 10:42 AM 編輯
寫策略自然是越賺錢,期望值越高的策略越好,可是我用了一堆沒人看得上眼普普通通的策略,還真的有小賺一些些, ...
trade888 發表於 11-12-7 10:06 AM



我目前手上回測最好的系統也只是最簡單的N-bar break,多空直接反手,加上資金控管後回測可以得到爆炸性的績效。不過我對自己使用的參數有最佳化的疑問,還是不敢直接上線,很怕一上線剛好就遇到MaxDD。
 樓主| 發表於 11-12-7 10:40 | 顯示全部樓層
我那篇文章和程式交易沒有什麼關係,如果你是走程式交易的話,對你應該是沒什麼幫助。 ...
comewish 發表於 11-12-7 10:19 AM


感謝C大的回覆,你的文章我從來不嫌貴,當見見世面也好我還是想試著把那篇文章其中部份想法試著回測看看:)
發表於 11-12-7 19:26 | 顯示全部樓層
新手請教一下,請問什麼是 ZigZag?
發表於 11-12-7 22:05 | 顯示全部樓層
你已經反樸歸真了嗎? 沒有看到你運用資金管理的公式還真可惜,你好像只短短記錄了兩個月就沒記錄了 ...
comewish 發表於 11-12-7 10:17 AM


反璞歸真? 真的是不敢當,因為操作上去年底至今完全沒有改變!
資金管理年初有提過,沒有任何變動,實單今年至今MDD=15.22, 週 sharpe ratio=2.17;
發表於 11-12-8 07:38 | 顯示全部樓層
感謝分享~讓小弟增廣見聞
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-12-24 03:34

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |