MY 生活誌
台股動態槓桿・Part 4

Kelly動態配置真的有效嗎?

我原本想用Kelly每週調整0050與00631L,找到比買進持有更好的CAGR。樣本外結果沒有支持這個想法:每一種動態規則都輸給相同平均曝險的固定配置。

個人札記・2026 年 8 月 14 日・約 12 分鐘・接續〈台股動態槓桿(三)
免責聲明:本文是模型研究記錄,不構成投資建議。回測無法保證未來績效;00631L每日重設槓桿,可能承受遠高於0050的回撤。
樣本外結論純波動Kelly沒有提高CAGR它贏0050,是因為平均曝險較高;換成相同平均曝險後,固定配置反而更好。
單次訓練後測試30.4% vs 36.6%動態Kelly CAGR/同曝險固定CAGR

這不是「Kelly公式錯了」。Kelly仍然適合估計長期風險預算;失敗的是把落後波動率當成每週加減碼計時器。

先把問題寫對

如果動態策略平均持有1.6倍曝險,拿它和1倍的0050比較並不公平。它可能只是多承擔了60%的市場風險。真正的問題是:

同樣平均持有1.6倍,Kelly決定的加減碼時點,能不能贏過固定1.6倍?

只有答案為「能」,我們才能說訊號本身有用;否則看到的只是槓桿效果。

Kelly如何換成0050與00631L

這次回測限制在1~2倍股票曝險,不使用現金。令長期幾何報酬為g、正二額外成本為c、預測波動率為σ,測試規則為:

λ* = 0.5 + (g − c) / σ²
λ = max(1,min(個人上限,1 + Kelly折數 ×(λ* − 1)))

00631L權重 = λ − 1
0050權重 = 2 − λ
總曝險005000631L
1.00×100%0%
1.25×75%25%
1.50×50%50%
1.75×25%75%
2.00×0%100%

這次直接否定的是每週波動擇時。這裡的曝險最低為1倍,g是6%~18%的參數網格,σ採滾動窗或EWMA。它不能證明所有風險控制都無效,但已足以讓戰情表撤下「短期波動自動改變持倉」的權限。

研究怎麼避免後照鏡

先用2006~2015年選參數。這段包含2008金融海嘯,參數選擇看不到2016年之後的結果。
2016~2026年完全留作樣本外測試。測試期使用實際0050與00631L的調整後價格。
訊號在前一週收盤形成。下一個交易週才調整,另扣每次換手0.1%的成本。
搜尋784組設定。比較不同波動率視窗、EWMA、g假設、Kelly折數與1.25~2倍上限。
每年再做一次十年滾動訓練。每到新年度,只用之前十年重選下一年參數。
最後做2,000次曝險排列檢定。保留同一批曝險高低與平均曝險,只打亂它們出現在哪一週。

第一個結果:近期十年只看CAGR,後照鏡答案就是正二

固定配置總曝險2016~2026 CAGR最大回撤
0050 100%1.00×24.7%−33.8%
0050 75%+00631L 25%1.25×29.8%−38.6%
0050 50%+00631L 50%1.50×34.7%−43.1%
0050 25%+00631L 75%1.75×39.6%−48.8%
00631L 100%2.00×44.4%−55.1%

這段剛好是台股很強的十年。即使讓程式看完測試期再挑參數,最佳結果仍接近固定2倍。這證明近期正二的高報酬,但沒有證明任何擇時能力。

第二個結果:Kelly贏0050,卻輸給同曝險固定配置

2006~2015年選出的最高CAGR設定是120日波動率、g假設6%、Full Kelly、上限2倍。放到2016~2026年後,平均曝險約1.60倍:

策略平均曝險CAGR最大回撤年換手
動態Kelly1.60×30.4%−49.3%1.28×
同曝險固定配置1.60×36.6%−44.7%0.23×

這組Kelly確實大幅贏過0050的24.7%,但原因是它平均持有1.60倍。把曝險拉到同一水準後,動態調整少了6.2個百分點CAGR,最大回撤還更深。

