2013年5月22日 星期三

逆勢策略 - HighShort - LowBuy

 

逆勢策略這篇中提到好幾種逆勢交易的方法,此篇來實作長短期間的逆勢單。

 

若只單純的因為漲多了就去放空,或跌多了就去作多,這樣是沒辦法獲利的,還很容易虧損,所以很多人說逆勢單不會賺錢,根本捨棄了逆勢單。

 

但 L 認為逆勢單還是不可或缺的一部份,儘管它只是很小一部份,但它也不需要輸出多少獲利,只要長期下來是打平或是小贏就已足夠,因為有它在策略組合內,可以更有效降低整體組合的Drawdown

 

同時,我們需要利用它的特性,目標勝率高、停利快,讓整體組合的損益更平滑。試想一個上沖下洗的交易日裡,趨勢單和突破單虧損連連時,一支小賺的逆勢單就突顯了它的價值。

 

我們要想的是逢高放空及逢低作多,先思考這樣作有效嗎?

為什麼逢高放空後,市場就該跌?

 

以長短期區間這個方法來解釋,原因是長期間的方向,代表了趨勢,而我們在短期間找尋逆勢的機會,如下圖顯示

 

HighShort示意圖

 

 

藍色雙箭頭表示一個較長的期間,目前的價格位置是在整個期間裡偏低的位置,我們假設趨勢是偏空的。

 

紅色雙箭頭表示一個較短的期間,目前的價格位置是在整個期間裡偏高的位置,對應長期趨勢是偏空,我們找尋一個高點開始往下跌的位置作空,例如綠色圈圈的價格。

 

這樣想還算合理,實作上要怎麼設計呢? 有一些不同的方法,例如

 



 

第一種: 直接計算價格區間

先計算出長期間的最高 – 最低的價位區間,再用現在價格位置計算處在價位區間內的哪個位置。例如現在價格位置在長區間內的25%以下,視為趨勢偏空。在趨勢偏空時,我們利用相同的方法出計算短區間的價格位置,當這個位置是從75%以上,跌破75%的這個時刻,我們進場逢高作空。

 

第二種: 計算K棒相對排名

計算目前K棒在長期間內是排名比率,例如600根K棒期間裡,現在這根K棒只比前面的120根K棒高,那它的長期間排名比率是 (120 / 600) * 100 = 20,我們視為趨勢偏空。而在80根K棒期間裡,現在這根K棒比前面的60根高,那它的短期間排名比率為 (60 / 80) *100 = 75,當它的排名從75以上,跌破75的這個時刻,我們進場逢高作空。

 

以上兩種方式提供參考,兩者所測試的結果也有很大差異。實際上可以想出更多方式來應用這樣的邏輯,而長短期間各需多長,排名比率如何選定,那是參數最佳化的部份,以後再討論。

 

下面就來看看這二種方式要怎麼在策略裡寫出來,

第一種方式比較單純只要找出期間最高最低點來計算,

第二種就稍微複雜一點點,因為要去跟前面每一根K棒比較就需要用到迴圈。

 

寫法有很多種,L提供一種寫法,環境是Multicharts的PowerLanguage

 

HighShort程式

 

變數 positionS 用來紀錄目前K棒在短期間的排名

變數 positionL 用來紀錄目前K棒在長期間的排名

 

第一個 for迴圈計算目前K棒和前面80根K棒比較,有比前面多少根的K棒高,紀錄在 positionS 中

第二個 for迴圈計算目前K棒和前面600根K棒比較,有比前面多少根的K棒高,紀錄在 positionL中

 

positionS = ( positionS/80)*100;

positionL = ( positionL/600)*100;

這兩行是把排名計算成0~100的比例

 

最下面,如果長期間比例小於25,當短期間比例由75之上,向下穿越75時進場作空。相反的方式,逢低作多,就不寫了,可以依照相同的邏輯建立策略,只是參數不同。

 

以上是建構一個逆勢單進場的方式,只是初步的架構,還不能直接這樣使用,需要再加上出場條件和調整,也別忘了逆勢單更須注意提高勝率以及快速停利的原則。以L的經驗來說,條件要求要更嚴謹,在盤勢Pattern更符合我們描繪的型態時才出手,降低交易次數及提高勝率。另外,逢高作空比逢低作多容易,這是目前操作的心得。

 

 

有興趣的朋友不妨測試,若有心得也一起討論吧。

 

 

 

 

1 則留言: