2022年11月24日 星期四

資金管理策略研究 - 馬丁格爾法 vs 反馬丁格爾法

這幾年下來, 自己在投資方面一直都是歐印流, 只要存夠一筆錢就匯到美股戶頭買股票, 就算出清持股也會立刻轉換其他標的, 畢竟完全不覺得自己在擇時進出交易這件事有優勢... 不過今年因為開始研究選擇權模型, 無可避免的一定會接觸到槓桿, 所以開始想認真研究資金管理策略。 而第一個想研究的策略, 就是鼎鼎大名的馬丁格爾策略。

馬丁格爾策略(Martingale)也被稱為賭博必勝法, 原理也很簡單, 虧損時加碼, 獲利時減碼。 只要下注輸錢了, 下一把就加倍籌碼賭回來, 不管輸幾次, 只要贏一次就把前面輸的全都賺回來了, 當然我們知道現實上不太可能這麼美好, 主要原因如下:

1. 玩家沒有無限的資金 or 信用可以借貸, 連續輸的次數可能超過你的想像, 如果有詐賭就更是如此了。

2. 莊家對最大投注是有設上限的, 即便你有資金也不會讓你這樣下注, 而投資市場也是一樣, 市場不一定有這麼高的流動性可以讓你交易 (當然小散戶幾乎不太需要擔心這問題)。

簡單來說就是現實世界中你不一定每次都能凹到贏的那一次, 而只要一次失敗了, 就幾乎等於GAME OVER了, 當然現實中真的使用馬丁格爾投注法也不會真的去用倍倍投注法, 不過真的遇到非預期的連輸時也會造成資產的大幅虧損。


理所當然的, 之後又衍生出另一種反馬丁格爾策略(Anti-Martingale), 顧名思義跟馬丁格爾策略相反, 虧損時減碼, 獲利時加碼, 當然這就更不可能用倍倍投注法了, 畢竟不管贏幾次, 只要輸一次就真的破產了, 不過在有趨勢的情況下, 反馬丁格爾投注法可以放大獲利, 減少虧損, 也是一般投資書籍裡比較建議的投資策略。

關於馬丁格爾&反馬丁格爾策略就簡單介紹到這, 有興趣想了解更多可以自行Google, 網路上有更多豐富的介紹。 而這次想做的就是在投資市場跑回測看看, 將馬丁格爾 & 反馬丁格爾策略套用到資金管理上效果會如何, 就決定寫個回測系統來驗證看看了。


寫好的程式如下:

這個程式主要是用 backtrader 這個回測套件開發, 會選backtrader最主要就是看github星星的數量, 再加上他的討論區還蠻熱絡的, 網路教學也多, 就決定用這套件了, 實際上也真的超好用, 該有的功能幾乎都有了, 我只要包裝一下專注寫策略就好。


這次回測的馬丁格爾策略邏輯如下:
  1. 最低至少會維持20%資產部位在市場上
  2. 看過去252天的最高收盤價(1年), 如果從最高點下跌5%, 就加碼到40%資產部位
  3.  看過去252天的最高收盤價(1年), 如果從最高點下跌10%, 就加碼到60%資產部位
  4.  看過去252天的最高收盤價(1年), 如果從最高點下跌15%, 就加碼到80%資產部位
  5. 看過去252天的最高收盤價(1年), 如果從最高點下跌20%, 就加碼到100%資產部位
  6. 如果是反向上漲, 碰到上述的門檻值就會調整回對應的資產部位
  7. 為了避免流動性問題, 設定一天交易最多5%資產部位
  8. 為了避免市場一直在策略的交易門檻不斷震盪導致過度交易, 設定5%的門檻誤差, 有超過門檻誤差才會真的交易
  9. 回測交易從2000/01/01到2021/12/31, 因為交易第一天要先看過去252天的歷史資料, 所以實際上回測資料是使用1999/01/01到2021/12/31
  10. 因為這次的回測只是想比較資金管理策略, 並沒有要真的做交易, 為了避免太複雜就不設定手續費, 滑價等因素

而反馬丁格爾策略則跟上面的策略參數全部一樣, 唯一不一樣的是看的是從過去252天的最低收盤價(1年), 如果從最低點上漲X%, 就加碼到Y%資產部位。

分別對標準普爾500 ETF(SPY), 那斯達克100 ETF(QQQ), 英特爾(INTC), 花旗銀行(C)跑回測程式, 最後跑出來的回測結果如下:


首先來看看SPY的回測結果, 看起來歐印的累積報酬最高, 而反馬丁格爾稍差一些, 可是反馬丁格爾策略的最大回落只有37%, 而歐印則有54%, 這代表反馬丁格爾策略有達到我們希望的減少虧損目標, 虧損風險比歐印以及馬丁格爾策略小得多。



那為什麼馬丁格爾策略累積報酬這麼低呢? 20年下來的累積報酬足足小3倍左右, 最大回落也只比歐印好一點點, 來看看回測的線圖:


下圖的五個區間藍色線就是馬丁格爾策略的交易觸發門檻, 綠色指標是買進, 紅色指標是賣出, 可以看到他的確是在價格下跌時買進, 上漲時賣出, 可是最大的問題在於, SPY這20年是長期上漲的趨勢, 這導致馬丁格爾策略沒辦法有效利用資金, 上圖的紅線是現金水位, 藍線是總資產水位, 可以看到紅線在大多數時間都是維持在高檔, 代表馬丁格爾策略因為價格一直上漲的關係, 所以一直維持高現金水位, 導致沒辦法享受到這波大多頭的獲利。

再來看看反馬丁格爾的回測線圖:


