← 研究動態
研究2026/06/16 上午07:00

看起來很準,卻完全沒用:一個 GARCH 指標的預測失敗紀錄

GARCHVRP波動率研究誠實過度擬合變異風險溢酬NULL結果

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

收藏、追蹤與明日提醒只保存必要識別資料,可在會員中心檢視或刪除。

研究資訊不構成個人投資建議;提醒僅代表研究更新,不代表交易訊號。

訂閱研究摘要

研究摘要與新文章,不轉售、不寄廣告,隨時可退訂。

看起來很準,卻完全沒用:一個 GARCH 指標的預測失敗紀錄

 數據 :SPY 2005-01-05 至 2026-04-08,共 5,347 個交易日
 OOS 樣本 :2019-01-01 起,共 1,826 天
 實驗編號 :K998


故事從一個想法開始

在上一個實驗 K988b 裡,我們檢查了 MF-GJR-X 類模型的 g 成分和 VRP 的同期 rank correlation。接下來的想法很自然:如果 g 能提前看出 VRP 的方向,或許可以設計一個 variance swap 交易訊號。

K998 專門測這件事。它不問「g 是否和當下狀態一起動」,而是問更嚴格的問題:g 能不能預測未來 VRP,並在樣本外變成有用的交易訊號?


三層檢驗

第一層是 Granger causality test。短期 horizon 看起來很漂亮:

預測期間F 統計量p 值顯著?
1 天後(h=1)47.36< 0.001是
5 天後(h=5)23.38< 0.001是
10 天後(h=10)13.90< 0.001是
22 天後(h=22)2.530.112否

K998 圖一:Granger F 統計量顯著,但 Newey-West t 統計量未達 Harvey 門檻

如果只看這張表,你會覺得這個指標很有用。但這只是樣本內線性關係,不等於可靠預測。

第二層是預測迴歸。我們控制 VRP 自身 lag 後,看 g 的係數是否還有增量,並用 Newey-West 標準誤與 Harvey et al.(2016)建議的 |t| > 3.0 門檻。

預測期間NW t 統計量(g 係數)通過 Harvey 門檻?
h=1-1.91否
h=5-1.69否
h=10-1.49否
h=22-1.39否

所有 horizon 都沒有過 |t| > 3.0。g 在 Granger 表裡看起來強,但控制 VRP 自身 lag 後,沒有達到金融預測因子該有的保守門檻。

第三層是樣本外 R²,採 h-step expanding 預測:每次預測 t+h 時,訓練資料只包含 target date 已經實現的 pair,避免 h>1 時偷看到 t+1 到 t+h-1 的 outcome。

預測期間OOS R²(純 g 模型)OOS R²(AR1 + g)
h=1+0.013-0.058
h=5-0.015-1.260
h=10-0.033-3.859
h=22-0.012-0.018

有效評估樣本為 1,531-1,573 天。h=1 的純 g 模型有微小正值,但 Clark-West 一側檢定在 5% 水準下不顯著(p=0.095,四個 horizon 做 Holm 調整後 0.337)。h=5 以上全部為負,AR1+g 在 h=5 和 h=10 甚至大幅輸給歷史均值。


策略測試

最後看交易。K998 的 variance swap 訊號實作如下:

  • 用前一天的 g 值作為訊號(signal.shift(1))
  • g 高於 expanding median -> 賣波動率,收 VRP
  • g 低於 expanding median -> 買波動率

策略在 OOS 期間(2019-2026,n=1,574 天)的成績:

策略年化 Sharpe
g 訊號策略-0.90
Naive 永遠賣波動率+0.84

K998 圖二:lookahead-clean OOS R² 與策略 Sharpe

這是最直接的判決。用 g 做訊號,結果比什麼都不看、永遠賣波動率還差很多。統計上看起來有關係的東西,搬到交易上反而變成負貢獻。


為什麼 Granger 顯著,預測卻失效?

同期狀態 proxy 不等於前瞻預測能力。MF-GJR-X 的 g component 反映的是模型裡的 variance decomposition,它可以和市場壓力同時變化,但這不代表它知道明天或下週的 VRP 會往哪裡走。

VRP 本身也很吵。K998 的 OOS 期間裡,VRP 日頻一階自相關只有 0.20;年化均值約 78.7 bps,但年化標準差高達 1,362 bps。訊噪比太低時,樣本內 Granger 顯著很容易在樣本外消失。

這也是 NULL result 值得公開的原因。K998 記錄的是一個明確失敗:g 成分沒有通過 Harvey 門檻,lookahead-clean OOS R² 幾乎全負,交易 Sharpe 也輸給 naive baseline。它告訴我們不要把 MF-GJR-X 的 g 成分拿去當 VRP timing signal。


限制

  • VRP proxy 是日頻近似:(VIX_{t-1}/100)^2/252 - r_t^2,不是 option-level model-free VRP。
  • OOS 含 COVID 極端期,會放大 VRP 雜訊。
  • 只測 SPY,未跨資產驗證。
  • results JSON 的 CW_* 欄位是 Clark-West adjusted MSPE 一側檢定(常態近似),四個 horizon 另做 Holm 調整。

下一步若要繼續,應該改測截面 VRP 差異,而不是單一資產的日頻時間序列 timing。


本文所有統計數字均來自 K998 實驗(experiments/k998/k998.py,結果:experiments/k998/k998_results.json)。資料來源:yfinance SPY 與 ^VIX;資料期間 2005-01-05 至 2026-04-08,OOS 自 2019-01-01。

相關文章

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

📄
K1378:VIX 長期成分讓 SPY 波動預測勝過 GJR-GARCH,這個優勢在疫情窗外更穩定
做風險控管或選擇權定價的人,常要在兩種日頻波動模型之間取捨:只用報酬本身的 GJR-GARCH,或在 GARCH 之外加一個由 VIX 驅動的長期成分。後者多了一個外部變數要維護,值不值得,要看它的預測優勢從哪裡來。如果優勢只來自 2020 年那種市場崩跌的少數日子,平常用它就只是多背一個依賴;如果優勢出現在一般日子,它才是日常可用的改進。 K1378 用 SPY 的樣本外一步預測回答這個問題:A…
→
📄
K1884:拿 VIX1D 對照 SPY 同一天的已實現變異,年化分母、報價時點與盤中窗口各自能把答案改掉多少
一般讀者版〈一日恐慌指數開盤報的當日變異,平均是 SPY 盤中實際的 1.56 倍:這個數字該怎麼讀〉給的是水準與讀法。這篇處理做這個比較時要先決定的三件事:VIX1D 要除以哪一個年化分母、要拿哪一個時點的報價、已實現變異要涵蓋盤中哪一段。 K1884 的結果顯示,這三個選擇造成的偏移,與要量的效果同一個量級;選錯任何一個,程式不會報錯,只會回答另一個問題。 先釐清估計量。K1884 量的是同一…
→
📄
K1862:HAR-RV 一個月波動預測的誤差,平均偏誤不隨波動水位變號,隨水位變寬的是誤差分布
用 HAR-RV 預測未來一個月波動的人,常會想加一層修正:波動很高時把預測往下調,波動很低時往上調,理由是 HAR 的均值回歸可能修正過頭。這層修正值不值得加,取決於 HAR 的誤差是否真的隨預測當下的波動水位系統性變號。 一般讀者版〈HAR 波動預測的誤差往哪邊偏:六成交易日高估,平均誤差卻幾乎是零〉處理的是整體偏誤。這篇處理條件結構:依預測當下的波動水位把樣本外日子分成五組,誤差的平均、中位…
→