Kelly動態配置真的有效嗎?
我原本想用Kelly每週調整0050與00631L,找到比買進持有更好的CAGR。樣本外結果沒有支持這個想法:每一種動態規則都輸給相同平均曝險的固定配置。
這不是「Kelly公式錯了」。Kelly仍然適合估計長期風險預算;失敗的是把落後波動率當成每週加減碼計時器。
先把問題寫對
如果動態策略平均持有1.6倍曝險,拿它和1倍的0050比較並不公平。它可能只是多承擔了60%的市場風險。真正的問題是:
同樣平均持有1.6倍,Kelly決定的加減碼時點,能不能贏過固定1.6倍?
只有答案為「能」,我們才能說訊號本身有用;否則看到的只是槓桿效果。
Kelly如何換成0050與00631L
這次回測限制在1~2倍股票曝險,不使用現金。令長期幾何報酬為g、正二額外成本為c、預測波動率為σ,測試規則為:
λ = max(1,min(個人上限,1 + Kelly折數 ×(λ* − 1)))
00631L權重 = λ − 1
0050權重 = 2 − λ
| 總曝險 | 0050 | 00631L |
|---|---|---|
| 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。它不能證明所有風險控制都無效,但已足以讓戰情表撤下「短期波動自動改變持倉」的權限。
研究怎麼避免後照鏡
第一個結果:近期十年只看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 | 最大回撤 | 年換手 |
|---|---|---|---|---|
| 動態Kelly | 1.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/回撤 | 結果 |
|---|---|---|---|
| 最高CAGR | 38.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% |
| 每年選最高CAGR | 38.9% | 41.6% | 3.9% |
| 每年選最高Calmar | 30.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擇時優勢。
這份研究還不能證明什麼
- 784組參數沒有做巢狀交叉驗證或多重比較校正。
- 參數選擇使用合成兩倍路徑;00631L上市後也沒有把實際基金歷史納入後續年度訓練。
- 臺灣50歷史檔尚未完成逐日「當時可取得版本」稽核,指數回補或修訂仍可能影響結果。
- 訓練與實際商品資料使用不同異常值門檻;原意是排除資料斷點,但仍可能低估尾端風險。
- 換手成本固定為0.1%,未完整模擬00631L價差、折溢價與大額交易滑價。更高成本通常只會讓動態策略更不利。
- 測試規則最低1倍,沒有檢驗完整Kelly降到現金或低於1倍的能力。
- 2016~2026是有利於槓桿的台股多頭,2008金融海嘯只在訓練期。
- 這次沒有重建歷史估值、EPS與融資資料,因此不能把結果外推到Part 3整套規則。
研究如何改變實際戰情表
結論不是放棄長期槓桿,而是把工作拆開:Part 2用EPS、合理P/E、目前點位、長期波動、Kelly折數與個人上限決定月度核心;Part 3每週更新短期波動、融資與點位,只顯示健康警示;Part 4保留樣本外研究,未通過驗證的趨勢或修復訊號不進入配置公式。
每月:重新計算並凍結核心配置
每週:更新健康狀態,不自動調倉
重大偏離:標記複查,由人決定是否提前重估
趨勢與修復訊號仍值得研究,例如120/200日均線、20日報酬轉正、下檔波動見頂回落,以及融資是否仍在增加;但在真正的樣本外測試通過以前,它們不應擁有交易權限。
這套「核心曝險+趨勢+修復」目前只是待驗證假設,不是研究成果,也不會先放進Part 3正式配置。它必須再次通過樣本外測試、同曝險固定基準與排列檢定,才有資格改動上線門檻。
資料與研究來源
臺灣50歷史資料:臺灣證券交易所指數資訊。槓桿ETF路徑理論:Avellaneda與Zhang(2010)。波動管理的正面證據:Moreira與Muir(2017);樣本外反面證據:Cederburg等人(2020)。本次精簡結果:研究JSON。