← Research Feed
一般讀者2026/05/18 下午12:00

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

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

讀者互動

已追蹤瀏覽 0 次,登入會員可按讚與收藏。

分享到: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)公認對波動率預測最具區別力的指標。 數值越低代表預測越準 。

我們事先就把判讀規則寫死,避免事後挑數字:

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

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

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

期間W=252W=504W=1000W=2000該期最佳
2012–2013 1.5405 1.54611.54841.5714W=252
2014–20152.00191.99261.9433 1.8691 W=2000
2016–2017 1.9419 2.03711.96551.9488W=252
2020–20212.1042 1.9981 2.07742.1442W=504
2023–20241.6207 1.6138 1.62661.7283W=504

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

把每段的冠軍加總:W=252 贏 2 次、W=504 贏 2 次、W=1000 從未稱冠、W=2000 贏 1 次。即使把名次平均起來看,W=252 與 W=504 並列第一(平均 2.2 名),W=2000 平均墊底(3.0 名)。

更值得注意的是「兩兩比較」。把 5 段期間 W=504 對 W=2000 的逐日預測誤差拿來逐一檢定:

  •  2012–2013 :W=504 較佳,達顯著水準(單期測試)
  •  2014–2015 :W=2000 較佳,達顯著水準
  •  2016–2017 :W=2000 略勝,但未達顯著水準
  •  2020–2021 :W=504 較佳,達高度顯著水準
  •  2023–2024 :W=504 較佳,達高度顯著水準

當我們把五段期間的 2,508 個交易日全部攤平合併再做一次正式比較時,整體上 W=504 仍稍稍領先 W=2000(QLIKE 平均略低), 但兩者差異未能達顯著水準 (pooled 比較未通過嚴格統計檢驗門檻)。

換句話說: W=504 在多數時候表現較好,但這種優勢在統計上不夠穩固到能宣稱它是普遍最佳。 

市場環境會挑視窗嗎?

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

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

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

對 2020–2021 這段唯一的「偏高波動」期間,最佳是中短視窗 W=504,這倒是符合直覺:市場結構在 2020 年新冠崩盤前後劇烈轉換,太長的視窗會把已經失效的舊資料硬拉進來,反而拖累預測。

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

為什麼會這樣?

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

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

  2.  短視窗的雜訊風險 。但反過來,W=252 只有 1 年資料,極端值或單一事件的權重被放大,估計參數本身波動很大。我們看到 W=252 在 2014–2015(油價崩盤穿插平靜期)就吃了大虧。

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

最近 Feng & Zhang(2025, Journal of Forecasting)跨多種資產做了類似分析,他們的結論是 W=1000–2000 偏優;但他們的主流測試集恰好不包含 2020–2021 這種劇烈轉換期。把不同期間納入後,他們的結論就不那麼絕對了。

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

依照事前訂下的判讀規則:W=504 贏 2/5、整體合併比較未達顯著 → 落入「依環境而定,沒有普遍贏家」的中間區。

這個結果讓我們做了三個調整:

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

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

  3.  撰寫一條防錯規則 :未來任何「單期 OOS 結果」都不能直接推翻既有方法論。 最少要跨 3 段以上不重疊歷史交叉驗證、整體比較達顯著、且 OOS 內部勝場 ≥4/5 ,才考慮翻案。本次實驗就是這條規則的反面教材:當初若沒有跨期驗證,我們可能已經把 W=504 寫進論文,再用幾年時間才發現這個錯誤。

對讀者的啟發

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

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

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

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

接下來的方向

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 分配,零均值、不重新縮放。
  •  評估方法 :QLIKE 損失函數(Hansen & Lunde 2005),逐日比較採 Newey-West HAC 校正之比較檢定。
  •  完整原始結果 :見實驗檔 experiments/k593/k593_window_cross_oos_results.json,內含每段期間每個視窗的 QLIKE、收斂率、平均持續性、檢定統計量等完整數據。
  •  相關文獻 :Feng & Zhang (2025, Journal of Forecasting)、Hillebrand (2005)、Hansen & Lunde (2005, Journal of Applied Econometrics)、Patton (2011, Journal of Econometrics)。
  •  實驗編號 :K593(跨 OOS 視窗驗證),延伸自 K591(單期視窗敏感度測試),同系列防錯機制可追溯至 K474/K476(曾偵測出 53% 的單期偽陽性率)。

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

詳情

experiment_refs
K593

相關文章

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

📄
把六個總體變數一次丟進貝氏選模型,結果它什麼都沒選:聯合估計再次確認 GARCH 自己就夠了
# 把六個總體變數一次丟進貝氏選模型,結果它什麼都沒選:聯合估計再次確認 GARCH 自己就夠了 ## 一句話結論 我們把六個常被引用的「外部解釋變數」——VIX、VIX9D、VIX3M、期限利差、聖路易聯儲金融壓力指數、20 日實現方差——同時放進一個貝氏 GARCH-X 變異數方程,讓貝氏選模型機制(SSVS)自己決定要留下哪幾個。結果是:**它一個也沒留**。在 10,000 次 MCM...
📄
美國國會議員的股票交易,能預測美股波動率嗎?一份誠實的「沒有」
# 美國國會議員的股票交易,能預測美股波動率嗎?一份誠實的「沒有」 ## 一個聽起來很誘人的問題 打開財經新聞,每隔一段時間就會看到這樣的標題:「某參議員精準在股災前出清股票」、「眾議員家族在某科技股財報前異常加碼」。在《STOCK Act》(2012 年生效)強制要求美國國會議員揭露本人與配偶證券交易後,這類「議員選股能力」的故事幾乎成了財經新聞的固定欄目。 學界對此也有一段不算短的辯論。...
📄
VIX 進入波動率方程式:六分之一的 OOS 改進,但摸到 GARCH 的天花板
# VIX 進入波動率方程式:六分之一的 OOS 改進,但摸到 GARCH 的天花板 ## 一句話結論 把「市場恐慌指數 VIX」**直接塞進 GARCH 的變異數方程**,相對於常見的 GJR-GARCH 基準,能讓 SPY 的樣本外波動率預測 QLIKE 改善約 **6.3%**——但這個改進在最嚴格的學術門檻下**還沒過關**,且模型參數出現「邊界退化」的跡象,提醒我們:VIX 帶來的信...