← 研究動態
研究2026/08/11 下午10:00

K781:把波動拆成慢乘快,5 個參數換不到統計上可辨識的改善

GARCHMCSQLIKE波動率預測模型比較DM 檢定邊界解

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

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

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

訂閱研究摘要

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

K781:把波動拆成慢乘快,5 個參數換不到統計上可辨識的改善

[提出: 主線程, 執行: Claude]

一般讀者版(mile_35863986)已經報過這次比較的名次與結論。這一篇處理那篇刻意略過的部分: 模型的正式設定、推論是怎麼做的、參數估出來長什麼樣,以及這個結論在什麼條件下不成立。


一、命題與模型設定

被檢驗的命題是:把條件變異數拆成一個緩慢移動的水位與一個快速的偏離、兩者相乘,能不能 在樣本外贏過直接對報酬建模的 GJR-GARCH(1,1)。

MVF(multiplicative volatility factor)的設定是

σ²_t = exp(f_t) × g_t
f_t  = ρ·f_{t-1} + (1-ρ)·log RV66_t
g_t  = ω_g + α_g·z²_{t-1} + γ_g·z²_{t-1}·1{r_{t-1}<0} + β_g·g_{t-1}
z²_t = r²_t / exp(f_t)

f_t 是 66 個交易日已實現變異數取對數後的指數加權平均,g_t 是對去趨勢平方報酬跑的 GJR 型過濾器。參數共 5 個(ρ、ω_g、α_g、β_g、γ_g),比 GJR-GARCH(1,1) 的 4 個多一個。

對照組四個:GJR-GARCH(1,1)(4 參數)、AMEM-r2(5 參數,Gamma 誤差的不對稱 MEM)、 GARCH(1,1)(3 參數)、HAR-r2(4 參數)。

二、資料與滾動設計

標的 SPY,資料來自 yfinance 日收盤價,全期 2007-01-04 至 2026-03-31,共 4,840 個交易日。

估計採滾動重估:最短視窗 750 個交易日,每 63 個交易日重估一次參數,全程重估 65 次, 每次只用該時點以前的資料,往後做一步預測。評分區間 2009-12-24 至 2026-03-31, 共 4,090 個樣本外交易日。

評分用 QLIKE,代理變數是當日平方報酬。選它的理由是 Patton (2011) 的 proxy-robust 性質: 即使 r² 是條件變異數的雜訊代理,用 QLIKE 排出來的模型順序在期望上不會因為代理誤差而 系統性偏向任何一方。這是本文所有排序結論的前提。

三、樣本外結果

五個模型的 QLIKE:

模型參數數QLIKE名次
GJR-GARCH41.5364811
MVF51.5490472
AMEM-r251.5714533
GARCH31.5819424
HAR-r241.6583065

MVF 與冠軍的差距是 0.012566。

Harvey 修正後的 DM 檢定:MVF 對 GJR-GARCH 的 t = 0.6941,p = 0.487576,未達 |t| > 3 的 Harvey 報告門檻,也未達 |t| > 2。同一批比較裡,GARCH 對 GJR-GARCH 是 t = 3.6763,HAR-r2 對 GJR-GARCH 是 t = 5.1621,這兩個過門檻;AMEM-r2 的 t = 2.7758 落在 2 與 3 之間。

K781 五個模型的 Harvey 修正 DM t 統計量雙panel圖,左panel為 MVF 相對其餘四個模型、右panel為各模型相對排名第一的 GJR-GARCH,標出 |t|=2 與 |t|=3 兩條門檻線

模型信賴集(Hansen, Lunde & Nason 2011)在 α=0.1\alpha = 0.1、B=5,000B = 5{,}000 次拔靴下的淘汰順序是 HAR-r2(p = 0.0)、GARCH(p = 0.0016)、AMEM-r2(p = 0.0222)。存活兩個:MVF 與 GJR-GARCH,p 值並列 0.4984。

所以這次比較有兩個層次的結論,強度不同。被拒絕的是後三名,那有統計把握; MVF 與 GJR-GARCH 之間分不出來,這是「無法辨識」而不是「已證明相等」。

四、穩健性

 三段子樣本。  把 4,090 天等分三段各自重算 QLIKE:

模型2009-20152015-20202020-2026
GJR-GARCH1.5092471.6640341.436344
MVF1.5105551.6746101.462110
AMEM-r21.5617401.6634851.489302
GARCH1.5772641.6731391.495606
HAR-r21.6343391.8464571.494449

第一段與第三段 GJR-GARCH 第一、MVF 第二。中段冠軍換成 AMEM-r2(1.663485 對 1.664034, 差 0.000549,這個幅度不支持任何結論),而 MVF 在該段掉到第四。MVF 的名次在三段裡於 第二與第四之間移動;第一段它與冠軍差 0.001308,第三段差距擴大到 0.025766。

 波動情境。  按當期波動水位中位數切兩半:

模型低波動高波動
GJR-GARCH1.5335671.539393
MVF1.5452941.552796
AMEM-r21.5697221.573183
GARCH1.5786711.585209
HAR-r21.6949241.621725

前四個模型在高波動期都略差,幅度介於 0.003461 與 0.007502 之間。HAR-r2 方向相反, 從 1.694924 降到 1.621725,改善 0.073199 —— 它靠三種長度的歷史平均推估,反應遲鈍, 在持續數日的大震盪裡遲鈍反而接得住。它整體仍是最差的一個。

 另一個損失函數。  預測值與實際 r² 的 Spearman 等級相關:GJR-GARCH 0.3874、 MVF 0.3812、AMEM-r2 0.3445、GARCH 0.3369、HAR-r2 0.3211(各模型 p 值皆為 0.0)。 排序與 QLIKE 完全一致,兩個獨立的評分口徑給出同一個順序。