可以看到上圖的紅線幾乎都維持在低檔, 代表反馬丁格爾策略有充分運用資金交易, 而在2020年3月那波疫情大跌時也有快速減碼, 之後V轉時也有快速加碼回來, 在這種趨勢明顯的標的上可以說交易的非常漂亮, 不過因為跟歐印相比還是沒辦法充分利用資金, 所以累積報酬還是小輸一點點, 可是最大回落小17%對比較在意風險的投資人來說個人覺得是非常有吸引力的。


再來看看科技股ETF的QQQ, 首先累積報酬竟然比SPY還差, 原因在於2000年網路泡沫的關係, 如果我們把回測資料往後延兩年, 反馬丁格爾策略的累積報酬SPY會從343%->434%, QQQ則是從312%->830%, 大幅超過SPY, 這表示像QQQ這種高波動的成長股, 如果你從高點歐印的話, 可能得花10年的時間才有機會損益兩平, 而且即便是反馬丁格爾策略, 最大回落也高達73%, 等於你要有資產虧損7成也抱得住的心理準備, 才有機會享受之後的大多頭獲利。




至於為什麼馬丁格爾策略在QQQ的累積報酬竟然只有49%, 比起SPY更是驚人的少, 來看看回測線圖:


顯而易見很淒慘的, 它在第一波下跌時就幾乎加碼光了(畢竟是設定成最大下跌20%就歐印), 等於之後的更大波下跌它都是用100%本金去虧, 而之後終於開始多頭了, 它卻也早早的減碼了, 在一直維持高水位現金的情況, 完全沒辦法享受到科技成長股的大多頭報酬...。


看完最主流的ETF之後, 再來看看馬丁格爾策略套用在個股交易的情況吧, 因為上述的ETF都是成長趨勢, 所以個股就不挑持續上漲的公司了, 這邊先選擇英特爾(INTC)作為回測對象, 雖然是晶片龍頭可是早早就已經是成熟型公司, 所以股價幾乎都是一直盤整, 更不用說這幾年還被AMD一直搶市占...


這次馬丁格爾策略終於扳回一城了, 累積報酬跟最大回落都顯著贏過歐印 & 反馬丁格爾策略, 來看看回測線圖:


可以看到INTC因為幾乎都是在盤整, 即便有趨勢也是一直以盤整漸漸上漲的趨勢, 所以馬丁格爾策略就會一直低檔買進高檔賣出, 看上圖紅線現金水位一直有變化, 代表它有在積極運用資金, 所以報酬就相當不錯(不過也是大輸SPY & QQQ ETF就是了XD)

再來看看反馬丁格爾策略的回測線圖:


看上圖的紅色線一直維持低檔, 代表它也是很積極地運用資金, 可是一直在高買低賣, 不斷的被割韭菜, 所以交易績效理所當然的爛到爆...。

看完INTC後, 最後來看看花旗銀行(C)吧:


所有策略的績效幾乎都一樣爛, 20年下來還虧60~70%, 會故意挑這檔主要是故意想挑個有死亡風險的公司, 因為花旗銀行金融海嘯時, 股價從50塊跌到剩1塊(調整後價格則是從500塊跌到25塊), 最大回落將近98%, 要是你2008年前歐印的話, 2008年後只會剩2%的資金, 而之後過12年股價最多也才漲3倍, 如果是只做多頭策略, 就算是神仙也難救了。

不過這邊就有個奇怪的點, 歐印跟馬丁格爾策略會直接死亡沒錯, 目標是縮小虧損的反馬丁格爾策略為什麼也損失慘重呢, 來看看回測線圖:


看線圖其實很清楚了, 在金融海嘯那波大跌, 其實也夾雜著好幾波大漲, 所以反馬丁格爾策略在那段時間也傻傻地跳進去交易, 總資產水位的藍線也在2008年直接接近死亡...。


回測跑到這邊, 對馬丁格爾&反馬丁格爾策略, 大概有以下心得:

1. 如果你交易的是大盤指數ETF (SPY, QQQ), 因為科技長期是進步的, 經濟長期是成長的, 只針對投資報酬的話歐印是最好的策略, 如果想降低最大虧損風險的話則可以考慮搭配反馬丁格爾策略。 當然如果是有顯著趨勢的成長股也很適合反馬丁格爾策略, 前提是你非常相信它未來真的會長期上漲。

2. 如果你交易的是比較成熟產業的公司股票, 尤其是大多數時間都在盤整的公司股票, 那馬丁格爾策略會是不錯的選擇, 不過如果盤整的幅度不夠大的情況, 那績效可能完全比不上直接買大盤。

3. 面對死亡性風險, 單一公司炸掉的情況不管怎樣只要是多頭策略都沒用, 分散投資降低非系統性風險才是最重要的。


另外之後還有不少想研究的課題:

1. 這次的回測是在不考慮槓桿只用現有資金交易的情況, 所以很大情況馬丁格爾策略會不好是因為沒辦法有效利用資金, 可是如果是針對複合投資部分做資產再平衡, 不知道馬丁格爾策略跟反馬丁格爾比較的結果如何, 之後有時間打算也來測試看看。

2. 想針對槓桿的部分繼續做資金管理的策略研究&回測, 在設定最大維持率的情況下, 馬丁格爾策略跟反馬丁格爾策略表現又會如何, 感覺十分有意思也想測試看看。

3. 這次的策略參數都是自己憑直覺定義的, backtrader也有簡單的tune參數方法, 針對不同的投資標的本來就有不同合適的參數, 根據波動性決定策略參數這塊也蠻有意思的, 之後也想研究如何找出策略合適的參數。

這次的分享差不多就到這裡, 感覺要研究的東西好多, 希望能有更多成果, 能對自己的投資績效改善有幫助的話就更棒了XD

沒有留言:

張貼留言