2016年5月17日 星期二

新策略建立心得分享

         最近看了一本由 Q 大寫的書,其實內容就是 Q大策略的解說包含有原始碼,在這本書中所獲得的東西說真的不少。

         在程式交易界中,目前有一派是策略力求單純,然後用策略組合來降低風險,提高獲利虧損比。另外有一派是用很多的條件在一條策略上力求在一條策略上將獲利提高並降低 MDD。

         這二個方法其實各有優缺點,但其實我覺得可以合併來看並不沖突,Q 大的方式是先找到一個基礎策略為主幹,所以,它必須是符合單一策略的條件,單純,然後才在這個策略的基礎上加入相關進出場的 Rule,其實,只要不違背這策略的基本原則下,不過度最佳化,我認為不失為一個好方法,只是實際去執行時,也許績效會需要打折就是,但因為有基礎策略打底,所以,還是會有一定的成效。

        還有一種派別是完全沒有基礎策略,直接使用很多的條件 Pattern 來決定進出場,可能是 K 線理論、指標....,所以,它的進出場 Rule 可以到上百條以上,這個的缺點是有最佳化的嫌疑,常常會 mapping 不到,可能一段很長的時間都沒進出場訊號,之後再來補足,代表人物是醉大。

        誰對誰錯不知道,不過,我傾向第二種+策略組合,有基礎策略打底,再去加上有限度的輔助策略,在該策略的限制下去強化,其實平常的停利,停損,就算是輔助策略的一種,而均線交叉的策略就是基礎策略的一個。

        一般我們會在基礎策略加上幾個簡單的濾網、停損、停利,這樣就是我們可以上線的基礎策略。在這樣的基礎上,再去增加其它的進出場條件就是輔助策略了,如乖離大於 500 出現了什麼樣的 K 線要賣出或其他你所知道關於均線的理論,都可以輔助上去,但要在均線這個基礎策略的架構下來處理,不然則會有特製化的現象,可能就會有自 high 的現象產生。

      Q大的基本策略是跳空,加上幾個簡單的條件和停損反手,就得到了以下的績效。
( 2001~2016 0517 ),這是一個很單純的跳空策略,但續效卻是超乎我想像中的好。

ps. 我的條件和書中並不完全相同
     





在這樣的基礎下,我們再針對這個策略本身的先天性缺點來做輔助策略,我加了十幾條 Rule 
後,得到如下的績效。




其實,績效只有增加 140 萬左右,MDD 降到 29.8 萬,在這些 Rule 裡面不可否認的,我加了一些最佳化的條件,但是即使沒有遇到這些特制化條件下,我們還是有 500 萬的基礎策略當基礎,所以,即使有部份最佳化,未來的影響並不會太大,這就是基礎策略的用意。

在 Q大策略的測試過程中,依照原本程式碼照 Key 的話,其實我可以跑出 1011萬的績效,MDD 39.3  (單邊手續費+滑價 500 ) 看起來是蠻嚇人的,不過,在程式碼中有些條件和我的觀念並不符合,在加上去配合我目前的組合,最後我只用了10幾條 Rule,得到如上的結果。

        而我也發現了,原來每個人手上的資料庫似乎都有那麼一點的不同,Q大的跑出來是1300萬(不含手續費和滑價)  MDD 16.9 績效可以差這麼多,我去比對了一下資料分線和我的相差不少,也難怪常有人會覺得相同策略為何績效有差 ( PS. 我的資料是政大的 ),應該是歸分線的差別再加上策略有些特殊最佳化,所以,週期太短的策略要特別的小心,在開發時和上線時一定會有一些誤差,而週期長一點的則誤差會小一點,這個要注意,所以,經過這次的經驗,我想我應該會控制自己的策略在 15 分線以上的層級,來減少資料庫所造成的差異吧。

         在 2016 這前五個月的時間,算是沒什麼賺賠,主要還是年初那10萬左右的失誤造成,所以,就現階段來說還算 OK,而這個策略什麼時候上線,應該會等它 DD > 10萬吧。因為之前好了就上線都會遇到 DD 大回檔,這次就沈住氣吧。

         感謝這一路上來這麼多的貴人,不管是認識或不認識的,雖然這段時間付出了不少的學費,但是收獲卻也是豐富的,一直在思考交易管理系統是我沒了解透澈還是怎樣,總覺得它很重要,但是,用起來卻是沒那麼順手,我想應該是要開發完成後要有試 Run 的時間,至少要有一兩個漲跌周期,沒問題才去上線這樣才對,自己太急才會造成之前的一些情況,找個時間再來試看看,還是希望整個交易系統之後是能被整體評估管理的。

        再來目前有另外一個想法是運用類神經網路的學習法則來對策略產生的訊號做學習,讓系統自行學習決定,這個應該也是個蠻有趣的實驗,畢竟目前 machine learning 算是熱門話題,記錄一下有空再來玩。

        近期大概會 focus 在 PS 和 php 網站 的學習,可能有空才會再更新了,上面的流程算是近期的心得,希望對大家有幫助。

  





10 則留言:

  1. 加油!請問版主策略組合包含當沖嗎?

    回覆刪除
  2. 作者已經移除這則留言。

    回覆刪除
  3. 請問Q大的書是哪一本 可以分享嗎? THX

    回覆刪除
  4. 版主你好:
    有幸點閱到此部落格,在參考板主的學習過程後,碰巧看到這篇,想請教幾個問題。
    1.在Q大的書中並沒有看到所謂的結算語法,這塊是要自行加入嗎?

    2.一樣取自永政的投機生活部落格,資料期間2001-2015不含手續費,所測得績效與書中相差甚遠,只有獲利一半不到。

    3.在未加型態的濾網下,使用5分K,若符合condition3上跳空及condition4下跳空做買賣,手續費單邊500,獲利甚至不到書中的十分之一,不曉得版主有遇到此狀況嗎?

    回覆刪除
  5. 不好意思,很久才關注一下自己的部落格,簡單回覆一下你的問題
    1. 結算的部份我是有自己的語法在使用(印象中阿政好像有分享),書上有沒有我倒是沒特別注意
    2. 我也是用阿政的資料去回補自己的系統,在書中的續效我確實是跑不出來,每個人手上的資料多多少少會有些差異
    3. 其實, Q 大自己應該已經不是走這個方向了,這是他早期的策略方向,現在的他是策略海的概念加管理及休眠機制,所以,真心建議不用太在意,就是一個方法而已,我自己之前在用的策略幾乎這一二年沒什麼創高,任何策略都有其適用的時間和範圍,未來會失效都是正常的,重點在於你希望它在什麼場合能夠獲利,而它是否也是完整的反應,你參考看看。

    回覆刪除
  6. 感覺到小星是跟著我一起前進,持續進化.. 一起加油^^

    --QMark

    回覆刪除