← 研究動態
一般讀者2026/08/23 下午10:00

同一組模型,換個比較方式就從輸變贏:多出來的優勢有八成是基準讓出來的

波動率模型比較量尺波動率模型

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

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

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

訂閱研究摘要

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

模型比賽的結果,有時候不是由參賽者決定的,是由誰被派去當對照組決定的。

這件事在我們自己的一個波動率預測實驗上發生了一次,而且是我們自己犯的。

原本的比賽

要預測明天的市場波動有多大,業界有一個用了十幾年的標準答案叫 HAR。它的想法很土:把昨天、上週、上個月的波動各拿一個平均,加權相加。三個數字,沒有機器學習,沒有神經網路。

近幾年有一批文獻主張,把更多資訊丟進去會更好,恐慌指數、恐慌指數的恐慌指數、選擇權偏斜、信用利差,全部展開成因子。這個實驗就是照這個路線做的:用一百五十六個因子,餵給兩種常見的線性模型(脊迴歸與彈性網),跟三個數字的 HAR 比。

資料是 SPY 從 2014-12-22 到 2026-04-16,總共 2845 個交易日,其中 1518 天用來訓練,真正拿來評分的樣本外期間從 2021-01-04 開始,共 1327 天。

第一版跑完,多因子看起來贏了。

問題出在誰被派去當對照組

重跑的時候發現一件事:第一版裡,HAR 用的是滾動視窗,只看最近一千天,每個月重新估一次參數;而表現最好的那幾個多因子模型用的是擴張視窗,從頭到現在的資料全部拿來估。

兩邊訓練資料的長度不一樣。

這種不對齊很難在寫程式的時候看出來,因為兩邊各自都是合理的設定,沒有一行是錯的。錯的是把它們擺在同一張表上比大小。

修正版做的事很單純:把三個模型的視窗設定強制對齊,同一種設定跑一次,另一種設定再跑一次。兩張表,各自內部公平。

對齊之後的兩張表

評分用的指標叫 QLIKE,可以直接讀成「預測誤差分數」,數字越低代表預測越準。

模型滾動視窗(只看最近一千天)擴張視窗(全部歷史)
HAR(三個數字的經典基準)3.59714.0342
多因子模型甲(脊迴歸)3.62183.4074
多因子模型乙(彈性網)3.16053.0714

同一份資料、同一段樣本外,只換視窗設定

先看最下面那一列。彈性網這個挑戰者,換了視窗設定之後,分數從 3.1605 變成 3.0714。動了,但動得很小,小數點後第一位都還沒滿。

再看最上面那一列。HAR 從 3.5971 變成 4.0342。這個變動的幅度是挑戰者的好幾倍。

挑戰者幾乎沒動,動的是基準

所以「多因子領先多少」這件事,主要是由 HAR 在哪個設定下被測量決定的,不是由多因子模型有多強決定的。第一版之所以看起來贏很多,是因為它剛好讓 HAR 站在對它最不利的位置上,用全部歷史資料估的 HAR,比只看最近一千天的 HAR 明顯差。

中間那一列還有更直接的證據:脊迴歸在滾動設定下的分數是 3.6218,比 HAR 的 3.5971 還高,也就是輸了。同一個脊迴歸,換到擴張設定就是 3.4074,贏過同設定的 HAR。同一個模型,同一份資料,勝負由對照組怎麼設定翻轉。

那多因子到底有沒有用

有一點,但沒有原本以為的那麼多。

對齊到滾動設定之後,彈性網對 HAR 的統計強度是 2.516。這個數字達到一般學術論文的顯著門檻,但沒有達到波動率預測這個領域慣用的較嚴格門檻(這個領域要求統計強度超過三,因為預測誤差在時間上會前後相關,用寬鬆的門檻會把顯著性算得太高)。

對齊到擴張設定,統計強度是 5.125,這個過了。脊迴歸在同一設定下是 2.766,一樣沒過嚴格門檻。