逐年重選參數,結論仍然一樣

每年選擇目標動態CAGR/回撤同曝險固定CAGR/回撤結果
最高CAGR38.9%/−53.5%42.8%/−53.2%固定勝3.9pp
最高CAGR,訓練回撤不超過60%38.4%/−53.5%42.4%/−52.6%固定勝4.0pp
最高CAGR/回撤比30.3%/−39.3%34.4%/−42.8%少3.5pp回撤,犧牲4.1pp CAGR

若投資人的首要目標是降低回撤,最後一列可能有價值;若目標是最高CAGR,三種方法都沒有勝過同曝險固定配置。

排列檢定:不只是動態槓桿本身的複利拖累

我把每套策略原本使用的曝險值保留下來,隨機打亂出現週次2,000次。如果Kelly只是沒有方向能力,真實時序應接近隨機分布中央;若落在很低的百分位,表示實際加減碼時點偏差。

策略真實CAGR隨機CAGR中位數真實時序百分位
單次訓練30.4%33.3%16.7%
每年選最高CAGR38.9%41.6%3.9%
每年選最高Calmar30.3%31.0%37.8%
CAGR+回撤限制38.4%41.0%5.0%

最高CAGR與回撤限制版本落在隨機排列最差約5%。這不只是否定「動態曝險必然有複利拖累」的單一解釋,也顯示落後波動率的實際時點與後續報酬呈現不利關係。Calmar版本接近隨機,沒有明顯CAGR擇時能力。

2020年把問題放大給我們看

用2006~2015一次選定、之後不再調參數的版本,2020年動態Kelly平均曝險降到1.40倍,全年報酬13.1%;同全期平均1.60倍的固定配置為53.4%。較嚴格的年度走勢外推版本,只用截至2019年的資料選2020參數,當年動態策略報酬39.5%,同平均1.92倍固定配置為65.2%。

兩個版本的數字不同,但失敗方式相同:下跌發生前,歷史波動還不高;暴跌後波動升高,Kelly才降槓桿;V型反彈開始時,落後波動仍然很高,曝險沒有及時恢復。

Claude的獨立審查

我請Claude以唯讀方式檢查公式、程式時序、基準公平性與研究限制。它確認Kelly推導在g為幾何報酬的前提下成立,也認為「相同平均曝險的固定配置」是必要而公平的基準。它的總結很直接:目前研究結果否定這組純波動Kelly具有CAGR擇時優勢。

Claude另外提醒:784組參數相對於約十年的週資料,仍有明顯的多重選擇與過度擬合風險。即使如此,所有樣本外版本仍輸給固定基準;這使負面結論比任何一組漂亮參數更值得相信。

這份研究還不能證明什麼

研究如何改變實際戰情表

結論不是放棄長期槓桿,而是把工作拆開:Part 2用EPS、合理P/E、目前點位、長期波動、Kelly折數與個人上限決定月度核心;Part 3每週更新短期波動、融資與點位,只顯示健康警示;Part 4保留樣本外研究,未通過驗證的趨勢或修復訊號不進入配置公式。

季度/法說:更新EPS、成長與合理點位假設
每月:重新計算並凍結核心配置
每週:更新健康狀態,不自動調倉
重大偏離:標記複查,由人決定是否提前重估

趨勢與修復訊號仍值得研究,例如120/200日均線、20日報酬轉正、下檔波動見頂回落,以及融資是否仍在增加;但在真正的樣本外測試通過以前,它們不應擁有交易權限。

這套「核心曝險+趨勢+修復」目前只是待驗證假設,不是研究成果,也不會先放進Part 3正式配置。它必須再次通過樣本外測試、同曝險固定基準與排列檢定,才有資格改動上線門檻。

資料與研究來源

臺灣50歷史資料:臺灣證券交易所指數資訊。槓桿ETF路徑理論:Avellaneda與Zhang(2010)。波動管理的正面證據:Moreira與Muir(2017);樣本外反面證據:Cederburg等人(2020)。本次精簡結果:研究JSON