← 研究動態
一般讀者2026/07/31 下午02:000 次瀏覽

我們以為找到了新指標,結果兩個模型的預測值到小數點後 16 位都一樣

methodologyvolatilityhardispersionreader_facingindex

讀者互動

0 次瀏覽,登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

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

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

我們以為找到了新指標,結果兩個模型的預測值到小數點後 16 位都一樣

先講一個聽起來很合理的想法。

一個指數會漲會跌,是底下幾百檔股票加總的結果。但指數的波動不等於成分股波動的平均,如果今天所有股票一起漲,指數會大動;如果一半漲一半跌,互相抵消,指數可能幾乎不動,即使每一檔個股當天都很激烈。

中間差的那個東西,一般叫「離散度」:股票們有多不同步。

那如果我們把離散度算出來,拿去預測指數明天、下週、下個月的波動,會不會比只看指數自己的歷史波動更準?

我們拿標普 500 和台灣 50 做了這件事。SPX 部分是 2010 年 1 月 4 日到 2026 年 7 月 10 日,共  4,153 個有離散度資料的交易日 ,平均每天納入  439 檔成分股 (最少 346,最多 503)。成分股名單是按歷史上每一天實際的納入與剔除紀錄倒推的,不是拿今天的名單回頭套,這點很重要,否則等於偷看未來。

指數波動與成分股波動


第一輪結果:好像沒什麼用

把離散度加進預測模型,跟不加的版本比,六種組合(兩個市場 × 三種預測期間:明天、五天、二十二天)。

結果是  0 比 6 。沒有任何一格通過我們事先設定的門檻。預測誤差的改善幅度從 -5.13%(台灣 50、22 天)到 +0.69%(台灣 50、1 天)都有,正負都有,看不出方向。

到這裡為止,故事是「這個指標沒用」。很無聊,但也算個結論。

問題是這個結論也是錯的。


檢查程式的時候,發現了一件事

我們順手做了一個一致性檢查:把「加了離散度的模型」和「加了成分股平均波動的模型」拿來對比,看兩者預測值差多少。

理論上這是兩個不同的模型,應該給出不同答案。

實際差距是  0.000000000000000088 。

寫成科學記號是 8.85 × 10⁻¹⁷。那不是「很接近」,那是浮點數運算的捨入誤差,在電腦能表達的精度內,兩個模型給出的是同一組數字。

原因是一行國中程度的算式。離散度的定義展開之後:

log(離散度) = log(成分股平均波動) − log(指數波動)

而我們的預測模型裡,本來就有「指數波動」這一項。所以往模型裡加「離散度」,等於是加了「成分股平均波動」減掉一個模型早就知道的東西。兩個模型張開的是同一個空間,預測值當然一樣。

換個說法:我們以為在給模型一個新資訊,其實只是把它已經握有的資訊換個名字再說一遍。任何「效果」都不是發現,是命名錯誤。


那真正的離散度呢

前面那個不算數,所以要重做:先讓模型吃飽波動水準這件事,然後才問「在波動水準之外,股票有多不同步」有沒有額外貢獻。

這次用兩個真的在測不同步程度的指標:成分股之間的平均相關係數,以及相對的橫斷面波動離散度。

兩個市場 × 三種期間 × 兩個指標 =  12 格 。

檢驗階段格數通過
第一輪(含代數重複的指標)60
事先設定的 1% 實質增益排除60
控制波動水準後的真離散度120

12 格裡,只有 2 格在單獨看的時候達到一般說的「統計顯著」。但一次做 12 個檢驗,本來就會有幾格純粹靠運氣達標,做完多重比較校正之後,存活數是  0 。

控制波動水準後再加離散度


有些話不能講得太滿

這次的結論是「證據不足以宣稱它有穩健的增量預測力」。它不等於「已證實完全沒用」,這兩句話在統計上差很多,我們只能講前者。

另外三件必須講的事:

 在兩個穩健性子樣本裡,加了這個指標反而顯著變差 (2020 年後的高覆蓋率子樣本,以及用產業 ETF 取代個股的版本)。方向對「這指標有用」不利,我們沒有藏起來。

 平均相關係數的算法不夠嚴謹 :允許每檔股票用 15 到 22 天的最少觀測數,逐日取平均,有效權重會漂移,所以它不是精確的波動加權平均相關。

 成分股資料有存活者偏誤 :資料源缺少已下市的股票,這部分沒辦法補。


帶得走的一句

如果你要往一個模型裡加新變數,先花五分鐘把新變數的定義展開,看它會不會被既有的變數用加減湊出來。

我們是在跑完整套回測、寫完第一版結論之後,才靠一個順手的檢查發現這件事。差別在於:前一版的結論寫的是「這個指標沒有預測力」,而正確的說法是「我們根本沒測到那個指標」。

 資料來源 :SPX 與台灣 50 成分股日資料(yfinance),成分股名單依歷史納入/剔除紀錄還原。完整結果 experiments/k1701/k1701_results.json,方法與限制 experiments/k1701/README.md

懶人包圖組

指數的波動不等於成分股波動的平均。如果所有股票一起漲,指數大動;一半漲一半跌互相抵消,指數幾乎不動,即使每檔個股都很激烈。中間差的那個東西叫離散度,也就是股票們有多不同步。用它來預測指數波動,聽起來很合理。

一致性檢查顯示,加了離散度的模型和加了成分股平均波動的模型,預測值的最大差距只有浮點數捨入誤差等級。原因是離散度的定義展開後等於成分股平均波動減去指數波動,而指數波動本來就在模型裡。

先讓模型吃飽波動水準,再加入平均相關係數與相對橫斷面離散度這兩個真正測不同步程度的指標。兩個市場乘三種預測期間乘兩個指標共十二格,做完多重比較校正後存活數是零。

結論是證據不足以宣稱這個指標有穩健的增量預測力,不等於已證實完全沒用。另外在兩個穩健性子樣本裡加了這個指標反而顯著變差,成分股資料也存在已下市股票缺漏造成的存活者偏誤。

相關文章

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

📄
賣波動的甜頭沒消失,消失的是能活著領錢的本金
# 賣波動的甜頭沒消失,消失的是能活著領錢的本金 2018 年 2 月 6 日,一檔叫 SVXY 的美股 ETF 收在 24.48 美元。前一天它還是 143.64。一天之內,帳面少掉 83%。再往前推四個交易日,2 月 1 日的收盤價是 243.34,一週之內蒸發 88%。 那檔 ETF 做的事情,用白話講就是「賣波動保險」。市場擔心大跌的時候,願意付比較貴的價錢買保險;如果後來沒真的大跌,...
📄
非農前一週的 VIX,和沒有非農的那一週幾乎一樣:191 次公佈日的對照組檢定
# 非農前一週的 VIX,和沒有非農的那一週幾乎一樣:191 次公佈日的對照組檢定 8 月 7 日晚上,美國勞工統計局要公布 7 月就業報告。從 7 月 30 日收盤算起,還有七個交易日。 這種時候市場上會開始出現一種說法:事件快到了,波動率要開始墊高,該提前佈局。聽起來很合理,畢竟不確定性擺在前面。 我把這句話拿去對 2010 年以來的資料算了一次。結論是:非農前的那一週,VIX 的走法跟...
📄
資金費率能預測比特幣波動嗎?我認真拿六年數據測了這個「聰明錢訊號」
# 資金費率能預測比特幣波動嗎?我認真拿六年數據測了這個「聰明錢訊號」 玩永續合約的人,很少不盯資金費率的。 每八小時結算一次,多方付錢給空方,或反過來。費率一飆高,論壇上的「變盤」說就冒出來了。這套講法背後藏著一個可以驗證的主張:資金費率是持倉擁擠度的溫度計,而擁擠會帶來波動。聽起來合理。但合理跟能預測,中間差得遠。 所以我把它拆開來算了一遍。相關性我沒興趣,我要問的是更難的那一題:把資金...