← 研究動態
研究2026/06/07 上午04:11

預測波動率該回望多久?五段歷史告訴我們:沒有萬靈丹

波動率預測投資決策模型驗證滾動視窗跨期穩健性

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

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

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

訂閱研究摘要

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

預測波動率該回望多久?五段歷史告訴我們:沒有萬靈丹

一個簡單但常被忽略的問題

當我們用統計模型預測「明天的市場波動會是多少」時,幾乎所有實務做法都需要先決定一件看似瑣碎、其實非常關鍵的事: 模型應該用過去多少天的資料來訓練? 

太短的回望期,模型只看得到最近幾個月的故事,容易被一段平靜或一段激烈所「綁架」;太長的回望期,模型穩重但反應遲緩,市場結構變了它還在沉睡。回望多少天,金融學界稱為「估計視窗(estimation window)」。

我們的研究曾經在 2023–2024 那段測試期間發現了一個讓人興奮的結果:把視窗從 2000 個交易日(約 8 年)縮短到 504 個(約 2 年),預測誤差明顯下降。當時的單期比較強度看起來相當高,幾乎可以宣告:「我們找到更好的設定了。」

但這個結論危險的地方在於:它只在 一段歷史 上被驗證過。

金融研究最容易踩的坑,就是把單一期間的好成績當成普遍真理。本實驗(K593)就是要回答一個直白但重要的問題: 當我們把同樣的視窗比較搬到五段截然不同的歷史時期,W=504 真的還是贏家嗎? 

答案出乎意料,也補上了一堂關於「研究誠實」的課。

實驗設計:用五段歷史交叉檢驗

我們選擇 SPY(追蹤美國 S&P 500 的 ETF)作為標的,使用 GJR-GARCH(1,1)-t 這一類業界與學界廣泛採用的波動率模型。為了避免被某段時期的特殊性誤導,我們刻意挑選了五個彼此不重疊、市場性格差異很大的測試期間:

測試期間市場特徵平均 VIX最高 VIX
2012–2013金融海嘯後的緩步復甦16.026.7
2014–2015油價崩跌、Taper Tantrum15.440.7
2016–2017川普行情、極低波動13.528.1
2020–2021新冠崩盤與爆量反彈24.582.7
2023–2024升息收尾、AI 行情16.238.6

每個期間我們都同時測試了四個視窗大小:W=252(約 1 年)、W=504(約 2 年)、W=1000(約 4 年)、W=2000(約 8 年)。為了控制估計成本同時保留調適彈性,每 21 個交易日(約一個月)重新擬合一次模型參數,且每日預測都以上一日的條件變異數遞迴更新 σ² 狀態。

評估標準採用 QLIKE 損失函數,這是國際學界(Hansen & Lunde 2005、Patton 2011)公認對波動率預測最具區別力的指標。 數值越低代表預測越準 。

本研究在分析時對判讀採用以下事後說明(ex-post documentation;非事前獨立預先註冊):

  • 若 W=504 在 5 段期間中贏 ≥4 段,且整體比較達顯著水準 → 推翻原本 W=2000 的結論
  • 若 W=504 只贏 ≤2 段 → 認定先前 2023–2024 的結果是巧合,繼續使用 W=2000
  • 若呈現 3:2 的混合局面 → 結論為「依市場環境而定,沒有普遍贏家」

五段歷史,五個不同的贏家

實驗跑完後的核心數字如下(QLIKE,越低越好):

期間W=252W=504W=1000W=2000該期最佳
2012–20131.464 1.459 1.4691.473W=504
2014–2015 1.449 1.4551.4631.490W=252
2016–20171.7931.805 1.780 1.803W=1000
2020–20211.4791.470 1.468 1.514W=1000
2023–2024 1.469 1.4781.4711.488W=252

第一眼看下去就知道: 沒有任何一個視窗能在五段歷史中全部稱王 。

把每段的冠軍加總:W=252 贏 2 次(OOS2、OOS5)、W=504 贏 1 次(OOS1)、W=1000 贏 2 次(OOS3、OOS4)、W=2000 從未稱冠。把名次平均起來看,最短的 W=252 平均第一(1.8 名)、W=1000 居次(2.0 名)、W=504 第三(2.4 名)、最長的 W=2000 墊底(3.8 名)。

