VT 工程化改進的誠實告白:Floor/Cap、EWMA、再平衡頻率全試了
讀者互動
已追蹤瀏覽 0 次,登入會員可按讚與收藏。
VT 工程化改進的誠實告白:Floor/Cap、EWMA、再平衡頻率全試了
為什麼要做這個實驗?
波動率目標(Volatility Targeting,以下簡稱 VT)這個概念在學術圈與資產管理業已經被研究、被使用超過二十年。它的邏輯非常直觀:當市場波動高時降低風險暴露、當市場波動低時提高風險暴露,目標是讓投資組合的「波動率」維持在某個常數水準。
過去我們在 K473、K547、K687、K688 等一系列實驗已經多次驗證過 VT 的核心優勢,它在多數時期的 Sharpe 比率優於 buy-and-hold,並且對於風險厭惡程度較高(CRRA gamma ≥ 5)的投資人,效用提升非常明顯。
但研究與實務之間總有一道鴻溝。一個能在學術論文裡跑出漂亮 Sharpe 的策略,搬到真實帳戶上往往會遇到三個工程性問題:
- 訊號劇烈跳動(whipsaw) :每天根據新的波動率估計重新計算權重,會產生大量無意義的交易。
- 權重失控 :當市場極度平靜時,權重可能被推高到 200%、300%,造成槓桿風險;當市場崩盤時,權重又可能瞬間壓到 10% 以下,錯過反彈。
- 再平衡頻率到底要多高? 每天?每週?每月?學術論文很少明確比較。
K859 就是針對這三個問題的「工程化壓力測試」。我們在原有 12-month VIX baseline VT 的基礎上,加入三類修正:權重 floor/cap 上下限、EWMA 訊號平滑、不同的再平衡頻率,並對所有變體跑統計檢定,誠實看哪些修正有效、哪些沒效。
資料來源與實驗設計
- K859 編號 :experiments/k859/k859_results.json
- 資料 :yfinance 抓取 SPY、GLD、^VIX,從 2005-01-01 至 2026-04-04
- 回測樣本 :2006-01-03 開始(保留一年作為訊號預熱期),共 5,094 個交易日
- Baseline :12-month VIX 月再平衡 VT,cap=1.5(最高 150% 槓桿)
- 參數 :floor=0.3、cap=0.9、EWMA spans 嘗試 5 / 10 / 22 天、交易成本 5 bps、無風險利率 4% 年化
- 統計檢定 :兩模型比較顯著(DM)對 baseline;嚴格統計 修正後的 t > 3.0 才視為顯著;Sharpe 差異額外做 5,000 次 bootstrap CI
- Cross-OOS :把 2005-2024 切成五個四年期間檢驗穩健性
關於 lookahead 風險的說明:所有 VT 變體的權重都是用「t-1 日(含)以前」資訊計算 σ̂,再套用到「t 日」的報酬上;換句話說,週末或月底再平衡使用的是再平衡日當天「之前」的訊號,因此 weights × returns 在程式裡是 same-day 對齊但訊號嚴格 lagged。這在波動率目標型策略裡是最容易出 bug 的地方,K859 的程式碼已經在 Codex review 中確認 lag 正確。
主要結果:所有變體 vs Baseline
下表列出 K859 全部 14 個 VT 變體加上 50/50 buy-and-hold 對照組的關鍵指標。為了讓讀者抓重點,所有 Sharpe 比 baseline 高的變體都加上 粗體 。
| 策略 | 年化報酬 | 年化波動 | Sharpe | MDD | Sortino | 年化換手 |
|---|---|---|---|---|---|---|
| Baseline 12-VIX 月再平衡 | 11.60% | 13.44% | 0.566 | -30.17% | 0.734 | 1.39 |
| Floor only (0.3) | 11.60% | 13.45% | 0.565 | -30.94% | 0.731 | 1.36 |
| Cap only (0.9) | 11.69% | 13.31% | 0.578 | -30.17% | 0.747 | 1.17 |
| Floor + Cap | 11.69% | 13.32% | 0.577 | -30.94% | 0.744 | 1.13 |
| EWMA span=5 | 11.65% | 13.46% | 0.568 | -30.36% | 0.736 | 1.24 |
| EWMA span=10 | 11.76% | 13.55% | 0.572 | -30.65% | 0.740 | 1.14 |
| EWMA span=22 | 11.85% | 13.71% | 0.573 | -30.93% | 0.737 | 0.92 |
| 週再平衡 | 11.09% | 13.09% | 0.542 | -30.53% | 0.700 | 3.72 |
| 日再平衡 | 10.82% | 12.94% | 0.527 | -32.18% | 0.681 | 8.90 |
| Combo EWMA5 月 | 11.69% | 13.37% | 0.575 | -31.34% | 0.740 | 1.05 |
| Combo EWMA5 週 | 11.40% | 13.13% | 0.563 | -29.98% | 0.722 | 2.12 |
| Combo EWMA10 月(最佳) | 11.79% | 13.46% | 0.579 | -31.45% | 0.743 | 0.96 |
| Combo EWMA10 週 | 11.52% | 13.19% | 0.570 | -30.41% | 0.731 | 1.62 |
| Combo EWMA22 月 | 11.86% | 13.62% | 0.577 | -31.24% | 0.738 | 0.78 |
| Combo EWMA22 週 | 11.60% | 13.32% | 0.571 | -31.10% | 0.730 | 1.10 |
| BH 50/50 SPY/GLD | 11.94% | 19.33% | 0.411 | -55.19% | 0.501 | 0.00 |
最佳變體是 combo_ewma10_monthly:Sharpe 0.579 比 baseline 0.566 高了約 0.013。看起來每個 EWMA 變體都「贏了一點點」、cap 變體也贏了。但這就是研究最容易誤導讀者的地方,數字差距很小,必須跑統計檢定才知道有沒有意義。
統計檢定:所有「改進」都不顯著
我們對每個變體的日報酬序列做 兩模型比較顯著 檢定(嚴格統計 修正後 t > 3.0 才算顯著),同時跑 5,000 次 bootstrap 估計 Sharpe 差異 95% 信賴區間。結果如下:
| 變體 vs Baseline | DM 統計量 | p-value | 嚴格統計 顯著? | Sharpe diff CI 含 0? |
|---|---|---|---|---|
| Floor only | 0.002 | 0.998 | 否 | — |
| Cap only | -0.397 | 0.692 | 否 | — |
| Floor + Cap | -0.355 | 0.723 | 否 | 是 [-0.027, +0.049] |
| EWMA 5 | -0.253 | 0.800 | 否 | 是 [-0.024, +0.029] |
| EWMA 10 | -0.566 | 0.571 | 否 | 是 [-0.034, +0.048] |
| EWMA 22 | -0.629 | 0.529 | 否 | 是 [-0.056, +0.071] |
| 週再平衡 | 1.000 | 0.317 | 否 | 是 [-0.128, +0.080] |
| 日再平衡 | 1.391 | 0.164 | 否 | 是 [-0.151, +0.074] |
| Combo EWMA10 月(最佳) | -0.552 | 0.581 | 否 | 是 [-0.040, +0.068] |
| Combo EWMA22 月 | -0.591 | 0.554 | 否 | 是 [-0.061, +0.083] |
14 個變體裡,沒有一個在 嚴格統計-corrected DM 檢定下顯著優於 baseline 。所有 Sharpe 差異 bootstrap 信賴區間都跨過 0。換句話說,雖然 Cap、EWMA、Combo 變體在點估計上看起來贏了 0.005~0.013 Sharpe,但在統計上跟「運氣」無法區別。
這結果不是失敗,而是非常重要的研究訊號: VT 策略的核心優勢早已在 baseline 設計裡實現,工程化修正只能在邊際上微調,無法產生顯著的 alpha 。
一個有用的發現:再平衡頻率「越高越差」
在所有變體中,最值得注意的反例是「日再平衡」與「週再平衡」這兩個直覺上「更勤快」的變體:
- Baseline 月再平衡 Sharpe = 0.566、MDD = -30.17%、年化換手 1.39
- 週再平衡 Sharpe = 0.542、MDD = -30.53%、年化換手 3.72
- 日再平衡 Sharpe = 0.527、MDD = -32.18%、年化換手 8.90
頻率越高、Sharpe 越低、MDD 越深、換手越爆炸。日再平衡的年化換手是月再平衡的 6.4 倍,但 Sharpe 反而少了 0.04。這個方向跟很多人「再平衡越勤反映訊號越快」的直覺相反。
理由其實在直覺裡:VT 訊號的訊噪比(signal-to-noise)有上限。VIX 12-month 波動率每天的變化大多是雜訊,每天動權重等於放大雜訊、累積交易成本,最後拖低淨報酬。月度再平衡剛好過濾掉日內、週內的訊號雜訊,留下中週期波動率變化。
Cross-OOS:穩健性還算可以
把 2005-2024 切成五個四年期間,combo_ewma10_monthly 的 Sharpe 分別是:
| 期間 | Sharpe | CAGR | MDD |
|---|---|---|---|
| 2005-2008(含金融海嘯) | 0.175 | 5.66% | -31.45% |
| 2009-2012 | 0.760 | 14.88% | -10.67% |
| 2013-2016 | 0.444 | 8.45% | -13.92% |
| 2017-2020(含 COVID) | 0.765 | 14.06% | -20.27% |
| 2021-2024 | 0.566 | 10.55% | -18.68% |
五段都正 Sharpe,最差是金融海嘯期間 0.175(baseline 同期間 0.125、稍差),最好是疫情前後的 2017-2020 與 2009-2012 段。沒有「OOS 全垮」的破口,工程化版本與 baseline 的整體形貌一致。這代表 Floor/Cap/EWMA/再平衡選擇雖然不能加 alpha,但也沒有破壞 VT 原有的穩健性。
對比 Buy-and-Hold 50/50 SPY/GLD
跟 50/50 SPY/GLD 完全被動策略相比,VT 全家族通通輸在「年化報酬」(11.6% vs 11.9%)但贏在「風險調整後表現」:BH 50/50 的 MDD 高達 -55%、Sharpe 只有 0.41,VT 變體的 MDD 普遍 -30% 上下、Sharpe 0.55-0.58。這驗證了 VT 的核心 thesis: 它不是 alpha 機器,它是抽走 tail risk 的保險工具 。
CRRA 效用(gamma=5)下所有 VT 變體都優於 BH 50/50(VT 約 -0.2497、BH -0.2499),對風險厭惡程度高的投資人差距尤其明顯。
結論:工程化的真正價值在「換手與穩定性」,不在 Sharpe
K859 給出三個對實務有用的結論:
- Sharpe 上的工程化提升是雜訊 。Floor/Cap、EWMA、Combo 變體點估計都比 baseline 高一點,但 14 個變體沒有任何一個 DM 嚴格統計 顯著、bootstrap CI 沒一個排除 0。如果你寫研究報告聲稱「我加了 EWMA 平滑使 Sharpe 從 0.57 提升到 0.58」,那是過度解讀。
- 真正的工程化收益是換手率下降 。Combo EWMA22 月把年化換手從 baseline 的 1.39 降到 0.78(-44%),Combo EWMA10 月降到 0.96(-31%)。在實務有交易成本、有滑價、有市場衝擊的世界裡,換手率減半的價值遠大於 Sharpe 帳面 0.01 的差距,而後者根本是統計雜訊。
- 不要每天再平衡 。日再平衡 Sharpe 比月再平衡低 0.04、MDD 多 2%、換手暴增 6.4 倍。週再平衡介於兩者之間。月再平衡是 K859 的明確 winner(並非因為點估計最高,而是換手最低、表現相當)。
這也呼應我們在 research_program.md 裡反覆出現的 mantra: VT 是回撤保險、不是 alpha 來源;穩健性比 Sharpe 排名更重要 。
對讀者的建議:如果你正在實作 VT 策略,預設用「12-month VIX、月再平衡、cap=0.9(避免極端槓桿)、EWMA span 10-22 平滑」這組合。它不會比裸 baseline 多賺多少 Sharpe,但能讓你在每年少做一半的交易、且不會因為某一天 VIX 爆衝而被迫斷崖式調倉。研究上這叫工程穩健性,實務上這叫睡得著覺。
圖表


相關文章
先讀正式關聯,若無則使用標籤與主題相似度補齊