顯示具有 滬深300 標籤的文章。 顯示所有文章
顯示具有 滬深300 標籤的文章。 顯示所有文章

2011年6月9日 星期四

《投資組合》多策略之一,策略評估與比較


數量化、程序化交易

  前面我們從最入門的基礎,把開發交易策略的流程示範了兩次,現在已經基本掌握開發交易策略的方法,有些人可能很快的就可以有自己的策略,有些人可能要經過很長時間的練習,如果想要自己開發交易策略,這個過程可能會花一點時間。

我們再深入一些來認識這兩件事:

數量化的好處是,運用科學的計算及統計方法,可以大量的演算、驗證我們的交易邏輯,可以精確的模擬交易訊號,沒有模凌兩可、不會漂浮不定,幫助我們做出更正確的交易決策。
程序化的好處是可以快速的計算出你事先定義好的這些數量化買賣訊號,即時的把交易訊號複製到你的交易賬戶,自動化交易克服了一般人“交易心態”的問題,即時你當時還在猶豫、懷疑、恐懼,當你看見訊號的同時交易已經完成了。


數量化、程序化溝通的媒介:《報告》

  《策略回測績效報告》,就是電腦把我們腦袋裡面的交易想法,用過去的歷史交易數據做計算,把交易想法的買賣結果,一個一個的算出來,並且彙整了有用的數據、圖表,所做成的一個詳細報告。

我們要了解一個交易想法是不是可行,分析《策略回測績效報告》是一個很重要的工作 ,報告裡面有很多的數據,我們先從基礎的幾個重點開始,可以對這個交易模型了解到七八成以上,其他有時間可以慢慢研究,先看下面這些數據:

圖表週期:  基於什麼時間架構的圖表交易
回測時段:  回測的時間太短,可能不太客觀
交易成本:  必須要設定合理的交易成本,手續費+滑價損失,交易頻率越高,成本影響越大

淨利:  我們最愛看的部分,可惜過去的績效不保證未來的收益
最大虧損:  最不愛看的部分, 意思是:使用這樣的交易方法,在過去這段時間,最倒霉的人可能遇到的最大的虧損金額
交易次數:  必須要有一定的次數,報表才有意義,不然可能犯了取樣不足的錯誤
虧損收益比率:  淨利/最大虧損,或是年收益/最大虧損,可以讓我們知道風險報酬率
盈利因子:  總獲利/總損失,一般在1-2左右,我很愛看這個
勝率:  這個當然是能越高越好,不過不是單獨看這個
平均交易回報:  淨利/交易次數,日內交易跟波段留倉差異很大
月週期損益:  以投入本金算,平均一個月的收益率,簡單說就是:一個月能幫我賺多少錢?


三個交易策略對比

  上面的數據,雖然都很重要,但是沒有一個可以單獨代表交易策略的好壞,而且每個人的偏好的策略特性也不盡相同,透過多多接觸、研讀這些報告,慢慢的就會建立自己評估交易策略的能力。 多圖對比是很快建立感覺的方法,下面用了三個策略並排,馬上就可以清楚看出三個策略,各自的優缺點在哪裡。


以下是我做的一些評估跟比較,如果各位發現什麼錯誤或是遺漏,歡迎討論:
  1. 三個策略都是跑中金所的滬深三百股指期貨,左邊是《第一根K線》十個半月以來,交易次數約150 次,中間《順勢擺動》交易次數50 次,交易次數只有左邊的1/3,可是淨利卻多了10 萬,由此判讀,中間的《順勢擺動》比較能夠抓住一波連續的走勢。
  2. 右邊的《突破策略》交易次數300 次是左邊《第一根K線》的2 倍,但是淨利卻只有比《第一根K線》多出13%,很顯然是勞力密集、苦幹型的策略,事實上右邊確實是一個基於5 分鐘K線的日內短線交易模組。
  3. 右邊《突破策略》風險報酬率8.74是三個當中最好的( 上紅 下綠 那個圖),而且策略最大虧損只有4.4萬,可是他的獲利因子1.74卻是敬佩末座,尤其又是日內短線,容納資金量有限(這也是不公開源碼的原因)。
  4. 最下面,如果每個月做一次結算,中間《順勢擺動》只有一個月會虧錢,淨值曲線比較平穩,右邊《突破策略》則有連續兩個月,左邊《第一根K線》有三個月虧損,而且有兩個月連續。
  5. 雖然很多數據《第一根K線》都比較差,但是仔細看《平倉權益曲線》,如果只看右半邊,也就是從100 次交易開始,有點爆發的感覺,似乎可以在某些時段或是特定的行情表現很搶眼。




《結語》
  點擊上面的圖片可以看放大的原圖,回測報表其實沒什麼,就跟買豬肉​​買菜一樣,看多了就知道怎麼挑出好的,我覺得把所有的數據都放在一起,對於重要的資訊可以一目瞭然,也比較容易觀察做出評斷,所以我花了很長的時間做這個對比圖,希望各位會喜歡。

  今天先練習評估、比較多策略交易模組,下一篇我們將把這三個策略整合在一起,做一個簡單的 《組合投資》 ,敬請期待,2011/3/6林培勝於廈門。



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


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

  承上一篇文章,我們對於開發交易策略的思路及流程,可能有初步的了解,我們盡量不要用到分析、解盤之類的方式或用詞,只是把握住一些大方向,這些大方向主宰了成敗的關鍵,不牽涉到分析的原因,是這樣才不會局限大家觀盤的思路及視野,一張走勢圖每個人都會有不同切入角度及靈感,我相信大部分的人只要掌握關鍵,都可以開發出屬於自己 絲帶兒 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 更新上傳了三個階段的比較圖,各位可以觀察三個階段的差異: