← 研究動態
研究2026/03/30 上午12:03

K637:K-Means 在六個波動特徵上分出平靜與恐慌兩群

VIXregime機器學習

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

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

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

訂閱研究摘要

研究摘要與新文章,不轉售、不寄廣告,隨時可退訂。

K637:K-Means 在六個波動特徵上分出平靜與恐慌兩群

 實驗 ID : K637  資料期間 : 2007-01-03 至 2026-03-27(SPY、VIX 日收盤;特徵完整的交易日 4,839 天)  方法 : K-Means 聚類 + HMM(隱馬可夫模型)Regime 識別,Silhouette Score 最佳化


研究動機

「現在是牛市還是熊市?」這個問題每個投資人都在問,但答案從來沒有標準答案。

市場分析師通常用 VIX 的某個固定門檻來定義「恐慌」:VIX > 20 就是恐慌,VIX > 30 就是極度恐慌……但這些門檻是憑直覺設的,還是真的能反映市場結構?

K637 用 機器學習方法 重新問這個問題:

 讓數據自己說,市場到底分幾種「情緒」? 


核心發現:K-Means 的最佳群數是 2

我們用 K-Means 聚類對 2007-01-03 至 2026-03-27 的市場數據分群,特徵有六個:VIX 水準、VIX 的 5 日變化、VIX 在過去 252 個交易日裡的百分位、SPY 日報酬的絕對值、SPY 的 22 日已實現波動,以及 VIX 與已實現波動的比值。再用 Silhouette Score 比較 2 到 5 群:

各分群方式的 Silhouette Score

分群方式Silhouette Score解讀
 2 群(K-Means)  0.37 K-Means 候選中最高
3 群0.28群集開始模糊
4 群0.24邊界不清晰
5 群0.23與 4 群相近
固定 VIX 分組法(15/20/30) 0.04 幾乎無群集意義
HMM 2 狀態(另用 3 個特徵)0.41不同模型、不同特徵空間,不能和上面直接比

 最重要的對比 :傳統固定 VIX 分組法(用 VIX=15/20/30 當門檻)在同一個六維特徵空間裡的 Silhouette 只有 0.04,接近隨機,毫無結構性。而 K-Means 的 2 群方案達到 0.37,約是 8.6 倍。

這說明:在這六個特徵與 2 到 5 群的候選裡,K-Means 兩群的分離度最高,固定 VIX 門檻的分法沒有捕捉到這個結構。這不等於證明市場只有兩種狀態。


兩種情緒的特徵

特徵平靜群(全樣本分群、同日)壓力群(全樣本分群、同日)平靜群(逐年重估、前一交易日)壓力群(逐年重估、前一交易日)
交易日數(占比)3,636(75.1%)1,203(24.9%)3,742(81.6%)845(18.4%)
平均 VIX16.4 30.1 17.630.2
VIX 標準差4.011.06.012.0
SPY 年化 Sharpe(K637 定義) 2.31  -1.53 0.780.29
SPY 年化 Sharpe(一般定義,未扣無風險利率)2.58-1.290.700.25

前兩欄是 K637 的分組:分群器用 2007 到 2026 年的全部資料估計,第 t 日的報酬按第 t 日自己的特徵歸群,而第 t 日的特徵包含當天 SPY 報酬的絕對值與 VIX 的變化。後兩欄每年 1 月 1 日只用之前的資料重估分群器,第 t 日的報酬按第 t−1 日的分群歸類,從 2008 年第一個訊號日(2008-01-02)的下一個交易日算到 2026-03-27。K637 的 Sharpe 定義是 252 × 日對數報酬平均 ÷ 22 日已實現波動的平均,和一般的「平均報酬 ÷ 報酬標準差」不同。

兩種分組下,壓力群的平均 VIX 都在 30 左右,報酬的差異卻很不一樣:

  •  平靜群 :K637 的分組占 75% 的交易日,VIX 約 16.4,K637 Sharpe 2.31;逐年重估、前一交易日分組時是 0.78
  •  壓力群 :K637 的分組占 25% 的交易日,VIX 約 30.1,K637 Sharpe -1.53;逐年重估、前一交易日分組時是 0.29,平均報酬仍為正(年化 8.8%,平靜群 10.2%)

換句話說:在 K637 的分組下,75.1% 的交易日落在平靜群、24.9% 落在壓力群;這是事後分群的日數占比,不是每天賺賠的機率。逐年重估、前一交易日分組時,兩群的平均報酬都是正的。


分組方式決定了壓力群的報酬

兩群的 SPY Sharpe 隨分群方式改變

K637 分組下的 Sharpe 差距(2.31 對 -1.53)很大,但其中大部分來自同日分組。在同一段 2008 年起的報酬日上,全樣本分群照原樣同日分組,兩群是 2.30 與 -1.51;只把分組延後一天,就變成 0.88 與 0.27。反過來,逐年只用過去資料重估、但仍用同一天分組,壓力群又回到 -1.66。

逐年重估、前一交易日分組時,壓力群的 K637 Sharpe 比平靜群低 0.49,差距還在,但本文沒有對這個差距做顯著性檢定;壓力群的波動較大(22 日已實現波動平均 30.6%,平靜群 13.1%),持有時的心理負擔仍然不同。

「如果能提前識別壓力期,就能在壓力期降低倉位、避開大部分損失」是 Regime-Aware 策略的出發點,但在這份資料裡只是未經驗證的假說:只用事前資料分群、隔天才使用分群時,壓力群的平均報酬並不是負的,沒有「大部分損失」可避。


HMM 的加入:Regime 有多「黏」?

除了靜態的 K-Means,我們也用 HMM(隱馬可夫模型)動態估計 Regime 的轉換機率。HMM 允許 Regime 隨時間演化,而不是固定不動。

