同一個模型跑三次,答案在三個月裡移動了 0.07:談「最新一段窗口」的統計數字
讀者互動
0 次瀏覽,登入會員可按讚與收藏。
同一個模型跑三次,答案在三個月裡移動了 0.07:談「最新一段窗口」的統計數字
我們在整理一份台股波動率研究的舊表格時,卡在一個看起來很單純的數字上。
表裡寫著台股加權指數的槓桿參數 γ = 0.272,t 值 3.18,標註為統計顯著。問題在於,這個數字找不到當初產生它的檔案。原始的計算結果 JSON 已經隨著一次舊實驗被刪除,只剩下一則筆記記著結論。
沒有檔案,就沒辦法驗算。於是我們決定重跑一次。
重跑之後,數字掉出了顯著門檻
我們用完全相同的不對稱波動率模型重建,rolling 窗口取最後 2000 個交易日,並使用穩健標準誤。資料改用 2026 年 7 月 12 日下載並鎖檔的 yfinance snapshot,所有標的統一截到最後一個共同交易日 2026-07-09,再往回取 2000 天,窗口起點落在 2018-04-19。
結果是 γ = 0.198,統計檢定接近顯著(強度偏弱,統計值 1.86)。
t 值 1.86 沒有通過常見的 5% 顯著門檻。一個在論文表格裡被寫成「顯著」的槓桿效應,重算之後只剩 10% 邊際。
先排除「程式寫錯了」這個可能
拿到掉出顯著的結果,第一件要做的事是懷疑自己。
我們把新抓的資料截到前人用過的兩個舊結束日,換回他們當時用的報酬率定義,重算一次。台股指數在 2026-04-05 結束、用簡單報酬率算出 γ = 0.2614、統計檢定高度顯著(強度很強,統計值 3.32),對照組的舊值是 0.2614 / 3.32。兆豐金 2886 在 2025-01-22 結束算出 0.0539 / 1.42,對照值 0.054 / 1.41。
小數點後四位都對上了。資料源沒問題,程式也沒問題。差異來自別的地方。
差異來自窗口的結束日
同一組模型設定、同一支程式,只把窗口的結束日往前推,台股指數的 γ 是這樣走的:
| 窗口結束日 | γ | 穩健 t 值 | 5% 顯著 |
|---|---|---|---|
| 2025-01-22 | 0.157 | 2.57 | 是 |
| 2026-04-05 | 0.269 | 3.40 | 是 |
| 2026-07-09 | 0.198 | 1.86 | 否 |
從 0.157 到 0.269,再回到 0.198。最後那一段只隔了三個月,γ 就掉了 0.071。

值得放在一起看的是模型本身的計算誤差。我們每一次估計都跑了 101 個不同的起始點做最佳化,全部 101 個都收斂到同一個解,收斂解之間的 γ 差距只有 0.00007。
數值最佳化帶來的不確定性 0.00007,窗口結束日帶來的移動 0.071。後者是前者的一千倍左右。
這個數字的主要不確定性來源,跟模型算得準不準幾乎無關,而是你把窗口切在哪一天。
個股漂得更兇
兆豐金 2886 是這次最極端的例子。窗口結束在 2025-01-22 時 γ = 0.054,結束在 2026-07-09 時變成 0.171,點估計翻了三倍。
而兩個數字都不顯著(t 分別是 1.42 和 1.58)。一個與 0 無法區分的參數,在兩個相隔一年半的端點之間跳成三倍,本來就是這類估計會有的行為。

把 14 檔標的擺在同一個結束日(2026-07-09)看,通過 5% 顯著的只有三檔:0056 高股息(γ = 0.222,統計檢定顯著(強度中上,統計值 2.95))、SPY 標普 500 ETF(γ = 0.200,統計檢定高度顯著(強度很強,統計值 4.09))、0050 台灣 50(γ = 0.105,統計檢定顯著(強度中上,統計值 2.01))。
台股加權指數 γ = 0.198 排在第三高,但 統計檢定接近顯著(強度偏弱,統計值 1.86) 沒過門檻。九檔個別股票的 γ 全部不顯著,t 值介於 −0.55 到 1.58 之間。
這裡要特別說清楚一件事:我們沒有對任兩檔標的做差異檢定。所以「0056 的槓桿效應高於台股指數」這種話,這份資料還撐不起來。看得出來的只有排序,不是統計上的高下。
那個舊的 0.272 到底是怎麼來的
有意思的是,把窗口結束日換成 2026-04-05,用對數報酬率算出來的 γ 是 0.2685。跟舊表格裡的 0.272 已經很接近。
所以舊數字大概不是憑空捏造,它落在某些端點的合理範圍內。
但接近不等於復現。我們不知道當初那次計算用的是哪一天的資料、哪一種報酬率定義、抓資料的時點在什麼時候。沒有存活的檔案,就無法回答這些問題。0.272 的判定維持不變:不可復現。
rolling last-window 是一個移動標靶
這次重跑真正有價值的部分,跟槓桿效應本身沒什麼關係。
「取最新一段窗口」是一種很常見的做法,理由聽起來也合理:市場會變,用最近幾年的資料比較貼近現況。可是這種寫法有個副作用,數字綁在你按下執行鍵的那一天。
同一份程式,你今天跑跟三個月後跑,會得到不同的答案。答案的差距足以讓一個「顯著」變成「不顯著」。若把它寫進報告卻沒有標註 as-of 日期,讀者三個月後照著做,會做不出同樣的結果,還會以為是自己弄錯了。
這對一般讀者的用處在於:下次看到研究報告或投顧簡報引用「最近 N 年」的統計係數時,先找兩件事。第一,有沒有寫清楚樣本截到哪一天。第二,換一個結束日重算,結論會不會翻。
沒有寫 as-of 日期的 rolling 統計量,可信度要打折。
我們自己的處理
這次的結論寫回研究流程有兩條。
第一,所有 rolling 窗口的數字都要標註窗口的起訖日期,引用時連日期一起帶走。這次重建的一整組數字綁定在結束日 2026-07-09,換一天就要重算。
第二,作為主要結論的統計量不能用 rolling last-window。全樣本估計雖然不夠「貼近現況」,至少不會每季換一次答案。rolling 版本降級成穩健性檢查,用來說明結論對窗口選擇有多敏感。
刪掉的舊檔案救不回來了。這次至少把資料鎖成 pinned snapshot,把 101 個最佳化起點的診斷全部寫進結果檔,讓下一個人打開它的時候,能算出跟我們一模一樣的數字。
資料 :yfinance pinned snapshot(2026-07-12 下載,auto_adjust=False),樣本自 2008-01-01 起,共同結束日 2026-07-09。
方法 :不對稱波動率模型、常數平均、常態創新,rolling 窗口 2000 個交易日,每次估計 101 個起始點取最高收斂對數概似,t 值使用穩健標準誤計算。完整結果已隨研究產物保存。
限制 :本文所有 γ 為窗口內的描述性估計,非預測訊號,不構成投資建議。跨標的的排序未做差異檢定。t 值為模型穩健標準誤導出,非 Newey–West HAC。
懶人包圖組



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