Google Analytics

2013年7月17日 星期三

如何以Excel 測試型態(pattern)買賣策略(1)

Excel 其中一個強項, 就是可以隨意設計靈活的歷史回向測試(Backtest), 只要有完整準確的數據, 以及一定的VBA 技巧 , 沒有測不出來的策略.

技術指標一般分幾大類,計算的(如MACD), 單支或數支型態的(如陰陽燭型態, 如十字星...), 又或是廣義型態的(如雙頂, 雙底,...). 一般來說,很多人以為計算的比較簡單易弄, 廣義型態的比較難, 其實只要懂得將抽象的型態變成實在的數學條件, 多複雜的形態也迎刃而解.

筆者就以常用的雙頂型態作示範. 觀圖當然容易分別出來. 但如果是面對一堆價位, 又如何分出來? 其實先想一想, 什麼是頂? 頂, 嚴格來說, 就是這一刻的最高價位比之前及之後一段時間的都要高, 或不低於. 再深入的想, 兩邊平衡的, 就要求前一段時間長跟後一段的一樣, 比較寬鬆的, 可以要求前後的時間長不一, ... 再想想, 什麼是雙頂, 要嚴格的, 那是要兩個頂的最高點都一樣, 那可說是十分嚴苛的, 放寬點, 只要頂跟頂的差距不多於一個誤差, 也可算雙頂, 那麼能符合的也就多了... 只要想好這些關係和規則, 就不難把它們轉成程式思路, 也就可以對一堆數字進行型態回測.



筆者就以歐元一小時周期價位作雙頂回測. 其中一個雙頂買賣策略就是見到確認雙頂後沽出, 為使測試程式更最彈性及更有重用價值, 在設計上容許有更多可以變更的型態及買賣參數. 例如可設定peak / trough interval ,即頂/底位要比之前及之後為高/低的長度, 這裡選擇10, 亦設定頂跟頂 , 底跟底的誤差在20點子. 程式先找出可能的頂, 底, 再從中找出可能的雙頂/ 雙底組合 , 找到後再根據設定的止賺止損(100點子), 假定在型態確認後周期開盤價進市, 在持有的期間(這裡設定為100小時)測試盈虧. 測試期間為2001年7月30日至2003年3月6日. 測試發現, 在這段期間雙底發生比雙頂為多, 而在100小時持有時間來說, 有不少止賺止損的交易, 而止損比止賺為多, 說明了是否策略在上升市時表現欠佳, 還是定的止賺點太寬, 止損點太窄 ? 綜合損益 , 虧損6920點, 盈利5126點, 淨虧損1794點. 說明在上升浪中的歐元市況中雙頂沽空效果不彰.



沒有留言:

張貼留言