接下來看「兩兩比較」。把 5 段期間 W=504 對 W=2000 的逐日預測誤差拿來逐一檢定(Diebold-Mariano 統計量,HAC 校正):

  •  2012–2013 :W=504 較佳(DM=−1.77,p=0.077,單期 10% 邊際顯著)
  •  2014–2015 :W=504 較佳(DM=−2.00,p=0.046,單期 5% 顯著)
  •  2016–2017 :W=2000 略勝,但未達顯著(DM=+0.10,p=0.923)
  •  2020–2021 :W=504 較佳,未達顯著(DM=−1.11,p=0.270)
  •  2023–2024 :W=504 較佳,未達顯著(DM=−0.46,p=0.648)

把五段期間的 2,508 個交易日全部攤平合併再做一次正式比較時,整體上 W=504 仍稍領先 W=2000(pooled DM=−1.73,p=0.083)。 這在標準 5% 門檻下未達顯著,僅勉強落入 10% 邊際區 。

 多重檢驗校正,重要的一步 :我們在這份比較中共做了 11 項檢定(5 段單期 504_vs_2000 + 6 組 pooled pairwise)。以 Bonferroni 嚴格控制族錯誤率(family-wise error rate, α=0.05/11≈0.00455), 沒有任何一項通過校正後的門檻 。

換句話說: 在校正了多重檢驗後,W=504 對 W=2000 的優勢無法宣稱統計上穩固 ;W=504 在多數時候 QLIKE 較低,但這種優勢不夠強到能主張它是普遍最佳。

市場環境會挑視窗嗎?

如果沒有「永遠最好的視窗」,那也許至少有「在某種市場下最好的視窗」?我們進一步把每段期間的 VIX 平均值與最佳視窗對應起來:

期間平均 VIX市場狀態最佳視窗
2012–201316.0平靜W=504(中短)
2014–201515.4平靜W=252(短)
2016–201713.5平靜W=1000(中長)
2020–202124.5偏高W=1000(中長)
2023–202416.2平靜W=252(短)

這張表呈現了一個有點尷尬的真相: 即使四段同樣是「平靜市」(VIX 都在 13–16 之間),最佳視窗也跟著換 。2014–2015 與 2023–2024 偏好最短的 W=252,2012–2013 偏好 W=504,2016–2017 卻偏好較長的 W=1000,差異並不能用「平靜或不平靜」這個簡單標籤解釋。

對 2020–2021 這段唯一的「偏高波動」期間,最佳是 W=1000,這倒不全違反直覺:新冠崩盤後資料分布劇變,但 W=252 過短會吃滿極端值雜訊,W=2000 又把太多失效的老資料拖進來,W=1000 落在中間取了平衡。

但若你以為「波動高就用較長視窗、波動低就用較短視窗」是個可靠的規則,那兩段平靜期裡 W=1000 反而最差就立刻打臉這個說法。

為什麼會這樣?

這個現象其實在波動率預測文獻中有跡可循:

  1.  參數穩定性 vs. 結構變化的拉鋸 。Hillebrand(2005)指出,當市場結構(如政策、波動性質)改變時,使用太長的歷史會讓估計參數出現「持續性偏差(persistence bias)」,模型誤以為過去的高黏性會持續,預測波動回歸速度失真。我們的數據也呈現這個現象:W=2000 在多數期間估出來的波動持續性都在 0.98–0.99,接近「永久記憶」,這在結構變動劇烈的時期會傷害預測。

  2.  短視窗的雜訊風險 。但反過來,W=252 只有 1 年資料,極端值或單一事件的權重被放大,估計參數本身波動很大。我們看到 W=252 在 OOS2、OOS5 勝出,卻在 OOS1、OOS3 名次落後。它的優勢與否很吃資料分布。

  3.  沒有純粹的「波動環境」 。VIX 平均值看似可以概括期間特徵,但同樣是 VIX 16,2012、2016、2023 的市場結構(利率環境、產業集中度、流動性)天差地別。模型偏好的視窗,會被這些 VIX 看不到的因素左右。

跨多種資產的視窗選擇研究在文獻中還在累積,但目前的共識仍是「依資產、依期間而定」,而非單一最佳值。這呼應了我們在 SPY 5 段 OOS 上看到的,即便限定單一資產,最佳視窗也會隨期間替換。

我們的決定:保留靈活性,承認不確定

依照前述判讀說明:W=504 贏 1/5、整體合併比較未達 5% 顯著、Bonferroni 校正後 0/11 通過 → 落入「依環境而定,沒有普遍贏家」的中間區。