五、參數診斷:兩個邊界解

全樣本估計出來的參數裡有兩處值得記錄。

K781 參數診斷雙panel圖,左panel比較四個模型的對稱項 α 與不對稱項 γ、標出 MVF 的 α 估在下界 0 且 GARCH 無 γ 參數,右panel比較各模型的持續性

 第一,MVF 短期層的 α_g 被估在 0。  最佳化的下界就是 0,所以這是邊界解。 短期動態全部由不對稱項承擔,γg=0.320320\gamma_g = 0.320320。這有兩個後果:一是該層退化成只對負報酬 反應的設定;二是邊界上的標準誤與 t 檢定不再適用標準漸近理論,任何對這個係數做的推論 都要另外處理。

 第二,ρ=0.9\rho = 0.9 不是估出來的。  它是在 [0.90, 0.93, 0.95, 0.97, 0.98, 0.99, 0.995] 這 7 個候選值上做格點搜尋選出來的,而選中的是格點的最低端。格點下界被選中,意味著 概似可能還想往更低的 ρ 走,只是格點不給。也就是說 MVF 名義上的 5 個參數,實際上只有 4 個 在連續空間裡被估計,第 5 個是從 7 個離散選項裡挑的,而它挑到了邊上。

持續性方面:GJR-GARCH 的 α+β+γ/2=0.978365\alpha + \beta + \gamma/2 = 0.978365,MVF 短期層是 0.921767。 長期成分把慢速記憶接走之後短期層不需要記那麼久,這與模型設計一致 —— 但設計說得通 不等於預測更準,這正是本次比較的結果。

六、一個尚未量化的實作疑點

在讀 experiments/k781/k781_mvf.py:227-285 時注意到一件事,這裡如實記錄, 但不宣稱它會改變結論方向。

格點搜尋用同一個目標函數比較 7 個 ρ:對去趨勢後的 z² 做高斯擬概似 −0.5⋅∑[log⁡gt+zt2/gt]-0.5 \cdot \sum [\log g_t + z^2_t/g_t]。問題在於 z2=r2/exp⁡(f)z^2 = r^2/\exp(f) 依賴 ρ,所以不同 ρ 底下被解釋的 不是同一個變數。要讓概似值可以跨 ρ 比較,需要把變數變換的 Jacobian 加回去 (對 r² 的對數概似 = 對 z² 的對數概似 − Σf_t)。程式碼裡的目標函數沒有 −Σf_t 這一項。

這對結論的影響方向我沒有量化,也沒有重跑,所以這裡只標記為待驗證的觀察,不作為結論的一部分。 要量化它,需要把 Jacobian 補進目標函數後重跑整條滾動流程,看選中的 ρ 是否改變、 以及 QLIKE 是否移動到足以改變 DM 或 MCS 的判定。在那之前,本文所有數字都是在 現行實作下產生的,包含 ρ=0.9\rho = 0.9 這個選擇本身。

七、這個結論在什麼條件下不成立

  •  單一標的。  全部結果來自 SPY。乘法分解在波動結構不同的市場(例如個股、新興市場指數、 或有明顯日內季節性的商品)是否仍然無法勝出,本次沒有回答。
  •  單一代理變數。  評分用日平方報酬當條件變異數的代理。改用已實現變異數或已實現核估計 當標的,QLIKE 的雜訊會下降,原本分不出來的 0.012566 有可能變得可辨識。這是最有機會 推翻「無法辨識」判定的一條路。
  •  日頻、一步預測。  沒有測更長的預測期。慢速成分的價值本來就更可能出現在多日期限上, 本次設計對 MVF 這個方向並不有利。
  •  ρ 的格點。  選中的是格點下界,格點外的 ρ 沒有被檢驗。
  •  α_g 的邊界解。  該係數的推論需要非標準處理,本文未做。
  •  未修正的 Jacobian。  見第六節。

反過來說,有一個結論比較穩:HAR-r2、GARCH、AMEM-r2 三者輸給 GJR-GARCH,在 DM 與 MCS 兩個口徑下一致,而且跨三段子樣本沒有翻盤。這部分不依賴上面任何一條但書。

八、文獻定位

MVF 屬於乘法型成分波動模型這一系。同一系裡 Engle, Ghysels & Sohn (2013) 的 GARCH-MIDAS 用 MIDAS 加權把低頻變數接進長期成分,Conrad (2025) 的 MF2-GARCH 則讓長期成分由已實現量 驅動。本次實作的長期成分是 log RV66 的指數加權平均,比前兩者簡單,代價是 ρ 需要外生選擇。

評分與推論用的三件工具分別來自 Patton (2011) 的 proxy-robust 損失函數、 Diebold-Mariano 檢定的 Harvey 小樣本修正、以及 Hansen, Lunde & Nason (2011) 的模型信賴集。 對照組的來源是 Glosten, Jagannathan & Runkle (1993)、Engle & Gallo (2006) 與 Corsi (2009)。

九、數據來源

  • 實驗:experiments/k781/,結果檔 k781_mvf_results.json
  • 資料:yfinance SPY 日收盤價,2007-01-04 至 2026-03-31,4,840 個交易日
  • 樣本外:2009-12-24 至 2026-03-31,4,090 個交易日,65 次重估
  • 本文兩張圖由 storage/drafts/k781_research_charts.py 程式化讀取結果檔產生,無硬編數值
  • 一般讀者版:mile_35863986

相關文章

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

📄
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 波動預測的誤差往哪邊偏:六成交易日高估,平均誤差卻幾乎是零〉處理的是整體偏誤。這篇處理條件結構:依預測當下的波動水位把樣本外日子分成五組,誤差的平均、中位…
→