2011年6月9日 星期四

程序化交易策略之二《順勢擺動》- 精簡的極致


繼續開發精簡有效的交易策略

  承上一篇文章,我們對於開發交易策略的思路及流程,可能有初步的了解,我們盡量不要用到分析、解盤之類的方式或用詞,只是把握住一些大方向,這些大方向主宰了成敗的關鍵,不牽涉到分析的原因,是這樣才不會局限大家觀盤的思路及視野,一張走勢圖每個人都會有不同切入角度及靈感,我相信大部分的人只要掌握關鍵,都可以開發出屬於自己 絲帶兒 Style 的交易模型。


策略的靈感來源

  這個交易策略的靈感來自於,幾乎是最入門的交易方式,大家看看下面的圖可能會發笑,這種東西也敢拿出來,有老手可能在移動滑鼠準備要轉台了,哈.. .請看。



這樣做真的能賺錢嗎?

  交易模型的開發概念的基礎建立在,用 KD, Macd 的擺動作為操作的依據,這樣的交易模式能賺錢嗎? 我們一步一步往下做,會開發出讓你驚訝的交易模型哦!

  為了使源碼更加精簡 (或是懶) ,我們這個範例將使用 CCI(Comm Channel Index)這個指標,他跟 KD 很類似,差別在於 KD 超買超賣區是(20,80),而 CCI 則是(-100,100),如果你把 CCI 換成 KD,或是 Macd 也可以,既然指標可以被輕易取代,表示指標不是關鍵。



《林培勝-順勢擺動》概要

開發思路:
第一步買低賣高: 買進: 指標由下往上穿越超賣區,則買進。賣出: 相反的,指標由上往下穿越超賣區則賣出。
第二步順勢交易: 策略加上順勢的濾網,避免過於逆勢操作。
第三步靈活出場: 得寸進尺,保護我們的盈利。

測試商品:  中金所之滬深300股指期貨
數據時段:  2010/4/16上市開始至2011/2/28
K線週期:  45分鐘,期貨連續月
淨利:  445380RMB
平均每月收益:  40489RMB
最大策略虧損:  70140RMB

源程序文檔位置:  百匯文件-順勢擺動交易策略
滬深300股指回測報告:  《順勢擺動》策略回測績效報告



《第一步買低賣高》 新建一個交易信號名稱,在公式編輯器打入如下的程序:

if cci(14) cross above -100 then buy next bar at market;
if cci(14) cross under 100 then sellshort next bar at market;

完畢,就是以上兩行,中文意思是說:

如果CCI 從下往上穿越-100,則買進
如果CCI 在上面往下穿越100,則賣出

我們直接看看這樣的操作的結果如何,還有回測的績效報告:




清楚的看見買賣進場出場點位,這是程序化交易所帶來的好處,視覺效果不錯,接下來看看報表,報表可以告訴我們更多的訊息。




獲利情況還可以每個月的平均收益將近有二萬,可是交易風險報酬率好像不怎麼吸引人,咱們的錢都是流血流汗賺來的,不能接受! 要想辦法改進。




《第二步順勢交易》 為了增加獲利減少損失,我們必須檢討分析一下,類似 KD,CCI,CMO 等上下擺動的指標,想要低買高賣,多少都有點兒逆勢進場的感覺,電視上的分析師都說了: 要順勢而為! 老師的話總是要聽的,既然如此,我們就想辦法加入 『順勢』 這個元素吧。

所謂漲跌,要有一個參考點,每天盤中我們在談論漲跌,都是用昨天的收盤價,或是今天的開盤價位作為參考,我們才能說出現在漲了幾個點,或是漲了多少百分點,既然如此,我們就以當天的開盤價來作參考點,決定今天的趨勢吧,只要價格在開盤價 之上 ,就認定是 做多 反之在開盤價 之下 ,就認定 做空 ,有了想法,接下來馬上修改我們的程序。
加上今日開盤價參考點的程序如下, 紅色 的部分是一段加入順勢元素的程序。

if close > OpenD(0) and cci(14) cross above -100 then buy next bar at market;
if close < OpenD(0) and cci(14) cross under 100 then sellshort next bar at market;

修改完成了,只有加上紅色那幾個字,中文意思是說:

如果 現在價格大於開盤價,而且 CCI從下往上穿越-100,則買進
如果 現在價格小於開盤價,而且 CCI在上面往下穿越100,則賣出

我們快點來看看這樣的操作的結果如何,下圖是調整後的回測績效報告:




運用順勢的力量果然有效,淨利從24 萬增加了50% 達到37 萬,每月平均收益3.1 萬,美中不足的是最大虧損還是十八萬,任然有進步的空間。




《第三步靈活出場》 這樣的風險報酬率當然不能滿足我們 貪婪的心 追求完美的個性,進場邏輯我們保持就這麼簡單,接下來能動腦筋的,只剩下出場了,出場的方法有許多,以後可以慢慢討論,這次我們用的是一個追踪止損的觀念,追踪止損比較貼切的說法是: 『得寸進尺』 ,你退一步我就進一步,我們來看看這樣做會有什麼效果。


看下圖,我們使用 Tradestation, Multicharts 自帶的出場訊號,並且使用默認的數值就好,做多跟做空的出場是分開的,LX(Long Exit) 意思是做多的出場,SX(Short Exit)是做空的出場。



加上平凡無奇的追踪止損,咱們來個得寸進尺,很神奇的是,加上去追踪止損之後的完整交易模型,虧損的程度大幅改善了,18 萬多的虧損減少到剩下 7 萬,減少 67% 的損失,而且淨利又再度增加了 20%,交易十個月的風險報酬率為 1:6,我們來看看報表吧,怎麼看都比前面好太多了。






出場策略攸關整體交易策略的表現,獲利增加,虧損減少,提升了整體的優勢,再看看最有感覺的視覺化淨值曲線,美呆了真是。




《結語》

  簡單的三個要素,完成了我們的第二個適用於滬深300股指期貨的交易模型,從第一個到現在過程全紀錄,完全沒有用到很艱深的分析,並且沒有任何參數,指標跟出場的設定都是最大眾化的預設值,我相信各位絕對可以開發出比這二個好的交易模型。下一篇我們將討論 多策略 交易模型對我們所帶來的好處,這個絕對值得大家花時間研究。


  數量化、程序化的交易模式,確實有某些方面的優勢,我相信在能人輩出的中國金融市場中,不管現在還是未來,絕對有很多高手在這個領域長期默默地盈利,希望你我都是其中的一位,2011/3/2 林培勝於廈門。


2011/3/6 更新上傳了三個階段的比較圖,各位可以觀察三個階段的差異:





沒有留言: