偏態與峰度能預測波動嗎?K471 給你三個資產的誠實答案
讀者互動
已追蹤瀏覽 0 次,登入會員可按讚與收藏。
偏態與峰度能預測波動嗎?K471 給你三個資產的誠實答案
一個聽起來合理的直覺
如果今天的市場「左尾比較重」,也就是過去這段時間出現幾次極端負報酬,回報分佈被往左拉得很長,你會不會覺得,未來一個月的波動應該會比較高?
直覺上會。教科書也會這樣告訴你:偏態(skewness)描述分佈的不對稱、峰度(kurtosis)描述肥尾,兩者都是「風險的形狀」。既然形狀變了,未來的風險水準應該也跟著變。
實證金融學界從 嚴格統計 & Siddique(1999)以來,花了二十多年在問同一個問題: 這些「高階動差」能不能在波動率本身之外,提供額外的預測資訊?
K471 把這個問題拿到三個全球最具代表性的資產上重新驗證——SPY、QQQ、BTC-USD——結論是:能,也不太能。本文把這份兩面結果一次講清楚。
K471 在做什麼?
樣本:2010-01-01 到 2025-12-31,從 yfinance 抓收盤價。SPY 與 QQQ 各有 4,002 個觀察日、BTC-USD 4,102 日。OOS 期間是 2023-01-01 到 2025-12-31。
特徵:滾動 5 日、21 日、63 日的偏態與峰度(共 6 個高階動差),加上下行半變異比與負報酬比例這兩個「形狀」變數。
對照模型:
- 基準 :用過去 21 日已實現波動(RV21)預測未來 21 日已實現波動
- 加碼版 :基準 + 偏態、+ 峰度、+ 偏態+峰度、+ 全部高階動差、+ 全套形狀特徵
評分:OOS R²、QLIKE、以及 兩模型比較顯著 兩模型比較檢定 ——這是判斷一個改善「是真的、還是只是運氣好」的標準工具。
第一張圖:相關性方向對,但量不大

這張圖把六個高階動差特徵和「未來 21 日已實現波動」之間的相關係數都畫出來。三個資產一起比。
幾個重點:
- 方向符合理論 :偏態 21 日的相關係數對 SPY 是 −0.08、QQQ 是 −0.057、BTC 是 −0.034,全部為負,也就是偏態越負(左尾越重),未來波動越高。嚴格統計 & Siddique 的故事在資料裡看得到。
- 但是量真的小 :三個資產的相關係數絕對值都在 0.03 到 0.18 之間。要把相關係數平方變成 R²,最大也只有 2-3%。
- 峰度 21 日比偏態強一點點 :對 SPY 與 QQQ 都接近 −0.12,但仍然是個位數%。
換句話說, 訊號在統計上看得到,但解釋力很弱 。這是讀懂這篇文章的第一個錨點。
第二張圖:把高階動差堆進模型,OOS 表現如何?

這張圖比較不同模型在 OOS 期間的「增量 R²」(Δ R²),也就是相對基準(只用過去波動)多了多少預測力。星號是兩模型比較檢定達顯著的位置。
直接看數字(取自 results.json):
- SPY :基準 R² 0.0318;加上全部 6 個高階動差後 R² 升到 0.1924, Δ +0.16 。
- QQQ :基準 R² 0.0577;最佳配方 R² 0.1585, Δ +0.10 。
- BTC-USD :基準 R² 是 −0.95(過去波動本來就預測不準 BTC),加高階動差後反而更差, Δ −0.45 。
乍看 SPY 和 QQQ 進步幅度不小,這是不是「黃金特徵」?
不是。 只有 QQQ 的「rv21 + 偏態5 + 偏態21」這一個組合,兩模型比較檢定才達顯著 (M2_rv_skew_OLS,顯著性 0.014,ΔR² +0.0375)。其他所有組合,包括看起來最強的 SPY「全 6 動差」配方(Δ +0.16),檢定值落在 0.087 到 0.27 之間, 統計上無法區分這個改善是訊號還是運氣 。
值得注意的是 BTC-USD 反方向的顯著性:在 M3(加 kurt)、M4(加 skew+kurt)、M5(全動差)三個規格上,DM 檢定 p < 0.01,但 ΔR² 都是 顯著為負 ——加高階動差後 OOS R² 顯著惡化(最差到 −0.45)。這說明 BTC 上加 higher moments 不是「沒幫助」,是「 顯著有害 」。
這就是 K471 結果的核心張力: 樣本內看起來進步、但統計上講不出話;唯一講得出話的,是 BTC 上加錯了反而會壞掉 。
為什麼 R² 進步那麼多卻不顯著?
兩個解釋。
第一 :OOS 期間只有 2023-2025 三年,約 730 個觀察日,但「21 日波動」這個變數高度自相關, 有效獨立樣本數遠少於 730 。比較檢定看的是預測誤差差異的時間序列穩定度,自相關會把標準誤推大。
第二 :偏態和峰度本身估計噪音極大。看下一張圖。
第三張圖:高低波動分期下,相關性更不穩定

