2017年4月22日 星期六

交易系統建構其之七-部位規模


  「讓我告訴各位一種在股市賺大錢的方法,當價格突破每天正常波動區間的時候買進,這種方法稱為價格波動突破,某個著名的交易員就是用這個方法賺進了數百萬美元


  這是「交易.創造自己的聖杯」一書的第一段文字,隨後並說明如果真的這麼做了,或許有很多人會因此而破產。然而這並不代表這個方法是無效的,而是「這個方法」其實只是完整交易策略的一小部分而已(而且還是最不重要的那一部分)

  只知道進場訊號就交易,跟只知道踩油門就開始駕駛車輛差不多危險,你必須學會交通規則(進場架構),還有何時該踩剎車(出場),才能確保你可以安全迅速地到達目的地。

  綜合前幾篇文章,當我們有了回測資料,適當的架構,明確的進場與出場條件之後,我們就可以透過回測將交易的結果表示成一連串的R倍數

  但是我們要怎麼知道這些R倍數能帶來的資金損益呢?有的人比較保守,每次交易可能只願意損失總資金的1%;但有的人比較積極,願意每次都拿總資金的10%下去交易,這兩種人就算都用同一套交易系統,表現出來的長期績效也會天差地遠。

  這個概念,我們稱為部位規模設定(position sizing),可說是整個交易系統中最重要的內容,它直接影響到交易的績效,其影響層面可說是遠超過進出場訊號。不良的部位規模設定,甚至可以完全摧毀一套長期獲利的好系統,讓原本可以穩定獲利的系統變成賠錢貨。

  覺得太誇張了嗎?讓我們來看看下面這個例子。

  Ralph Vince曾經針對40位擁有博士學位的參與者設計一套實驗,他們參與一場簡單的電腦賭局,每個人都有1000元的起始籌碼,賭局的勝率是60%,賠率一比一,每位參與者都可以自由調整每局的賭注大小,如此進行100次。

  從簡單的期望值計算可以知道,這個賭局的期望值是0.2倍賭注,而且進行100次,理論上最後賠錢的機率應該很低才對,但實驗的結果卻是這40位擁有博士學位的參與者之中,只有2個人最後的籌碼大於一開始的1000元。

  這個結果非常耐人尋味,一個可以穩定獲利的系統居然讓超過90%的人賠了錢

  Vince研究了這些參與者的下注過程,發現到大多數的參與者在連續虧損發生時會傾向於加重賭注,而連續獲利時卻傾向於減少賭注。換言之,他們不但沒有固定的部位規模設定方法,還落入了某些心理面偏差的陷阱,例如連續虧損時期望下一局就會獲利而加重賭注,結果反而讓自己的資本落入萬丈深淵。
  因此我們建議,即使有一套正期望值的交易系統,也要把心思放在部位規模設定上,因為部位規模才是決定最後績效的關鍵因素。

  以下,我們就利用實際回測的數據來展現不同部位規模設定會造成的影響。測試的資料是經過價差調整後的台指期連續期貨(統一在結算前一日收盤時換倉),期間是2001/1/2 ~ 2011/12/30(2012年後的資料做為樣本外資料,在交易策略調整完畢之後才進行測試,可以減低我們對交易系統的不真實期待XD)

      台指期2001-2011日線圖(已經過換倉調整)

  這個策略採用「季線以下不做多」的架構,換言之,只有在當天收盤價高於季線,隔天才有進場的可能,進場訊號採用波動突破(0.4倍的10天期ATR),出場訊號則是追蹤型停止點,幅度是三倍的10天期ATR

ATR洗三小?

  ATR(Average True Range)是我們常用來衡量市場波動程度的一種指標,可以用來表示從昨天收盤後到今天收盤這段時間內市場的波動幅度。市場收盤後,我們必須計算三個數字:1.今天最高價與最低價之間的落差2.今天最高價與昨天收盤價之間的落差3.今天最低價與昨天收盤價之間的落差,三者中最大的那個就稱為今天的真實區間(True Range , TR),而將過去一段時間的TR值做平均之後,就可以得到ATR

  策略很單純,沒有複雜的條件,就只有一個架構,一個進場訊號,一個出場訊號,在十一年的期間內交易結果如下表:



  這邊一併呈現了有無架構的比較,可以看見「季線以下不做多」這個架構的確幫我們過濾了很多無法獲利的交易,在這個架構下交易次數變少了,但整體獲利卻大為增加,連帶的最大連續虧損也降低了。

  接著,我們再將交易結果帶入不同的部位規模,看看交易資金的起落狀況。(如果每筆交易我們承擔2%的風險,那我們就稱一個R為2%)


  
  我們可以清楚地看到不同部位規模的設定對同一個交易策略的結果竟然可以有這麼大的影響,績效從平凡無奇到破產都有,如果是為了穩定的績效,我們通常不建議一個R超過5%。而一個R=5%大概是什麼概念呢?大約是每一百萬資金只能操作一口大台的概念。坊間常聽到什麼三口糧一口倉的部位規模設定,基本上跟玩命差不多,動不動就會看到超過50%的最大虧損,如果我們想在市場上長久地交易,請記得絕對不要將一個R的設定超過5%

  完成了第一次交易策略的回測,我們是不是就找到了一台自動印鈔機呢?別傻了,自動印鈔機根本不存在,我們還要經過穩定性測試,多策略混合測試,多市場混合測試,樣本外資料測試等,即使經過了這些測試,系統實際上市場交易之後才是真正的挑戰開始,我可以跟你保證,紙上看到的資金起落跟實際上的資金起落完全是兩個世界,想做一個真正的交易者,要完成的事情還有很多很多呢。


  接下來我們將討論:系統穩定性測試,也稱為最佳化測試。

5 則留言:

  1. 俊彥大大你好,想請教一下,
    這邊獲利幾個R幾個R,是代表說我下單前就已經確定我獲利出場點和停損點去計算,
    還是說是回測結果,碰到出場訊號計算獲利再除以每次承擔風險呢?
    有點不明白這邊總獲利 32 個 R 的計算方式,可以忙凡您解說一下嗎?

    回覆刪除
    回覆
    1. 你好~你說的其實都沒錯
      每次交易前就可以先用停損點決定出這次交易的R,交易結束後再以損益除以當次交易的R,便可以將當次交易的損益表示成R的倍數,而回測的場合也一樣
      至於範例中的32個R,是因為我並沒有詳細列出每次交易明細,只寫出最後總和而已,理論上可以將每次交易獲利除以每次承擔風險,得到個別交易的R倍數後再加總

      刪除
    2. 瞭解了!感謝!

      可以再請問一下 ATR 選擇 10 天,這樣是不是有點最佳化的感覺?

      因為最近寫自動化在計算參數,很常想要最佳化,一方面也是因為資金不足無法多參數並行...

      刪除
    3. 最佳化是一個很難界定的問題,但是以中期波動率而言,你可以從5-50隨便選一個數字來做ATR的日數參數,結果都不會差太多
      相反的,如果某個技術指標會受到參數的巨大影響,那樣的指標就不適合使用

      刪除