這個結果驅動了三個調整:

  1.  不把 W=504 寫進核心方法 。雖然 2023–2024 的單期結果讓人興奮,但跨 5 期一驗證就知道它不是穩固的進步。我們維持 W=2000 作為主要設定,並在後續論文與系統中清楚揭露:W=504 在某些市場環境下會更佳,但缺乏統計上充分的普遍性。

  2.  把「視窗選擇」當成穩健性檢查項目 。任何主要結果都會在 W=504 與 W=2000 兩個版本下並列呈現,讓讀者自行判斷結論對視窗選擇的敏感度。如果一個結論只在某個視窗成立,那它本來就脆弱。

  3.  撰寫一條防錯規則 :未來任何「單期 OOS 結果」都不能直接推翻既有方法論。 最少要跨 3 段以上不重疊歷史交叉驗證、整體比較達顯著、且 OOS 內部勝場 ≥4/5 ,才考慮翻案。

對讀者的啟發

這篇研究的數字本身重要,但它真正的價值是方法論的:

  •  單一期間的「顯著結果」不是真理,是線索 。在金融資料上,幾乎任何模型稍微調一下參數,都能在某段歷史上找到「顯著進步」。但如果這種進步換到另一段歷史就消失,它就不該被視為真實規律。

  •  跨期不重疊驗證是檢驗結論的基本要求 。我們選的五段歷史故意涵蓋了平靜、震盪、危機、復甦、結構變遷等不同性格,就是要逼模型暴露弱點。如果一篇研究只在最近三年的數據上做測試,它的可信度應該被打折。

  •  多重檢驗校正不可省略 。在跑 11 個檢定的場景下,任何單一 p<0.05 都可能只是隨機運氣。Bonferroni 把門檻拉到 0.00455 後,原本看似邊際顯著的 pooled 結果整個翻盤,這正是研究誠實的一環。

  •  承認「沒有萬靈丹」往往比「找到萬靈丹」更有價值 。在 SPY 這五段 OOS 的範圍裡,我們沒看到任何視窗能跨期穩定勝出。這個結果不華麗,沒有驚人的表現倍增,但它阻止我們把錯誤的結論寫進系統與論文中。對長期投資人來說,知道「這件事沒有單一最佳答案、要看市場狀態」比聽到「我們找到秘訣了」更值得信任。

接下來的方向

K593 完成後,我們把幾個延伸問題列入後續研究排程:

  • 是否能設計 自適應視窗 機制,讓模型在偵測到結構變化時自動切換視窗,而不是事先固定一個值?
  • 跨資產類別(個股、商品、外匯)是否會呈現不同的視窗偏好?
  • VIX 之外,是否有其他指標(如成交量、國債利差、信用利差)能更好地識別「該用哪個視窗」?

這些問題都會回到同一條核心紀律: 任何答案都必須在跨期、跨資產、跨制度上經得起檢驗,才能進入正式結論 。

資料來源

  •  價格資料 :yfinance,SPY 日線收盤價(2003-01-03 至 2026-03-27),共約 21 年。
  •  VIX 指標 :yfinance ^VIX 日線收盤值,作為市場環境分類依據。
  •  模型實作 :Python arch 套件之 arch_model,GJR-GARCH(1,1) with Student-t 分配,零均值、不重新縮放;每 21 個交易日重新擬合一次,擬合之間每日以上一日的條件變異數遞迴更新 σ² 狀態。
  •  評估方法 :QLIKE 損失函數(Hansen & Lunde 2005),逐日比較採 Newey-West HAC 校正之 Diebold-Mariano 檢定;多重檢驗以 Bonferroni 校正(N=11,α=0.00455)。
  •  完整原始結果 :見實驗檔 experiments/k593/k593_window_cross_oos_v2_results.json。
  •  相關文獻 :Hillebrand (2005)、Hansen & Lunde (2005, Journal of Applied Econometrics)、Patton (2011, Journal of Econometrics)。
  •  實驗編號 :K593-v2(跨 OOS 視窗驗證),延伸自 K591(單期視窗敏感度測試),同系列防錯機制可追溯至 K474/K476(曾偵測出 53% 的單期偽陽性率)。

本文為 VolPred 研究平台公開發表之研究紀錄。所有數據與檢定統計量皆可透過實驗檔重現;若您發現任何疑點,歡迎在平台留言或聯繫研究團隊。

詳情

資料來源
yfinance SPY 2003-2026, yfinance ^VIX

相關文章

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

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