所以誠實的說法是這樣:在公開代理資料上,把因子展開再做正則化,有機會壓低誤差分數,但證據強度隨著視窗設定改變而改變,還不到「多因子模型確定優於 HAR」的程度。原始文獻用的是高頻資料算出來的因子,我們用的是日頻公開代理,本來就不是同一件事,這個實驗也不足以否定原文獻。

實驗最後給的裁決是「有條件通過」,不是「通過」。

這件事可以帶走的

第一,看到「新方法打敗經典基準」的結果時,先問基準是怎麼設定的。基準的訓練期、重估頻率、參數選法,任何一項跟挑戰者不一樣,那個勝負就不能讀。

第二,同一個結論在兩種合理設定下指向不同方向時,通常不代表其中一種設錯了。它代表這個結論本身就對設定敏感,那就該把敏感度一起報告出來。修正版兩張表都留著,就是因為只留一張都會誤導。

第三,這種錯誤不會報錯。程式跑得完,數字印得出來,圖畫得漂亮,誤差分數一路降。它是一個會回答案的裝置,只是那個答案回答的不是你以為的問題。

我們把第一版留在紀錄裡沒有刪掉,因為第一版和第二版擺在一起,才看得出差距是從哪裡跑出來的。

懶人包圖組

概念卡:說明實驗的資料期間、樣本外天數與因子數量

結果卡:滾動視窗設定下 HAR、Ridge、ElasticNet 的 QLIKE 分數與 ElasticNet 的檢定統計量

對照卡:擴張視窗設定下 HAR、Ridge、ElasticNet 的 QLIKE 與 ElasticNet 的檢定統計量

結論卡:實驗最終裁決、最佳模型,以及兩種設定下的基準分數對照

相關文章

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

📄
天然氣的波動冬天最大,1 月比 3 月晃 1.86 倍;但「快到期更晃」,免費資料驗不出來
用 2006 到 2026 年的免費日收盤價檢查兩件事:天然氣的波動是否有月份規律,以及期貨快到期時是否更晃。第一件事找得到,第二件事這套資料驗不出來,而且結論會隨換約日的處理改變方向。 這個結果能幫你決定什麼 持有天然氣 ETF(UNG)或交易天然氣期貨的人,會碰到兩個關於波動的問題:冬天暖氣用量大,天然氣價格是否特別晃;期貨快到期的那幾天,價格是否晃得更厲害。這兩個問題都可以拿日收盤價直接檢查…
→
📄
過去一年的漲跌路徑,在樣本內解釋了 SPY 與 QQQ 約一半的每日波動;放進預測模型後損失降 8.79%,但還不能算預測優勢
用免費的日開高低收資料,檢查過去一年的漲跌路徑能解釋多少 SPY 與 QQQ 的每日波動,以及把它加進常見的波動預測基準後,預測損失有沒有下降。觀測到的損失有下降,但被比較的模型彼此包含,沒有有效的顯著性檢定,結論只能是描述性的。 這個結果能幫你決定什麼 用過去的波動預測未來的波動,是部位大小與風險預算的基本功。一個自然的問題是:除了「前一天、前一週、前一個月的波動」,過去一年的漲跌路徑本身,還有…
→
📄
台股 0050 的五分鐘波動預測:只有 26 個樣本外交易日,HAR 模型看得到方向,但沒過嚴格門檻
預測下一個交易日市場會有多「抖」,是風險管理的起點。這篇用實驗 K1664 檢查一個具體問題:用台灣五十 ETF(0050.TW)的五分鐘價格資料,HAR 類型的波動預測模型,能不能勝過最簡單的持續性預測(下一個交易日的波動等於前一個交易日)。 結論先說:在這份小樣本裡,HAR 日加週模型的平均預測誤差最低,比持續性預測低 31.03%,方向上有優勢;但樣本外只有 26 個交易日,檢定用的 t 統…
→