重算 2,191 天的波動率,換來一個沒有贏家的答案
讀者互動
0 次瀏覽,登入會員可按讚與收藏。
持續追蹤這項研究
收藏、追蹤與明日提醒只保存必要識別資料,可在會員中心檢視或刪除。
研究資訊不構成個人投資建議;提醒僅代表研究更新,不代表交易訊號。
重算 2,191 天的波動率,換來一個沒有贏家的答案
存檔裡有一條結論,寫得很硬。
兩個模型比誰更會估明天的波動。一個看過去實際發生過的波動,往後推;另一個只看每天的漲跌幅,反推波動有多大。前者的誤差分數 0.1595,後者 0.2084,愈低愈準。檢定強度 -2.0642,方向明確。
在更早那一版資料上,同一組比較的強度是 -5.2522。差距大到沒有人會想回頭再算一次。
問題不在模型,在「波動率」這三個字底下的那串數字,是怎麼被算出來的。
一條被剪成好幾段的線
台指期一天的交易時間不是連續的。白天盤結束後有個空檔,接著是跨夜的夜盤,天亮前再停一次,然後才回到隔天的白天盤。
要從這些成交價算出「今天波動多大」,就得決定怎麼處理中間那些洞。
舊的做法是各段各自加總,段跟段之間的跳動不計。這樣算,銜接處那幾下最劇烈的價格移動會整批消失。
重建後的做法是把一整天接成一條連續的線,窗口從前一天下午 1 點半,到當天下午 1 點半為止,中間四個接縫全部保留。
還有一件更基本的事:每天只用成交量最大的那一個合約,不跨合約算報酬。換月那天如果拿舊合約的價格減新合約的價格,會憑空生出一段假的劇烈波動。
這樣重建了 2,191 個交易日,其中 108 天是換月日,每天窗口起點的那個價格一天都沒有缺,平均每天湊得出 222.3 段五分鐘報酬。
最麻煩的地方是日期標在哪一天
重建之前我以為最難搞的是夜盤有沒有資料。實際做下去,最難搞的是夜盤的日期。
晚上八點成交的那一筆,交易所把它記成哪一天?如果記成隔天,而程式假設是當天,整條序列會整批錯位一天,而且錯得很安靜,圖畫出來完全看不出來。
所以逐檔去確認。40 個檔案,40 個都顯示晚上的成交被標在前一個日曆日。這是可以錯的事情,所以去查了,沒有用猜的。
邊界也一樣。抽 60 天逐日核對窗口的頭尾,全部通過。拿來當預測依據的那段資料在前一天下午 1 點半收尾,被預測的那一天從同一個時點開始,兩邊在時間上沒有一秒重疊。
新舊兩條線差多少
重建完,把新舊兩條序列擺在一起比。
兩條線的同向程度 0.8197,重建後的數值平均是舊的 1.2561 倍。

舊的那條系統性地把波動估小了大約四分之一,而且有兩成的變動對不上。它不是壞掉,它只是一直在量一個稍微不一樣的東西。
兩張不同的考卷
現在有了乾淨的波動率序列,可以問原本那個問題了:這兩個模型,誰比較準?
答案取決於你拿哪一張考卷去改。
第一張考卷,是拿預測去對這條波動率序列本身,也就是模型自己算出來的那個數字。
第二張考卷,是拿同樣的預測去對 0050 當天報酬的平方。這檔 ETF 是很多人帳戶裡真的有的東西,用還原除息後的收盤價算,收盤對收盤。

