2013年9月25日 星期三

★我最常開發的三種策略

   
     以前一個人無聊的時候(在結婚前),常常會去逛國內外一些跟交易策略有關的網站(例如TradeStation Forum、Collective2、coco-in等),看到不錯的指標、策略、學習教材或書籍,就買回來研究,很多國外的指標都有複雜的過濾語法,看不懂的就先放旁邊,過了1~2個月再回來看,我發現在不同時期複習這些資料,常常可以讓我寫出不一樣的策略。

    在這之前,我都是在台灣的論壇研究,後來走過一趟業內,才發現大家的思考策略的邏輯差別不大,最主要的原因就是台灣期交所比較有成交量的期貨只有台指期而已。眾人只針對一個商品在研究,最後往往得到相似的結論。這有點像是考試出的題目是單選題,答案只有一個,大家會想盡辦法逼近這個最終解,在跨足多商品的策略撰寫之後,更能有深刻體會。

  這幾年下來,看過海外的策略種類有很多,在這裡簡單將這些策略作個分類。有興趣的讀者,先鎖定你想研究的策略類型,往這個方向去寫就可以寫出不錯的策略:

(一) 單點突破策略
這種策略我看過的勝率大概在45~55%之間,很少有超過55%的勝率,除非是有寫入一些特別的移動停利法去把利潤鎖住。這類的策略語法通常都很簡單,程式碼很少超過一張A4紙。在程式碼的撰寫上,先定義出適合作多及作空的時機,例如均線+10點以上適合作多、均線-10點以下適合作空,在適合作多的情況下,用簡單的語法突破價格或指標區間進場作多。

這類的策略慣用的SOP為:
(1) 定義多空(通常使用的指標為均線、震盪指標、價格區間)。
(2) 在多的時候用簡單的策略作多及作空,只要多空定義正確,簡單利用均線突破就能獲利。
(3) 移動停利出場,使用正確的移動停利可以把勝率提升。(但很少有看過超過55%的策略)

應用策略方式:
單點突破策略勝率不高,但是是具有攻擊型的主力策略,平常可能會賠一些錢,但是機會來了,一定會連本帶利賺回來。不要小看這種簡單的策略,只要過濾的方式正確,通常是可以適用多市場,當沖及波段都一樣,只是需要有很好的移動停利法及過濾語法而已。之前看到一份全球最大的資產管理基金公司Winton所作的策略簡報,也是使用這類邏輯。

下面舉一個這類策略的範例,先判多空,再簡單加個濾網,突破就做多,這種看起來很簡單,但其實威力強大,唯一的缺點就是勝率不高,要忍受陣痛期。



(二) 多點區間策略
這種策略我看過的勝率大多可以拉到60~80%之間,我目前還沒看過低於60%的,這類的策略邏輯也很簡單,只是較少人會想到而已。策略基本精神為寧可放棄大行情,也只做自己有把握的小行情,這類策略往往一個月只交易個1~2次,一年下來有可能還不到10筆交易,策略勝率高,所以常常搭配多口舖價式進場邏輯,只要出現訊號,可能就開始在一定時間內連續下單。

這類的策略慣用的SOP為:
(1) 先用指標或任何想得到的方式過濾出高勝率的特定時期,例如只做第一次創新高容易拉回、背離回測頸線不破又馬上突破新高、在頸線附近盤整、突破新高後突整、乖離率突破一定的數值之後……等等。
(2) 利用簡單的語法去做舖價式的進場,例如我設定最大進場口數為5口,當出現連續背離2次之後,就開始只要出現KD指標黃金交叉就進場作多,如果黃金交叉了5次,就做5口,思考的邏輯為認為遲早會出現預期的行情,所以就用時間慢慢舖價進場,不求進到最低點,只求作多均價在相對低檔,以換取最終的勝利。
(3) 要設定固定點停利。

應用策略方式:
這類策略進場次數少,但是比較偏向逆勢策略,所以跟單點突破策略會形成很好的互補作用,這類策略也是很好的多商品策略,只不過這種策略無法做成主力策略,原因是沒有辦法抓到大行情。

下面這個策略是我自己寫出來的,就是用類似的邏輯去舖單,首先我先找出一個我有把握可以預測方向的區間,如下圖紅、綠線所示,當進入區間後滿足我預設的舖單語法,就會開始動作。


以台指期為例,作簡單的回測,可以發現勝率高是這類策略的特性。



這類的策略還會有MDD偏高的特性,但是千萬不要被嚇到,因為這可是「舖價式進場」的MDD,如果換算成單口平均MDD,就會覺得沒什麼了不起了 。


這類的策略一樣具有多市場適用的特性,不過今天重點不在這裡,以後有空再跟大家分享,在此不贅述。

(三) 統計型策略

這類策略的產生主要是因為投資人對某個特定市場很了解,做了一些研究、統計分析、模擬測試得到的結論,因此這種策略的勝率會很高,通常會落在70%以上,我看過有一些價差有風險套利,勝率更是高達9成。這類策略唯一的缺點就是往往只適用某個市場。

這類的策略慣用的SOP為:
(1) 研究市場特有的慣性、溢價、價差套利、籌碼變化及資訊不對稱性。
(2) 利用統計分析及模擬測試。
(3) 進場後預設停利點。

應用策略方式:
這類策略進場次數少,但勝率高,基本上無法變成主力策略(至少我做不到),但是卻能有效平滑獲利曲線,可以把它看成這個策略組合中的避險策略。此種策略嫌少不嫌多。

這種策略的範例有很多,例如大小台互抵套利、個股期貨套利、合成期貨套利、開盤價價差套利、網站中提到的30SWING統計型日內逆勢策略程式碼停利不停損策略開放程式碼都屬於此種類型。這種策略回測起來可能就長得下像圖一樣。



後記:

我相信看到這裡很多初階的讀者會覺得程式交易這門學問很深奧,其實我看過的程式碼都很簡單,只是可能因為你還沒準備好所以還沒有想到而已,在這裡提供讀者一個學習新招的小撇步,當你發現你腸枯思竭不知道怎麼樣子寫出好的策略,不妨去一下國外的網站,然後留言跟那些trader聊聊天(反正是用email,英文不好也不用怕),我曾經有遇過一些比較好的trader還會幫忙修改語法,甚至告訴我哪一些過濾語法是不好用的,叫我不要走冤枉路。

文章內所說的三種策略是很基本的策略類型,也是比較容易寫出來的策略,建議初學者由淺入深,鎖定上面三種類型的策略面向進行研究,對自己在程式交易撰寫上會很有幫助的。



**在此特別聲明,本網站所有開放程式碼都是用來學習使用的,請勿轉載、用於非個人研究學習用途或串接真實帳戶交易。


2 留言:

LEO 提到...

很有系統的一篇分析文章呀!

miles 提到...

你好!
方便請問國外的網站,可提供策略或交流的網址為何?
感謝您!

張貼留言

如果有私人問題想請教,請透過網站右方『與站長聯絡』之表單,謝謝!

----------------------------------------------------------------------------------------------------
網站聲明(Disclaimer)
本教學網站內所提供之程式碼(包括函數、指標、訊號)屬開放程式碼,用意在於讓使用者學習程式語法之撰寫,使用者可以任意修改語法內容並調整參數。本網站所有之內容(包括文章、影片、歷史紀錄、程式碼、教材)限用於個人學習使用,請勿轉寄、濫用,嚴禁私自串接帳戶交易。
-------------------------------------------------------------------------------------------------