處置效應與波動率:行為金融的視角好聽,但對預測沒幫助
讀者互動
已追蹤瀏覽 0 次,登入會員可按讚與收藏。
處置效應與波動率:行為金融的視角好聽,但對預測沒幫助
一個直覺很強的故事
在行為金融學裡,「處置效應」(disposition effect)大概是最廣為人知的一個發現之一。Shefrin 與 Statman(1985)說:投資人傾向太早賣出賺錢的股票、卻死抱賠錢的股票不放,把賺錢的鎖利、把虧錢的留著,期待哪天能漲回去。後來 Grinblatt 與 Han(2005)把這個心理現象量化成一個可計算的指標—— Capital Gains Overhang(CGO,未實現損益持倉量) :
CGO_t = (P_t − RP_t) / P_t
其中 P_t 是當期價格,RP_t 是「平均成本參考價」(用過去 252 個交易日加權平均估算)。CGO 為正時,市場整體還處在獲利區,投資人「想趕快獲利了結」;CGO 為負時,市場處在虧損區,投資人「不甘心賣,硬撐」。
這個故事很迷人。它把市場的不對稱反應(賺錢時保守、虧錢時躁動)說得很清楚,也讓我們直覺以為—— 如果能用 CGO 來預測未來波動率,應該會比純粹看歷史波動率更準 。畢竟,當投資人都在虧損狀態,理論上市場該更脆弱、更容易暴衝;當投資人都在獲利狀態,市場應該相對溫吞。
我們在 K629 實驗裡,認真檢驗了這個直覺。 結論是:行為金融的解釋很漂亮,但它不能讓你預測得更準。
實驗設計
- 資料 :SPY 與 VIX,2006-01-01 至 2026-03-27,共 5,088 個交易日(資料來源:yfinance)
- 目標變數 :下一日的已實現變異數 RV_{t+1}(用 r² 當代理)
- 解釋變數 :
- CGO(資本利得 overhang,λ = 1/252)
- UGF(Unrealized Gain Fraction,類似指標)
- AsymVol(異常成交量)
- HAR-RV 元素:日、週、月已實現波動率
- VIX 作為控制變數
- 比較模型 :HAR-RV baseline、HAR-RV + CGO、HAR-RV + CGO + VIX、GJR-GARCH(含槓桿效應的 baseline)
- 樣本外(OOS) :2023-01-03 至 2024-12-31,共 502 天,每 21 天 refit 一次
- 時序處理 :所有解釋變數用 t 期值預測 t+1 期 RV,已嚴格 lag(程式碼用
rv.shift(-1))
第一個發現:CGO 的「樣本內」表現確實亮眼
如果只看 in-sample 迴歸,CGO 看起來真的有東西:
| 模型 | R² | CGO 的統計強度 |
|---|---|---|
| M1: 只用 CGO | 0.119 | -5.06 |
| M2: 只用 UGF | 0.089 | -5.62 |
| M3: 只用 AsymVol | 0.003 | -1.37 |
| M4: HAR-RV baseline | 0.223 | — |
| M5: HAR-RV + CGO | 0.233 | -2.91 |
| M6: HAR-RV + 三變數 | 0.238 | -2.07 |
| M7: HAR-RV + CGO + VIX | 0.252 | -0.002 |
幾個重要訊號:
- CGO 單變數迴歸的 R² 高達 11.9% ——光靠一個行為金融指標就能解釋將近 12% 的下期波動率變動,看起來是個強訊號。
- CGO 與 RV_{t+1} 的相關係數是 -0.35 ,方向也對:獲利越多(CGO 高) → 波動越低;虧損越深(CGO 低) → 波動越高。
- 加入 HAR-RV 之後,CGO 雖然還達到嚴格統計檢驗門檻,但 R² 只從 22.3% 微幅進步到 23.3% ——增量只有 0.97%。
- 最關鍵的證據在 M7 :一旦控制 VIX,CGO 的統計強度立刻塌到 -0.002,幾乎完全消失。
第二個發現:CGO 與「過去報酬」高度共線,缺乏獨立資訊含量
為什麼 CGO 一加 VIX 就消失?答案藏在這幾個相關係數裡:
| 配對 | 相關係數 |
|---|---|
| CGO vs 過去 22 日累計報酬 | 0.394 |
| CGO vs 過去 63 日累計報酬 | 0.616 |
| CGO vs 過去 252 日累計報酬 | 0.889 |
| CGO vs VIX | -0.771 |
| CGO vs UGF | 0.742 |
換句話說: CGO 與「過去一年累計報酬」幾乎是同一個變數 (相關係數 0.889),與 VIX 也高度負相關。它沒有提供「投資人心理狀態」這種獨立資訊,它只是把「市場最近一年表現」用另一種包裝再說一次。
這也解釋了為什麼 K629 觀察到一個經典的「行為金融解釋」假象:
- 把樣本切成五等分(quintile),低 CGO 組(虧損狀態)的下期 RV 平均是 0.000454,高 CGO 組(獲利狀態)只有 0.000054—— Q1/Q5 比達 8.4 倍 ,看起來行為解釋強得驚人;
- 但這個效果,跟「最近一年市場跌了多少」高度共線,熊市期間 CGO 自然是負的、波動自然高,這只是同一件事的兩種講法。
第三個發現:樣本外(OOS)完全沒有改善
樣本內 R² 進步 0.97% 已經很可疑(HAR-RV 多塞一個自由度也會多一點 R²)。OOS 是真正的考驗:
| 模型 | QLIKE | MSE |
|---|---|---|
| HAR baseline | -8.6132 | 1.229e-08 |
| HAR + CGO | -8.5091 | 1.255e-08 |
| GJR-GARCH baseline | -8.6132 | 1.229e-08 |
QLIKE 與 MSE 都是越小越好。HAR + CGO 在兩個指標上 全面輸給 HAR baseline ——QLIKE 從 -8.61 退步到 -8.51,MSE 也微幅惡化。
兩模型比較檢定(HAR vs HAR+CGO,QLIKE)的統計強度是 -1.81,沒有達到嚴格統計檢驗門檻;但符號告訴我們: CGO 即便不是顯著變壞,也沒有顯著變好。
實驗在 key_findings 直接給出結論:
"cgo_beats_har_oos": false
第四個發現:方向預測(vol up / vol down)也失敗
如果 CGO 不能預測波動率「大小」,那能不能預測波動率「方向」?
把樣本以 CGO 中位數切成 high/low 兩組,計算「下期 RV 是否高於本期」的比例:
- 低 CGO 組(虧損狀態):50.7% 機率 RV 上升
- 高 CGO 組(獲利狀態):50.1% 機率 RV 上升
- 卡方統計量:0.13(p = 0.72,統計上未達顯著水準)
兩組幾乎一模一樣。 CGO 沒辦法告訴你明天波動率會上升還是下降。
第五個發現:跨期間穩定性也不高
K629 把樣本切成六個子期間(2006-2007、GFC、Recovery、Low Vol、COVID、Recent),看 CGO 與 RV 的相關係數:
| 期間 | n | corr(CGO, RV) | β_CGO in HAR |
|---|---|---|---|
| Pre-GFC (2006-2007) | 249 | -0.244 | -0.00181 |
| GFC (2008-2009) | 505 | -0.344 | -0.00111 |
| Recovery (2010-2012) | 754 | -0.334 | -0.00127 |
| Low Vol (2013-2017) | 1259 | -0.282 | -0.00045 |
| COVID era (2018-2021) | 1008 | -0.374 | -0.00104 |
| Recent (2022-2025) | 1003 | -0.209 | -0.00073 |
相關係數方向穩定(都是負的),但 強度差距非常大 ——Low Vol 期間 β 是 -0.00045,Pre-GFC 期間 -0.00181,差 4 倍。意思是:CGO 對波動率的影響強度,會隨著市場大環境劇烈漂移;用過去校準的係數去預測未來,誤差會很大。
但是——CGO 不是完全沒有意義
公平地說,CGO 確實 捕捉到了一些真實的市場行為 :
- 損失區與獲利區的 RV 差異非常顯著 :低於零的 CGO(647 個樣本日)平均下期 RV = 5.71e-04,平均 VIX = 33.99;獲利區(4188 樣本日)平均下期 RV = 8.99e-05,平均 VIX = 17.63。兩者的 RV 比較統計強度達 19.24,遠高於嚴格統計檢驗門檻。
- 負報酬日 × CGO 的條件分析 :在當天下跌的條件下,「低 CGO」(已在虧損)的下期 RV(3.25e-04)顯著高於「高 CGO」(仍在獲利)(7.43e-05),統計強度 7.61,達顯著水準。這意味著當投資人「賺錢時遇到下跌」與「虧錢時又遇到下跌」,市場後續的波動反應確實不一樣。
- CGO 對 5 日與 22 日累積波動率的解釋力較高 :5 天 R²(CGO only)= 22.3%、22 天 R² = 21.3%,遠高於 1 天的 11.9%。長水平上行為金融效應比較顯著。
但這些都是 詮釋性、機制性的洞察 , 不是預測性的優勢 。它幫我們理解「為什麼市場下跌時更容易再下跌」,但它不能讓我們在交易上比 HAR-RV + VIX 多賺一塊錢。
為什麼這個結果重要?
對研究者: 「行為金融解釋好聽 ≠ 行為金融指標有預測力」 ——這是 K629 最直接的教訓。CGO 看起來在 in-sample 迴歸有強訊號,但那個訊號 90% 以上來自它與「過去報酬累積」的共線性。一旦把已知的價格資訊(HAR-RV 三項 + VIX)放進去,CGO 的增量就消失了。
對散戶:別輕易相信「我發現一個指標,回測 20 年都打敗大盤」這種說法。樣本內 R² 11.9% 是個誘人的數字,但它在樣本外完全沒有複製。 OOS 才是檢驗指標真正價值的標準 ,而 K629 的 OOS 已經告訴我們:HAR + CGO 在 QLIKE 上輸給 HAR baseline。
對基金經理人:在組合風險管理上,CGO 仍然是個有用的 情境分類工具 ——告訴你目前市場處在「整體獲利」還是「整體虧損」的心理狀態,幫助設計壓力測試的情境。但 不要把它當成獨立的預測訊號 塞進你的因子模型,因為它幾乎被 VIX 與過去累積報酬完全 absorb 掉了。
結論
處置效應是行為金融學的經典發現,CGO 是它的優雅量化形式。在 SPY 上做 20 年資料的測試之後,我們得到一個老實的結論:
- 樣本內看似強勁的訊號,主要來自與過去報酬、VIX 的共線性;
- OOS 上,HAR + CGO 不能打敗 HAR baseline(QLIKE -8.51 vs -8.61);
- 連波動率方向預測也無統計顯著性(卡方統計量 0.13,p = 0.72);
- 跨期間係數漂移大(β 在不同期間差 4 倍)。
研究誠實原則告訴我們:null result 也是結果。 我們不會把 CGO 包裝成新的 alpha 訊號發出去;它是個漂亮的行為金融鏡頭,幫我們理解市場為什麼有時候會「越跌越慌」,但它不能讓你預測得更準。對交易策略來說,沒有可執行的優勢。
限制與後續方向
K629 的限制(取自實驗檔的 limitations 欄位):
- CGO 的參考價用固定 λ = 1/252 估算;實際投資人換手率不一致。
- SPY 是 ETF,與個股的 disposition 動態不同。
- 單一資產(SPY),未測跨截面(cross-section)效應。
- RV 用 r² 估算偏雜訊;intraday RV 會更準。
- UGF 與 CGO 與過去報酬高度相關(這也是 null 的部分原因)。
可能讓 CGO「重新發力」的後續方向:
- 換到 個股 panel 測試,個股的處置效應遠強於 ETF;
- 換到 跨截面 ——CGO 高/低分組之間的截面溢酬,而非時序預測;
- 改用 intraday RV 取代 r²,降低測量誤差;
- 結合 換手率動態 λ_t(不固定 1/252),更貼近實際投資人成本基礎。
但在「SPY 日頻波動率預測」這個明確的 use case 上,K629 已經給出乾淨的 null: 沒有增量預測價值。
資料來源
- 股價 :yfinance(SPY、^VIX)
- 資料期間 :2006-01-01 至 2026-03-27,共 5,088 交易日
- OOS 期間 :2023-01-03 至 2024-12-31,共 502 天
- 實驗 ID :K629(experiments/k629/)
- 核心方法 :HAR-RV (Corsi, 2009)、CGO (Grinblatt & Han, 2005)、GJR-GARCH (Glosten et al., 1993)
- 時序處理 :解釋變數 t 期、目標變數 t+1 期,嚴格 lag(程式碼
rv.shift(-1)) - 隨機種子 :本實驗為 OLS / GJR 估計,無 bootstrap,不涉及 seed sensitivity
更正記錄(2026-05-18) :(1) 卡方統計量 p=0.72 誤標為「達顯著水準」,已修正為「統計上未達顯著水準」;(2) 節標題「偽裝」改為描述性措辭;(3) 刪除「絕對」等過強語氣。研究結論不變。
相關文章
先讀正式關聯,若無則使用標籤與主題相似度補齊