把樣本依該資產的波動中位數切成「高波動期」與「低波動期」,再分別算相關性,可以看到:
- SPY :高波動期偏態對未來波動相關 −0.029(顯著性 0.20);低波動期 −0.068。 訊號在低波動期反而比較清楚 ——這違反「高波動期高階動差更有用」的常見直覺。
- QQQ :相反,高波動期偏態 −0.065(顯著性 0.004),低波動期 −0.023(顯著性 0.30)。
- BTC :高波動期相關 −0.026(顯著性 0.24),低波動期相關 −0.026(顯著性 0.05);峰度倒是兩個分期都顯著為負。
不同資產、不同分期, 訊號的方向和強度都會搖晃 。把「高階動差能預測波動」當作放諸四海皆準的規律,會被資料打臉。
第四張圖:偏態值本身就很吵雜

這張圖最直觀,把每個資產的滾動 21 日偏態值畫出範圍。
- SPY 的滾動偏態平均 −0.15,但標準差 0.68,最低 −2.95、最高 +2.61。
- QQQ 平均 −0.18,標準差 0.71,最低 −3.16、最高 +2.93。
- BTC 平均接近 0,但標準差 1.01,最低 −4.02、最高 +4.03。
用一個標準差就有 0.7 上下擺動的特徵當預測變數,等於在訊號雜訊比很差的條件下做迴歸。 這是高階動差預測力被稀釋的本質原因,樣本估計本身就充滿雜訊,特別是 5 日這種短窗口。
三個誠實的提醒
第一,不要被樣本內 R² 拉升騙到。 SPY 從 0.03 拉到 0.19 看似成倍增長,但比較檢定告訴你這不夠穩固。研究誠實原則的核心就是: 結論不能超過證據強度 。
第二,跨資產要小心 。BTC 的結果完全相反,加高階動差會讓 OOS R² 從 −0.95 掉到 −1.41。這是研究上重要的警訊:在某個市場有效的特徵,到另一個市場可能毒性更強。
第三,這個結果與本平台早先的研究一致 。先前的記憶條目記下「殘差高階動差 r=−0.073、OOS R² 改善 +2.7pp」,本次 K471 用更完整的特徵組與比較檢定,得到同樣方向但更謹慎的結論: 訊號在、但很弱、且不穩定 。
結論
偏態與峰度作為波動率預測的補充特徵, 不是無用、也不是黃金 。它們提供方向正確但量級微小的訊號,在某些資產與某些分期會偶爾顯著,但無法被當成穩定的預測來源。
對研究者:把高階動差納入特徵池可以,但別把它當主菜;OOS 評估一定要配比較檢定,不能只看 R² 數字。
對讀者:如果你看到下一篇文章宣稱「靠偏態就能預測風險」,請先問——OOS R² 多少?比較檢定值多少?跨幾個資產驗證?答得出來才值得相信。
資料來源 :yfinance 收盤價 2010-01-01 到 2025-12-31。
對應實驗 :K471 Time-Varying Higher Moments for Vol Prediction — 詳細代碼、結果 JSON 與圖表見 experiments/k471/。
參考文獻 :
- 嚴格統計, C. R., & Siddique, A. (1999). Conditional Skewness in Asset Pricing Tests. Journal of Finance.
- Jondeau, E., & Rockinger, M. (2003). Conditional volatility, skewness, and kurtosis. Journal of Economic Dynamics and Control.
- Leon, A., Rubio, G., & Serna, G. (2005). Autoregressive conditional volatility, skewness and kurtosis. Quarterly Review of Economics and Finance.
- Patton, A. J. (2011). Volatility forecast comparison using imperfect volatility proxies. Journal of Econometrics.
延伸閱讀
Errata(2026-05-28) :本文初版第 52 行將 QQQ 唯一顯著規格寫為「+ 偏態21」,實際應為 rv21 + 偏態5 + 偏態21(M2_rv_skew_OLS)。同時補充 BTC-USD 在 M3/M4/M5 三個規格上 DM 顯著但 ΔR² 為負(即「加高階動差後顯著變差」)的反方向結果。原文 cross_asset_summary.dm_significant 邏輯只檢查 best-ΔR² spec,導致 QQQ 被誤記為 not significant 並漏掉 BTC 顯著惡化方向;K471 程式與 results.json 已同步修正(see commit)。
詳情
- audience
- research
- experiment_refs
- K471
- audience_backfill
- {"reason":"validator_371_historical_backfill","script":"scripts/backfill_audience.py","applied_at":"2026-05-26T16:21:47+00:00","article_id":"mile_088ce61e","previous_audience":"general"}
相關文章
先讀正式關聯,若無則使用標籤與主題相似度補齊