HMM 的結果顯示(HMM 同樣在全樣本上估計,以下是事後估計,本次沒有重估):

特性數據意涵
Calm Regime 平均持續 91 個交易日 中位數 54.5 個交易日
Stressed Regime 平均持續 51 個交易日 中位數 22 個交易日
Calm → Stressed 轉換機率每日約 1.1%平靜期中,每天有約 1% 機率突然進入壓力期
Stressed → Calm 轉換機率每日約 1.9%壓力期中,每天約有 1.9% 機率回到平靜期

這個「黏性(persistence)」非常重要:

  • 壓力期不是一兩天就結束的,平均持續 51 個交易日
  • 平靜期更長,平均 91 個交易日

識別能力:新 K-Means 方案 vs 固定 VIX 門檻

傳統的固定 VIX 門檻(例如 VIX > 20 就進入恐慌模式)有一個根本問題:它 只看一個數字 ,忽略了 VIX 的波動、趨勢、以及 SPY 報酬的結構信息。

K-Means 的 2 群方案整合了 VIX 水準、5 日變化、252 日百分位、SPY 日報酬絕對值、22 日已實現波動與 VIX/已實現波動比,Silhouette Score 約是固定 VIX 分組法的 8.6 倍(0.37 對 0.04)。

 較高的 Silhouette 代表這六個特徵在兩群之間分得比較開;它衡量的是分群的幾何分離度,不代表這個分群能在事前用來調整部位。 


局限性

  1.  K-Means 的特徵選擇 :目前使用 VIX 水準、5 日變化、252 日百分位、SPY 日報酬絕對值、22 日已實現波動與 VIX/已實現波動比,加入其他特徵(如信用利差、市場廣度)可能改變結果
  2.  2 群的過度簡化 :現實市場可能存在更多細粒度的狀態(如「泡沫期」「恢復期」),2 群方案可能遺漏這些細節
  3.  前瞻偏誤 :K-Means 在全樣本上訓練,存在前瞻偏誤,真實交易中,Regime 識別必須用即時數據,而非回溯標記。本文另列每年只用過去資料重估、隔天才使用分群的結果;那一版沒有扣交易成本,也沒有做顯著性檢定
  4.  轉換時間點 :HMM 識別的轉換日期可能在 1-2 天後才確認,策略信號有滯後性

結論

 在六個特徵與 2 到 5 群的候選中,K-Means 以兩群的分離度最高(Silhouette 0.37),高於固定 VIX 門檻(Silhouette 0.04): 

  •  平靜群 (K637 分組的 75% 交易日):VIX≈16.4,K637 Sharpe 2.31;逐年重估、前一交易日分組 0.78
  •  壓力群 (25% 交易日):VIX≈30.1,K637 Sharpe -1.53;逐年重估、前一交易日分組 0.29
  •  HMM(全樣本估計) :平靜狀態平均持續 91 個交易日,壓力狀態 51 個交易日,具有強烈的狀態黏性

這組結果支持「波動有高低兩種狀態」的描述;要說「在策略中區分它們有配置價值」,還需要只用事前資料、可執行的時點、交易成本與樣本外檢定,本文的數字不足以支持。

下一步研究方向:以 Regime 識別結果直接驅動 VT 策略的部位調整(Regime-Conditioned VT),量化其超越固定 VIX 門檻方案的程度。


參考文獻: Hamilton (1989) Econometrica(HMM Regime); Ang & Bekaert (2002) RFS(Regime-Switching); Harvey (2016) RFS(統計門檻)

相關文章

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

📄
K1515:以跨市場波動特徵預測 HYG 日內區間流動性代理,XGBoost 與 OLS 的樣本外誤差無法區分(DM t 0.036,八種 HAC 頻寬皆 NULL)
本文是同一實驗一般讀者版〈股市波動,能預測高收益債 ETF 的流動性指標嗎?〉(mile_fa20b55e)的研究版。一般版只說「資料未辨識出差異」;本文補上設定、誤差差分的自相關、HAC 頻寬敏感度、前視檢查,以及這個 null 能說與不能說的範圍。 問題與動機 Cabrol, Drobetz, Otto & Puhan(2024,*Financial Analysts Journal*)以機器…
→
📄
天然氣月度波動的季節項放進自我迴歸之後:冬季係數隨價格序列與落後期變號,夏季在四個設定下都為負
為天然氣部位估月度波動的人,常在前一個月的實現波動之外再放一組季節虛擬變數。理由來自基本面:冬季的取暖需求與庫存消耗讓天然氣價格在冬天起伏較大(Mu 2007)。本文用同一組資料回答建模時的兩個問題:月份差異在無條件下是否存在;放進前一個月的波動之後,季節項還剩多少,係數又該怎麼讀。 先寫結論。 第一,無條件的月份差異在兩條序列都存在。天然氣連續近月期貨與 UNG 都在 1 月最高,冬季平均分別是…
→
📄
K2006:每月依殖利率曲線預測調整公債存續期間,平均報酬、回撤與下行尾部能與槓鈴、階梯分開嗎?
這組資料分不開。四項預先設定的檢定在 Holm 逐步校正(家族大小為四、水準 5%)後全部沒有拒絕。證據最接近門檻的是下行尾部,方向卻不利於動態規則:一年視窗最差 5% 的平均終值比,動態規則(Dyn)為 0.9203,槓鈴(B)為 0.9378,差 -0.0175,未調整 p 值 0.04998,Holm 調整後 0.1999。這組資料沒有給出「依曲線預測切換存續期間能降低尾部風險」的證據,也不…
→
K637:K-Means 在六個波動特徵上分出平靜與恐慌兩群 | VolPred