商品 ETF 的方向對了一半,可惜統計撐不住:波動分高低之後的動能 vs 反轉拼圖
商品市場的學界研究這兩年冒出一個新講法:短期的反轉跟動能其實同時存在,誰贏要看當下的波動高低。波動高的時候反轉壓過動能,波動低的時候動能壓過反轉。
聽起來很合理。趨勢交易圈裡這也是常識:行情急的時候追高會被打臉,行情慢的時候趨勢能跑很久。
我們把這個猜想搬到 6 個常見商品 ETF 上實際算。樣本是 2010 年 1 月到 2026 年 6 月,黃金、白銀、原油、天然氣、銅、廣義商品籃,週和月兩種頻率都跑,回看 1、2、4 個 bar 的方向訊號。一共 36 個格子,每個格子再切高低波動兩段,所以是 72 個獨立的檢驗。
結論先說:方向對了一半,但檢驗一個都過不了關。
設計怎麼擺
每個格子要回答的問題很單純:在這個 ETF、這個 N、這個頻率、這段波動環境裡,做反轉的平均報酬會不會明顯高過做動能?
訊號是「過去 N 期報酬的方向」,反轉就是把訊號反過來。兩邊用同一個延遲一根 bar 的規則,不偷看未來。波動分段用滑動視窗算出來的當下波動,再用展開中位數切高低,分位數本身只看過去資料,不會偷到當下這根 bar 的資訊。
| 設計欄位 | 設定 |
|---|---|
| 標的 | 黃金、白銀、原油、天然氣、銅、廣義商品 ETF |
| 樣本 | 2010-01 到 2026-06,最多 16.5 年(廣義商品月頻只有 122 筆,是樣本最薄的格子) |
| 訊號 | 過去 N 期報酬的方向,N 取 1、2、4 |
| 波動分段 | 滑動視窗的實現波動切高低,門檻用展開中位數 |
| 比較 | 反轉與動能兩邊的報酬差做統計檢驗 |
| 標準誤 | 用支援自相關的穩健公式(學界稱 HAC) |
| 多重檢驗校正 | 36 個格子做 Bonferroni 校正,門檻收緊到 0.05 / 36 ≈ 0.0014 |
成本部分加了 1 個 bp 的翻倉費用,這只是 sensitivity 用,不會改變判定。

主結果:一半方向對 全部不顯著
把 36 個格子的方向擺出來看,剛好 18 個格子(50%)呈現「高波動時反轉平均報酬比動能高、低波動時動能平均報酬比反轉高」的預期方向。
但統計檢驗是另一回事。
在寬鬆的門檻下(一般說的 5% 顯著),高波動段抓到 1 個格子反轉顯著(銅 ETF 週頻 N=1,dm_t = +1.99),低波動段抓到 3 個格子動能顯著(黃金月頻 N=1、N=2、N=4,dm_t = −2.5 / −2.6 / −2.0)。另外高波動段還有 2 個格子達到寬鬆顯著但方向相反,原油月頻 N=1(dm_t = −2.42)跟廣義商品月頻 N=1(dm_t = −2.19),是動能贏,跟 H1(高波動反轉)相反。寬鬆 統計強度>1.96 命中合計 6 個格子。
把多重檢驗校正套下去,門檻收緊到 0.0014。剛剛那 6 個格子全部消失,36 個全部歸零。

這 6 個寬鬆命中也不該被當證據。當你同時跑 36 個檢驗,就算這些檢驗背後其實全是雜訊,平均也會有大約 1.8 個跑出寬鬆顯著;72 個一起算就是大約 3.6 個。我們抓到 6 個,看起來略高,但低波動段抓到的 3 個黃金月頻格子(N=1、N=2、N=4)共用大部分樣本,三個檢驗高度相關,等同有效獨立檢驗只剩 4 個,跟雜訊期望幾乎沒實質差距。
為什麼方向對 統計卻撐不住
這個結果並不矛盾。方向一致不等於 effect 大。
樣本是第一個限制。廣義商品月頻 122 筆、銅月頻 158 筆,要在這種長度下檢出微小報酬差是吃力的。再把樣本切高低波動之後每邊只剩 60 到 100 筆,穩健標準誤又會把信賴區間撐開,t 值很難跑到校正後門檻的位置。
第二個限制是 ETF 替代物本身。學界討論的「商品短期反轉加動能共存」是建立在真正的期貨曲線資料上,roll yield、basis、庫存壓力都會進到訊號裡。ETF 把這些東西混進總報酬一鍋炒,最有資訊量的那層資訊先被吃掉了。剩下的就是純價格動能 — 而純價格動能在 2010 年之後的商品市場本來就被金融化稀釋得差不多。
第三個是 effect 本身可能就小。趨勢交易圈的「行情急 → 反轉、行情慢 → 動能」是長期累積的交易感覺,沒有人說過它應該大到 16 年 6 個 ETF 就能打出統計顯著。學界的常識感跟正式統計檢驗中間,本來就有一段距離。
一個方法論教訓
寫到這裡可以拉出一個更廣的教訓。如果今天直接看寬鬆門檻抓到 4 個顯著,再加上 18/36 方向對,文章寫起來會像「商品 ETF 在波動分段下展現出動能反轉共存的證據」。聽起來像個發現。
但這 4 個是從 72 個檢驗裡篩出來的。在 72 個檢驗下,純雜訊也會給你大約 3 到 4 個寬鬆命中。所以那 4 個跟「真的有訊號」幾乎沒辦法區分。多重檢驗校正存在的目的就是這個:把這層由檢驗數量帶來的假發現拉掉。
而 50% 方向對也要小心。72 個獨立的隨機方向訊號,純雜訊本來就會有大約 50% 機率落在「預期方向」那一側。你需要的是 70%、80% 才開始有意義。50% 不能拒絕「方向是隨機的」這個 baseline。
換句話說:方向對 跟 統計顯著 是兩回事,方向對的比例「夠不夠高」跟「跟 50% 純機率比起來顯著嗎」又是另一回事。每一層都要分開查。
接下來要怎麼做才有機會
這篇是 PoC(先驗證最簡架構),確認用 ETF 加滑動波動分段抓不到。這不代表學界的講法錯了。下一步比較有意義的方向至少有三個。
第一是換成真正的期貨連續契約,把 roll yield 跟 basis 重新放回訊號裡。CME 主流商品都有夠長的歷史。第二是把波動分段的切法升級,從滑動中位數換成更精緻的波動模型(例如有條件變異數模型)或隱藏狀態模型,這樣分段邊界會更清楚,混在邊界附近的觀察值不會稀釋訊號。第三是加進期貨曲線結構 — 看曲線是 backwardation 還是 contango,只在 contango 端做反轉、backwardation 端做動能,看分離度有沒有上來。
NULL 的價值在於它幫後續研究排掉一個解:問題不在「沒嘗試」,問題在 ETF 替代物跟單一波動指標的解析度不夠。下一輪如果用期貨加隱藏狀態還是抓不到,那就可以寫成清楚的證偽。
資料來源
yfinance 商品 ETF 收盤價,期間 2010 年 1 月到 2026 年 6 月 15 日。完整 36 格的報酬、最大回撤、檢驗統計、每格樣本數、跟未來資料偷看的審計紀錄都在實驗資料夾,程式碼可一鍵重跑。
懶人包圖組