第一張考卷上,看歷史波動的那個模型 0.1595,另一個 0.2084,前者明顯較準。
第二張考卷上,前者 1.7174,後者 1.6117。名次對調了。
事前就寫死的門檻
這次的判定標準在開跑前就寫在紙上:在投資人實際持有的那張考卷上,看歷史波動的模型必須以檢定強度低於 -3 勝出,才算數。
實際跑出來是 +1.4694。方向反了,強度也不夠。
在兩個模型其實一樣準的前提下,光靠運氣就有 14.24% 的機會看到這麼大的落差。這種程度的差距,誰都不能宣稱贏。
而且「達到一般常見的顯著水準、但強度沒到 3」這種情況,開跑前就被明確寫成不算通過。這條規則寫在前面,所以事後沒得討價還價。
舊資料上也從來沒贏過
真正關鍵的一步在這裡。把同一組模型放回舊的那條波動率序列上重跑一次,看第二張考卷。
| 評分標的 | 波動率序列 | 看歷史波動的模型 | 看漲跌幅反推的模型 | 檢定強度 |
|---|---|---|---|---|
| 模型自己算出來的波動率 | 舊的 | 0.1004 | 0.2265 | -5.2522 |
| 模型自己算出來的波動率 | 重建後 | 0.1595 | 0.2084 | -2.0642 |
| 0050 當日報酬平方 | 舊的 | 1.8878 | 1.6117 | +2.3118 |
| 0050 當日報酬平方 | 重建後 | 1.7174 | 1.6117 | +1.4694 |
(粗體為該列較準的一方;誤差分數愈低愈準,前兩列 450 天,後兩列 436 天。)

舊資料上,第二張考卷是 1.8878 對 1.6117,檢定強度 +2.3118。方向同樣偏向另一邊,同樣沒跨過門檻。
換句話講,在投資人真的持有的標的上,看歷史波動的模型重建前沒贏,重建後也沒贏。
表格裡還有一個小地方值得看:在 0050 那張考卷上,看漲跌幅反推的模型兩次都是 1.6117,一模一樣。它根本不吃波動率序列,重建對它的預測毫無影響。那張考卷上的變化,全部來自另一邊。
至於極端行情那一層,另外做了三個修正版本去試著把落後的模型救回來,三個都可以估出來,救回來的是 0 個。
那重建到底買到了什麼
一個模型在自己出的考卷上考很高,這件事本身不奇怪。
那條波動率序列,正是它的輸入來源。它整天在做的就是把過去的波動往後延伸,拿同一套邏輯生出來的數字去改它的考卷,它當然占便宜。另一個模型從頭到尾沒看過這條序列。
改用投資人手上真的有的東西去評分,這種優勢就沒了。
重建那 2,191 天買到的,是「可以做這個比較」本身。序列有洞、窗口跟 ETF 的交易日對不齊的時候,你把兩個模型放到投資人的標的上比,比出來的差距分不清是模型的差距還是對齊的差距。補完洞、把窗口切在下午 1 點半,這個比較才乾淨。
比較乾淨了,答案是沒有人達標。
我們只能說到這裡
最後寫進存檔的東西,比原本那條結論小很多。
原本那個看起來很硬的優勢,只存在於「用模型自己的數字改自己的考卷」這個設定下。改用一般人帳戶裡真的有的東西當標準,優勢消失,而且回頭查舊資料,它從一開始就不在。
沒有證明另一個模型比較好。+1.4694 這種強度什麼都證明不了,它只是說「這裡沒有你要找的東西」。
所以這篇沒有可以拿去用的操作結論。它的內容是一份診斷:那個當年很漂亮的差距,來自量測方式,不來自模型能力。存檔裡的路線也照這個結果寫,一則方法論短記,因為診斷本身就是產出。
把帳面上的一筆劃掉不好看。被劃掉的這一筆,本來支持一個聽起來很順的推論:吃得到分鐘級資料的模型,應該贏過只看每天漲跌幅的模型。順的推論最少被回頭檢查。這次回頭檢查,卡住的地方是那張考卷由誰出。
波動率序列由台灣期貨交易所台指期全合約逐筆成交資料重建,每日只取成交量最大的合約,共 2,191 個交易日、108 個換月日、窗口起點價缺漏 0 天,平均每日 222.3 段五分鐘報酬;夜盤日期歸屬經 40 個檔案逐一確認,窗口邊界抽驗 60 日全數通過。投資人標的為 0050 還原除息後的收盤對收盤報酬。樣本外評分期 2023-03-01 至 2024-12-31,共 450 天,每 63 天重新配適一次;兩個模型在投資人標的上共同可比 436 天。判定結果為假說遭否決。
懶人包圖組




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