← 研究動態
研究2026/09/07 下午02:00

台灣金融壓力指標對台積電波動沒有預警能力,而它在樣本內看起來很有

HAR-RV台積電Diebold-Marianonull result樣本外金融壓力

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

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

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

訂閱研究摘要

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

台灣金融壓力指標對台積電波動沒有預警能力,而它在樣本內看起來很有

K1432 的結論是 NULL。四個事先宣告的金融壓力指標,沒有一個在樣本外改善台積電已實現波動的預測;把它們加進 HAR-RV 基準,十五次比較有十五次讓損失變大,其中六次大到統計上顯著。

這個結果值得寫,因為同一批指標在樣本內的表現完全相反。它們通過 Granger 因果檢定,p 值小到 1.05e-5。同一組資料、同一組指標,換一個問法就換一個答案,而那兩個問法問的本來就是兩件事。

這個實驗量了什麼

標的是 2330.TW 的已實現波動。結果檔的 rv_definition 欄逐字寫著 Rolling 21d sum of squared daily log returns (variance), target uses log(RV)——21 個交易日的日對數報酬平方和當變異數,預測目標取對數。樣本從 2010-01-01 到 2026-06-09,訓練段到 2020-12-31 為止共 2814 個觀測,樣本外從 2021-01-01 起共 1397 個,合計 4211 個。資料來源是 yfinance,seed 固定為 42。

三個基準模型:B1_AR1(log(RV_t) -> log(RV_{t+h}))、B2_HARRV(Corsi 2009 的 HAR-RV,對數空間)、B3_HARRV_VIX(HAR-RV 再加 log(^VIX))。

四個事先宣告的壓力指標,全部由五檔金融股(2881 富邦、2882 國泰、2891 中信、2884 玉山、2880 華南)建構:

  •  S1 :五檔金融股 21 日已實現變異數的橫斷面平均。
  •  S2 :日內最高減最低報酬離散度的 21 日滾動標準差。
  •  S3 :金融股平均報酬減 0050.TW 報酬的 5 日滾動平均。
  •  S4 :21 日滾動的 PC1 分數絕對值,載荷只用訓練段配適。

預測期距 1、5、10 個交易日,損失函數用 MSE 與 Patton (2011) 的 QLIKE,比較用 Diebold-Mariano 檢定加 Newey-West HAC 變異數(截斷落後 = h−1),再套 Harvey, Leybourne, Newbold (1997) 的小樣本修正,雙尾 p 值以 t 分配(自由度 n−1)計算。

樣本內:四個指標裡有三個過關

全樣本 Granger 因果檢定,落後期 1 到 10:

指標顯著落後期數最小 p 出現在Fp
S1 橫斷面波動9 / 10落後 47.11471.049e-05
S2 離散度9 / 10落後 27.90823.732e-04
S4 PC18 / 10落後 44.59441.058e-03
S3 相對弱勢0 / 10落後 10.00339.542e-01

S1 從落後 2 期到落後 10 期全部顯著,只有落後 1 期不顯著(p = 0.1886)。這是很乾淨的樣本內證據:金融股的橫斷面波動確實領先台積電的波動。

S3 是這批指標裡的對照組。它十個落後期一個都沒過,最小 p 值 0.954。同一支程式跑出兩種極端,代表這個檢定的鑑別力沒有壞掉。

四個壓力指標對台積電已實現波動的 Granger 檢定 p 值,落後 1 到 10 期,縱軸為對數尺度。S1、S2、S4 三條線從落後二至三期起就掉到 0.05 以下並停在那裡;S3(rel_weak)整條線貼在 1.0 附近,十個落後期數沒有一次越過門檻

樣本外:事先宣告的十五次比較,十五次方向相反

事先宣告的成功判準只看一件事:B2_HARRV 對上 B2_HARRV+<壓力指標>,用 QLIKE,DM 統計量為正(代表加了指標的模型損失較低)且 p < 0.05。五個設定(S1、S2、S3、S4、四個一起加)乘三個期距,共十五次比較。

 十五次的 DM 統計量全部為負。  沒有任何一次是正的,所以 notable_passes 是空陣列,verdict 落在 NULL。

其中八次負得顯著:

期距比較DMp
h=1B2 vs B2+S3−2.09160.036654
h=1B2 vs B2+S4−2.22650.026140
h=5B2 vs B2+S1−2.59860.009458
h=5B2 vs B2+S4−2.82450.004803
h=5B2 vs B2+all−3.12270.001829
h=10B2 vs B2+S1−2.90260.003759
h=10B2 vs B2+S4−2.70460.006922
h=10B2 vs B2+all−3.24640.001196

最負的一次是 h=10 的 B2 vs B2+all:DM = −3.2464、p = 0.001196。把四個指標一起加進去,樣本外損失顯著變大。

S4 是唯一在三個期距都顯著讓預測變差的設定。

樣本內領先關係最強的 S1,在 h=5 與 h=10 都顯著讓預測變差。

事先宣告的十五次樣本外比較(五個設定乘三個期距,QLIKE 口徑)的 DM 統計量:十五根長條全部朝下,其中八根 p < 0.05(深色)。只有正值才代表加入壓力指標讓預測變好,而正值一次都沒有出現

有一組讀數方向相反,一起放上來

同一份結果檔裡有一組正向的顯著結果,它不在事先宣告的比較家族裡,但把它藏起來就不誠實了。

S4 加在 VIX 基準(B3_HARRV_VIX)上,六個讀數全部為正,五個顯著:

期距損失DMp平均損失差相對基準
h=1MSE1.33510.1820642.869e-051.563e-03
h=1QLIKE2.18780.0288532.752e-056.587e-06
h=5MSE1.96400.0497291.007e-039.875e-03
h=5QLIKE2.73040.0064068.649e-042.095e-04
h=10MSE2.23270.0257254.650e-032.274e-02
h=10QLIKE2.67690.0075184.009e-039.874e-04

三件事同時成立,缺一件就會讀錯:

 第一,這不在事先宣告的判準裡。  判準寫的是「對上 B2_HARRV、用 QLIKE」,這組是「對上 B3_HARRV_VIX」。事前指定的家族是十五次比較,這六次是事後看到的。要把它當結論,需要一個新實驗來事先宣告它。

 第二,多重檢定的分母是 54。  全部壓力指標的擴充比較(三個期距 × 兩種損失 × 九組配對)共 54 次,p < 0.05 的有 19 次。純機率下 54 × 0.05 = 2.7 次,所以 19 次不能全歸給運氣,但那 19 次裡有 14 次的方向是「加了指標更差」,只有 5 次是「更好」,而 5 次全部落在 S4 加 VIX 這一組。

 第三,h=1 那一格統計顯著、量級是零。  QLIKE 的改善是 2.752e-05,相對基準 4.178 的比例是 6.587e-06。1397 個樣本外觀測讓這個差異在統計上站得住,但它不會改變任何一個決策。同一組在 h=10 的 MSE 相對改善是 2.274%,那個量級才有討論價值,代價是它的 p 值 0.0257 要放在上一段那整批擴充比較裡看,而不是單獨讀。

同一套檢定抓得到 VIX,所以它不是死的

一個 null 最容易的解釋是量尺壞了。這份結果檔裡有現成的對照:同一套 DM 設定拿去比兩個基準模型。

B2_HARRV 對上 B3_HARRV_VIX,也就是問「加進 VIX 有沒有用」:

期距MSE:DM / pQLIKE:DM / p
h=12.1863 / 0.0289631.9757 / 0.048390
h=52.0808 / 0.0376371.7613 / 0.078409
h=101.4857 / 0.1375801.0056 / 0.314804

h=1 兩種損失都顯著為正,h=5 的 MSE 也顯著。同一個檢定、同一段樣本外、同一個 HLN 修正,它抓得到 VIX 帶進來的增量資訊。所以四個本地壓力指標拿不到正向顯著,來自指標本身,不是來自檢定沒有鑑別力。

同一張表還有另一格值得看:B1_AR1 對上 B2_HARRV,三個期距六個讀數沒有一個顯著(最大的是 h=1 的 MSE,DM = 1.3234、p = 0.185918)。在這個標的與這段期間,HAR-RV 的三時間尺度結構相對於單純的 AR(1),本身就沒有取得顯著優勢。這件事會回頭限制上面所有比較的解讀:基準之間的差距本來就很窄,任何增量資訊要在這裡顯著都不容易。

這個 null 的檢定力上界

每一次 DM 檢定的樣本外觀測數都是 1397,三個期距共用同一段樣本外期間,所以三個期距的結果彼此不獨立。Granger 檢定用全樣本,落後 4 期時的自由度是 [4229, 4]。

DM 統計量已套 HLN 小樣本修正,這個修正會把統計量往零縮,讓顯著更難取得,所以「沒有正向顯著」這件事,有一部分來自這個保守的口徑。反過來說,十五次全負、六次顯著為負,是修正之後仍然成立的。

樣本外只有 2021-01-01 之後這一段。這段期間台積電經歷過 2021 的高檔震盪與 2022 的下跌,但它終究是單一段連續期間,不是多個獨立的樣本外窗口。

還有一件事這個實驗沒做:壓力指標的建構方式本身沒有被搜尋過。四個設定是事先寫死的,這是它能當作預先宣告判準的原因,也是它的上界,換一組視窗長度、換一組成分股、換一種標準化方式,答案可能不同,而這個實驗量不到那些。

所以這個 null 的範圍是: 這四個指標、這個標的、這段期間、這三個期距、這兩種損失函數之下,沒有樣本外改善。  它沒有證明台灣金融壓力與台積電波動無關,樣本內的 Granger 結果本身就否定了那個更強的說法。

接下來能做什麼

樣本內顯著而樣本外無用,最常見的解釋是領先關係存在但太弱,弱到被 HAR-RV 自身的長記憶結構吃掉。HAR-RV 已經用日、週、月三個時間尺度的已實現波動當解釋變數,而金融股的橫斷面波動與台積電的波動同時受市場層級因子驅動——S1 帶進來的資訊,有多少是 HAR-RV 已經有的,這個實驗沒有拆開。

三個可以續做的方向:把壓力指標對 HAR-RV 三項殘差化之後再測增量;換一個目標函數,例如壓力指標對尾端風險(VaR 違約率)而非平均損失的貢獻;或把樣本外切成多個非重疊窗口,看 S4 加 VIX 的那組正向結果在不同窗口是否穩定。


 資料與程式 :experiments/k1432/k1432_tw_financial_stress.py、experiments/k1432/k1432_tw_financial_stress_results.json。圖:experiments/k1432/figures/stress_and_rv.png、experiments/k1432/figures/qlike_by_horizon.png。

 方法文獻 :Corsi (2009)、Patton (2011)、Adrian & Brunnermeier (2016)、Diebold & Mariano (1995)、Harvey, Leybourne & Newbold (1997)。

相關文章

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

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