冠軍換了十六次,統計上一個都沒贏
讀者互動
已追蹤瀏覽 0 次,登入會員可按讚與收藏。
假設你手上有 16 個波動率模型。過去七年,你每個月幫它們重排一次名次,冠軍換了 16 次。看起來像一場競爭激烈的比賽。
這次實驗把同樣這 16 個模型丟進正式的統計檢定。結果是:一個都淘汰不掉。
標的是 SPY,樣本外期間 2019-01-02 到 2026-05-20,共 1,849 個交易日。評分用的是預測誤差指標,把模型押的波動率跟當天實際發生的波動比對,差得越遠扣越多分(採 Patton (2011) 的定義)。比較的方法是模型信賴集合檢定(Hansen、Lunde 與 Nason 2011),搭配定態重抽樣模擬一千次,顯著水準 0.10,亂數種子 42。
16 個模型全部留在信賴集合裡。淘汰名單是空的。程序跑到最後一輪,連最差的那個都踢不出去,終止時的統計量是 0.438,遠高於 0.10 的門檻。
先把一個常見誤讀擋掉:0.438 是整個集合在程序終止時的統計量,衡量的是「最差的那個還能不能被剔除」,不是每個模型各自的分數。把它讀成「A1 這個模型的分數是 0.438」是錯的。
這 16 個模型是誰
它們來自上一輪的賽馬測試,分屬兩條技術路線。A 路線是 A1 到 A5,加上 A2f、A4f、A3f、A2n、A4n 五個變體。B 路線是 B0 到 B3,加上 C2、C3。
原始名單有 17 個。C1 在樣本外沒留下任何一天的有效預測,直接出局,剩 16 個進檢定。
換句話說,這 16 個彼此是同一條技術路線上的參數變體。上一輪只用逐點的平均分數排了名,沒有做多重比較的校正。這次補上這一步之後,1,849 天的樣本給的答案是分不出來。
這件事本身就是可以帶走的結論:把力氣花在同一條路線的參數微調上,期望報酬接近零。要拉開差距,得換一條概念上真的不同的軸線,例如跳躍、體制轉換,或結構上全新的外生變數。
信賴集合在做什麼
它的邏輯接近信賴區間,只是對象從一個數字換成一組模型。它先問:這批模型之間的預測誤差差異,大到超出抽樣噪音了嗎?答案若是否,整批留著;答案若是,把最差的踢掉,再問一次,直到剩下的彼此分辨不出來。
留在集合裡的意思是「以現有樣本,沒有證據說它比別人差」。集合大小停在 16,代表這 1,849 天的資料,對「16 選 1」這個問題,沒有給出任何資訊。
再往下講一層:為什麼「分不出高下」就等於「排行榜是噪音」。任何排行榜都得先算出每個模型的平均得分,再比大小。平均分一定會有高低,就算 16 個模型的真實實力完全相同,抽樣的隨機性也會把其中一個推上第一名。檢定要回答的正是「這個高低差,超得過隨機性能製造的幅度嗎」。答案是否,那第一名的位置就只是那段期間的運氣,換一段期間,運氣換人坐。
換個市場狀態,答案一樣
一個合理的懷疑是:全期看不出差異,可能是恐慌與平靜混在一起互相抵消了。所以把樣本按 VIX 水準與 NBER 景氣循環切開,各跑一次。
| 市場狀態 | 樣本天數 | 存活模型 | 檢定終止統計量 |
|---|---|---|---|
| VIX ≥ 20(高波動) | 717 | 16 / 16 | 0.384 |
| VIX 15–20(中) | 718 | 16 / 16 | 0.420 |
| VIX < 15(低波動) | 414 | 16 / 16 | 0.373 |
| NBER 衰退期 | 43 | 16 / 16 | 0.467 |
| NBER 擴張期 | 1,806 | 16 / 16 | 0.463 |
五種狀態,五次檢定,存活數都是 16。
衰退期那一列只有 43 天,全部落在 2020 年 3 到 4 月的 COVID 崩盤。檢定力嚴重不足,這一列只能當描述看,不能當推論用。

七年裡的冠軍名單
用 252 個交易日的滾動視窗、每 21 個交易日往前推一次,掃出 77 個視窗,每個視窗挑當下預測誤差最小的模型。
名單是這樣走的。2019 年底是 C3,2020 年初換 A2,2020 年春天 A3f 上位,同年秋天 B0 接手並蟬聯將近兩年。2022 年秋天換 B1,2023 年中 B3 與 A1 反覆互換。2025 年輪到 A4f、A3f、A2、A4 交替,2026 年落在 A5。冠軍換手 16 次。
同一批視窗裡,77 個有 74 個仍然保留全部 16 個模型。只有 2021-11-30、2021-12-30、2022-01-31 這 3 個視窗縮到 15 個。
那 3 個縮到 15 的視窗擠在 2021 年底到 2022 年初的連續三個月,當期冠軍都是同一個模型 B0。即使在對檢定最有利的那幾個視窗裡,也只淘汰得掉 1 個模型。
所以七年下來的圖像是:排名一直在動,淘汰幾乎沒發生過。換手的是名次,不是實力差距。名次在追噪音。
滾動視窗只有 252 天,樣本比全期小得多,檢定力更低。冠軍在這種視窗裡換得越勤,越是提醒你那個名次有多脆弱。

這個結論的邊界
單一資產、單一樣本外期間。SPY 上分不出高下,推不到台股、外匯或個股。
按市場狀態切的那組檢定,用的是切子樣本的粗近似。Liu、Pelger 與 Yang (2025, JRSS-B) 的 kernel-weighted 做法才是正規版本,這次沒有實作。
衰退期 43 天,檢定力不足,前面標過一次,這裡再標一次。
滾動視窗的當期冠軍不等於正式的 sequential SPA 檢定。冠軍換手點只是視覺化輔助,沒有跑結構性斷點檢定。
冠軍的並列拆解規則是「檢定統計量相同時取平均誤差最低者」,這條規則本身偏向平均分低的模型。換成平均排名之類的拆解方式,時間線會小幅移位。
0.438 這類數字是集合終止的統計量,不是個別模型分數。這句話寫第二次,因為它最容易被誤引。
下次看到模型排行榜,問三件事
第一,這個排名有沒有做多重比較的校正?16 個模型比一輪,光靠運氣就會有人跑出漂亮的平均分。
第二,這個差距經得起重抽樣模擬的考驗嗎?點估計上的高低,跟統計上能分辨,是兩回事。
第三,換一個時間窗,第一名還是它嗎?這份樣本的答案是換了 16 次。
VolPred 自己也吃同一把尺。平台上的策略與模型,不會因為某一個在某段期間的平均誤差最低就宣稱它比較好。能宣稱的上限,就是它還留在信賴集合裡。
這是一個沒有贏家的結果。它沒告訴你哪個模型好,它告訴你的是:在 SPY 這份七年樣本上,「排行榜第一名」這五個字撐不住它自己的重量。
資料來源:本平台第 1583 號實驗,SPY 樣本外 2019-01-02 至 2026-05-20,1,849 個交易日;VIX 與 NBER 景氣循環標記取自平台既有資料集與 FRED。
懶人包圖組




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