小波分析能不能改善波動率預測?K479 給的答案是:看你怎麼比
讀者互動
已追蹤瀏覽 0 次,登入會員可按讚與收藏。
為什麼有人想用「小波」做波動率預測?
訊號處理界對小波(wavelet decomposition)幾乎是信仰級的偏愛。它能把一段時間序列拆成不同「頻率帶」,好比把一首音樂拆成低音、中音、高音三軌,讓你看清楚「短期雜訊」和「長期趨勢」分別貢獻了多少。
這個概念套到金融市場聽起來很迷人:日內快波是雜訊、週級慢波是動量、月級慢波是基本面,那把它們分開來建模豈不是天經地義?過去 20 年確實有不少論文宣稱小波能改善波動率預測,動輒把它和 GARCH、HAR 等主流模型比一比。
但我們在 K479 實驗 直接拿小波對上「波動率預測界的工作馬」HAR 模型,得到一個讓人冷靜的答案: 有時贏一點,有時輸一點,統計上幾乎沒差。
K479 怎麼設計?
實驗對象是 SPY(S&P 500 ETF),樣本期 2005–2026 共 5,339 個交易日,樣本外(OOS)回測期 2023-01-01 到 2025-12-31 。我們比較六種模型:
- RV21 基準 (過去 21 日已實現波動率,最樸素的對照組)
- HAR (Corsi 2009 的標準多尺度模型,用 1 日 + 5 日 + 21 日已實現波動率)
- HAR + 小波 A4 (在 HAR 上多加一個低頻能量項)
- Wavelet-HAR (完全用小波分解 D1–D4 + A4 五個頻段能量)
- 僅低頻 A4
- 僅高頻 D1+D2
小波用 db4 母小波,4 層分解,252 日滾動視窗。 這裡有個重要的方法論細節 :所有模型都用「t-1 以前的訊號預測 t 日的真實波動率」,沒有任何資訊洩漏。
更關鍵的是我們同時跑了 兩種估計方式 :
- Static :用整段樣本內期間估一次回歸係數,然後一路套到樣本外。
- Rolling :每一季用最近樣本重新估計係數(更貼近實務 trader 用法)。
核心結果:小波到底有沒有用?
先看 QLIKE 損失( 越低代表預測越準 ):

數字攤開來:
| 模型 | Static QLIKE (log) | Rolling QLIKE (log) |
|---|---|---|
| RV21 基準 | -8.474 | -8.466 |
| HAR | -8.517 | -8.505 |
| HAR + 小波 A4 | -8.520 | -8.504 |
| 僅低頻 A4 | -8.248 | -8.257 |
| 僅高頻 D1+D2 | -8.180 | -8.198 |
有趣的對比 :
- 在 static 方式下,「HAR + 小波 A4」 贏 HAR 一個極小的小數 (-8.520 vs -8.517,改善 0.032%)。
- 在 rolling (季度滾動重估)方式下, HAR 反而比 HAR + 小波 A4 還好 (-8.505 vs -8.504)。
換句話說: 同一份資料、同一條小波、同一個目標 ,只是換了估計方式(一次估完 vs 季度滾動),結論就翻面了。
統計檢定:差異到底有沒有意義?
肉眼看起來「差一點」可能是雜訊。我們用比較檢定(兩個模型預測誤差的差值是否系統性偏向某一邊)來判斷:

HAR vs HAR + 小波 A4 (最關鍵的對比):
- Static:顯著性 0.182( 未達顯著 )
- Rolling:顯著性 0.229( 未達顯著 )
HAR vs 純 Wavelet-HAR :
- Static:顯著性 0.318( 未達顯著 )
- Rolling:顯著性 0.050( 剛好邊緣顯著,HAR 較好 )
HAR vs 僅低頻或僅高頻 :兩種估計下都 顯著輸給 HAR (顯著性 < 0.02),這代表「只用小波分量、丟掉 HAR 多尺度結構」是 確定的劣化 。
樣本內 R²:另一個角度也說同一件事

樣本內 R²(解釋力):HAR = 0.236、HAR + 小波 A4 = 0.236—— 幾乎完全一樣 。純 Wavelet-HAR 反而掉到 0.100,僅低頻、僅高頻只剩 0.02–0.03。意思是:HAR 那三條 1d/5d/22d 的多尺度結構 已經把波動率裡能被線性解釋的部分用得差不多了 ,再灌進小波分量並沒有挖到新訊息。
為什麼「null result」反而值得寫成文章?
這個結果乍看「沒結論」,但對整個研究社群是重要警鐘。
第一, 過去文獻常宣稱「小波改善波動率預測」 ,但很多論文只報一種估計法、一個資料集、一段期間的 R² 提升。K479 同時跑 static + rolling,差距瞬間從「贏一點」變「輸一點」。 估計方式敏感度沒被控制 = 結論不穩 。
第二, Wavelet-HAR(D1-D4 + A4 全用)在樣本外整個爆掉 ——QLIKE 飆到 3,730(static)和 10,976(rolling),代表這個 spec 在樣本外是 ill-conditioned。如果只報 in-sample R²(0.100)讀者可能還以為「沒差很多」,但這正是把 in-sample 結果當 OOS 報的典型陷阱。
第三, 對波動率預測實務的啟示 :HAR 的多尺度(1 日、5 日、22 日)已經是一種「人為但有效」的頻率分解;小波雖然數學上更優雅,但 在這個任務上沒帶來額外資訊 。Occam's razor 提醒我們:簡單方法經得起考驗,往往不是因為小波不好,而是因為 HAR 已經把該抓的抓到了。
結論與下一步
K479 的標題答案是: 小波在波動率預測上不是「萬能改良藥」 。它在某些 spec、某些估計方式、某些期間下會看起來贏,但這些勝利在統計檢定下都不顯著,而且翻轉非常容易。
這不代表小波永遠沒用。真正可能有戲的方向:
- 狀態相依(regime-conditional) :在高波動或危機期分開估計,看小波是否在某個 regime 下穩定優於 HAR。
- 跨資產 panel :單一資產上的小贏可能是雜訊,多資產 panel 可以提升統計檢定力。
- 配合非線性模型 :把小波分量餵給 LSTM/XGBoost 而不是線性回歸,是另一條路。
但在我們承擔得起這些更複雜實驗之前,K479 給的紀律是: 任何「新方法贏舊方法」的宣稱,至少要跑兩種估計法、兩個比較檢定、一個 cross-OOS。否則你看到的可能只是估計法敏感度的鏡像。
資料來源 :SPY 日資料(yfinance),樣本期 2005-01-04 至 2026-03-25。實驗代碼 experiments/k479/k479_wavelet_vol.py,結果 JSON experiments/k479/k479_wavelet_vol_results.json。圖表由 experiments/k479/make_article_figures.py 從原始 results 重新繪製。
相關研究 :K111(小波 vs GARCH,GARCH 勝)、K465/K469(HAR 在跨樣本外驗證下表現穩健)。
延伸閱讀
詳情
- audience
- research
- experiment_refs
- K479
- audience_backfill
- {"reason":"validator_371_historical_backfill","script":"scripts/backfill_audience.py","applied_at":"2026-05-26T16:21:47+00:00","article_id":"mile_4df2d060","previous_audience":"general"}
相關文章
先讀正式關聯,若無則使用標籤與主題相似度補齊