← 返回模块
2.3.2.4beta 可读 · 未来付费校验通过内容版本 2026-05-26

马尔可夫切换与机制模型

2.3.2 · 波动率与机制转换模型 · 数学与统计能力

周一收盘后,你在上海某私募(private fund)的风险组复盘一只沪深300 中性策略。过去 18 个月的日收益样本明显分成两段:平静期里日波动率约 0.6%、收益接近零均值;另一段则散落着 −3% 以上的尾部,日波动率拉到 1.8%。前三课里 GARCH 把这一切压成一条由过去观测确定的递推,SV 把它压成一条连续潜在 AR(1)。两者都默认波动率沿一条平滑曲线演化,然后回答「曲线现在的取值是多少」。可你的直觉读到的不是平滑滑动,而是​​结构跳变​​:策略业绩、相关性、流动性都像是被切换到另一套定价规则上去。本课换第三种结构性承诺:背后藏的是一条​​离散​​的隐马尔可夫链,在「平静」与「危机」两个机制之间跳跃。Hamilton(1989)正是为美国实际 GNP 的扩张/衰退周期写下这套模型,而它在 NBER 衰退期上的拟合至今仍是教科书示例。

1. K 机制的马尔可夫切换模型

设潜在机制 StS_t 取值于 {1,,K}\{1, \ldots, K\},服从齐次马尔可夫链(homogeneous Markov chain),转移概率矩阵(transition matrix)PP 满足 Pij=P(St=jSt1=i)P_{ij} = P(S_t = j \mid S_{t-1} = i)、每行之和为 1。Hamilton(1989)的均值-方差切换模型把可观测收益写成

rt=μSt+σStztwithztiidN(0,1),St{1,,K},Pij=P(St=jSt1=i),jPij=1.r_t = \mu_{S_t} + \sigma_{S_t}\,z_t \quad \text{with} \quad z_t \overset{\mathrm{iid}}{\sim} N(0, 1), \quad S_t \in \{1, \ldots, K\}, \quad P_{ij} = P(S_t = j \mid S_{t-1} = i), \quad \sum_j P_{ij} = 1.

ztz_t 是标准正态分布(Gaussian distribution)。两机制(K=2K = 2)的典型解释是「平静」(低 μ\mu、低 σ\sigma)对「危机」(低或负 μ\mu、高 σ\sigma)。完整的 MS-AR(p) 版本在均值里再加一段机制相关的自回归 i=1pϕi,St(rtiμSti)\sum_{i=1}^p \phi_{i, S_t}(r_{t-i} - \mu_{S_{t-i}}),本课主体走 p=0p = 0 的均值-方差情形——参数为 θ=({μk,σk}k=1K,P)\theta = (\{\mu_k, \sigma_k\}_{k=1}^K, P),自由度共 2K+K(K1)2K + K(K - 1) 个,后一项来自 PP 每行求和约束。

2. 平稳分布与期望存续时间

链不可约且非周期时存在唯一的平稳(stationary)分布 π\pi,它给出长期处于各机制的概率。状态 ii 上的等待时间服从几何分布,其均值由对角项 PiiP_{ii} 决定:

πP=π with π1=1 and E[duration in regime i]=1/(1Pii)\pi^\top P = \pi^\top \text{ with } \pi^\top \mathbf{1} = 1 \text{ and } E[\text{duration in regime } i] = 1 / (1 - P_{ii})

​两态闭式解的推导​​。设 P=(P111P111P22P22)P = \begin{pmatrix} P_{11} & 1 - P_{11} \\ 1 - P_{22} & P_{22} \end{pmatrix},把 πP=π\pi^\top P = \pi^\top 展开为 π1P11+π2(1P22)=π1\pi_1 P_{11} + \pi_2 (1 - P_{22}) = \pi_1,整理得 π2(1P22)=π1(1P11)\pi_2 (1 - P_{22}) = \pi_1 (1 - P_{11})。结合归一化 π1+π2=1\pi_1 + \pi_2 = 1 解出

π=(1P222P11P22,  1P112P11P22).\pi = \left( \frac{1 - P_{22}}{2 - P_{11} - P_{22}},\; \frac{1 - P_{11}}{2 - P_{11} - P_{22}} \right).

这是估计出 P^\hat P 后立刻可算的两个数:危机机制的长期占比与该机制的平均存续天数 1/(1P^22)1/(1 - \hat P_{22}) ——风险报告里出现的「危机机制平均持续 X 天」就是它。

Formula Explorer

1 / (1 - p)

把滑块从 0.50 拉到 0.95,期望存续时间从 2 步陡升至 20 步——这就是为什么把对角项从 0.90 上调到 0.99 会让「平均持续多久」的回答完全改变,也是估计 P^\hat P 时对对角项不确定性高度敏感的原因。

3. Hamilton(1989)滤波

潜在状态空间有限,因此条件期望(conditional expectation)可以​​精确​​计算,不需要 SV 那种线性化或 MCMC 近似。前向递推给出过滤概率 ξtt\xi_{t \mid t}(即 P(St=kFt)P(S_t = k \mid \mathcal F_t)KK 维向量)与一步预测概率 ξtt1\xi_{t \mid t-1}。先预测、后更新:

ξtt1=Pξt1t1,ξtt=ξtt1ηt1(ξtt1ηt)withηt,j=f(rtSt=j,Ft1)\xi_{t \mid t-1} = P^\top \xi_{t-1 \mid t-1}, \qquad \xi_{t \mid t} = \frac{\xi_{t \mid t-1} \odot \eta_t}{\mathbf{1}^\top (\xi_{t \mid t-1} \odot \eta_t)} \quad \text{with} \quad \eta_{t, j} = f(r_t \mid S_t = j, \mathcal{F}_{t-1})

ηt,j\eta_{t, j} 即机制条件密度(高斯密度在 rtr_t 处的取值),\odot 为哈达玛积(Hadamard product, 逐元素乘法)。预测步用 PP^\top 把上一时刻后验在转移矩阵上推一步;更新步则是贝叶斯公式的离散版本——把先验 ξtt1\xi_{t \mid t-1} 按各机制下观测的相对似然 ηt\eta_t 重新加权。

更新步的分母正好是 rtr_t 的预测边际密度,也就是一步前向的似然贡献。把它在时间上求和取对数,直接得到样本对数似然:

f(rtFt1)=1(ξtt1ηt)=j=1Kξtt1,jηt,jand(θ)=t=1Tlogf(rtFt1;θ)f(r_t \mid \mathcal{F}_{t-1}) = \mathbf{1}^\top (\xi_{t \mid t-1} \odot \eta_t) = \sum_{j=1}^K \xi_{t \mid t-1, j}\,\eta_{t, j} \quad \text{and} \quad \ell(\theta) = \sum_{t=1}^T \log f(r_t \mid \mathcal{F}_{t-1}; \theta)

这是 MS 模型相对于 SV 的关键优势:由于 StS_t 是有限状态,一遍 O(K2T)O(K^2 T) 的前向递推就给出​​精确​​(非近似)对数似然,没有积分近似。初值 ξ10\xi_{1 \mid 0} 通常取平稳分布 π\pi,也可作为自由参数一同估计。

4. Kim(1994)平滑

前向滤波到时刻 TT 后,反向递推从 ξTT\xi_{T \mid T} 出发,自 t=T1t = T - 1 退回到 11:

ξtT=ξtt(P(ξt+1Tξt+1t))fort=T1,T2,,1,initialised fromξTT.\xi_{t \mid T} = \xi_{t \mid t} \odot \bigl(P\,(\xi_{t+1 \mid T} \oslash \xi_{t+1 \mid t})\bigr) \quad \text{for} \quad t = T - 1, T - 2, \ldots, 1, \quad \text{initialised from} \quad \xi_{T \mid T}.

\oslash 表示逐元素除法。ξtT\xi_{t \mid T} 是「使用全样本信息」下时刻 tt 的后验机制概率。括号中的 P(ξt+1Tξt+1t)P\,(\xi_{t+1 \mid T} \oslash \xi_{t+1 \mid t}) 就是 Kalman 平滑增益(Kalman smoother gain)的离散对应物——结构同形的后向信息注入。把每个 ttξtT\xi_{t \mid T} 的最大分量取为机制标签,即得经济上可读的机制日期(regime dating)。

5. EM(Baum-Welch)算法的 M 步

直接对 (θ)\ell(\theta) 做 BFGS 数值优化在 K=2K = 2 时已可用,但更稳健的做法是 EM 算法(EM, 即在 HMM 语境下的 Baum-Welch 算法)。E 步用前向滤波 + 后向平滑得到平滑边际 ξtT,k\xi_{t \mid T, k} 与平滑配对概率 ζt,ij=P(St=i,St+1=jFT)\zeta_{t, ij} = P(S_t = i, S_{t+1} = j \mid \mathcal F_T);M 步对完整数据期望对数似然做极大似然估计(maximum likelihood estimation, MLE),给出闭式更新:

μ^k=tξtT,krttξtT,k,σ^k2=tξtT,k(rtμ^k)2tξtT,k,P^ij=t=1T1ζt,ijt=1T1ξtT,iwithζt,ij=P(St=i,St+1=jFT)\hat{\mu}_k = \frac{\sum_t \xi_{t \mid T, k}\,r_t}{\sum_t \xi_{t \mid T, k}}, \quad \hat{\sigma}_k^2 = \frac{\sum_t \xi_{t \mid T, k}\,(r_t - \hat{\mu}_k)^2}{\sum_t \xi_{t \mid T, k}}, \quad \hat{P}_{ij} = \frac{\sum_{t=1}^{T-1} \zeta_{t, ij}}{\sum_{t=1}^{T-1} \xi_{t \mid T, i}} \quad \text{with} \quad \zeta_{t, ij} = P(S_t = i, S_{t+1} = j \mid \mathcal{F}_T)

直观就是「软 EM」:每个观测按平滑后验概率分摊到各机制,机制内的均值/方差是这些权重下的加权统计量。两件事必记:似然多峰且存在标签互换(label switching),按惯例固定标签(如令机制 1 = 低波);K=2K = 2 时直接 BFGS 通常比 EM 更快,K3K \geq 3 时 EM 更稳。

6. 三类框架的并排对照

把本模块四节压成一张表:潜在状态的本性决定了估计路线。

框架潜在状态似然评价平滑递推估计方法主要前向连接
GARCH(1-2 节)无;σt2\sigma_t^2Ft1\mathcal F_{t-1} 可测的过去观测确定函数高斯 QML 闭式不适用数值 MLE1.4.4 节(衍生品定价)
SV(3 节)连续高斯 ht=logσt2h_t = \log \sigma_t^2 的 AR(1)对数平方收益 + Kalman QML 或 KSC 混合 GibbsKalman 平滑数值 MLE 或 MCMC2.7 节 OU 与 1.4.4 节 Heston
MS(本节)离散 KK 值马尔可夫链 StS_t精确 O(K2T)O(K^2 T) Hamilton 滤波Kim 平滑数值 MLE 或 EM (Baum-Welch)2.6.4 节 HMM

同一套「状态空间 + 前向滤波 + 后向平滑」脚手架,三种潜在状态承诺,落到三套不同的估计方法。

7. 扩展与边界

仅作名义提示,不展开推导。​​Markov 切换 GARCH (MS-GARCH)​​(Klaassen 2002 / Haas-Mittnik-Paolella 2004)让 GARCH 参数本身随机制切换,σt2\sigma_t^2 通过 σt12\sigma_{t-1}^2 递归依赖整个机制路径 S1:t1S_{1:t-1},朴素 Hamilton 滤波代价飙至 O(KT)O(K^T);两人各自的「坍缩」(collapse)技巧把成本压回 O(K2T)O(K^2 T),两套坍缩在数值上接近。​​门限自回归(threshold AR, TAR)与自激励 TAR(self-exciting TAR, SETAR)​​(Tong 1990)把潜在 StS_t 换成 rtdr_{t-d} 落入门限区间的确定性指示函数,估计退化为门限网格搜索 + 分段 OLS,换得确定性的机制标签。​​平滑过渡 AR (smooth-transition AR, STAR)​​(Teräsvirta 1994)用 logistic 权重在两机制间连续插值,是 TAR 与 MS 之间的折中。机制数 KK 的统计检验非平凡(Hansen 1992),工程上常用 K=2K = 2K=3K = 3 拟合,按 AIC / BIC 比较再结合经济解释定夺。

Exercise

设两态马尔可夫切换均值-方差模型 $r_t = \mu_{S_t} + \sigma_{S_t} z_t$,其中 $z_t \overset{\mathrm{iid}}{\sim} N(0, 1)$,$S_t \in \{1, 2\}$,转移矩阵 $P = \begin{pmatrix} P_{11} & 1 - P_{11} \\ 1 - P_{22} & P_{22} \end{pmatrix}$。(a) 写出 $\pi^\top P = \pi^\top$ 与 $\pi_1 + \pi_2 = 1$,给出 $\pi_1$、$\pi_2$ 的闭式解。(b) 写出机制条件高斯密度 $\eta_{t, 1} = \phi(r_t; \mu_1, \sigma_1^2)$、$\eta_{t, 2} = \phi(r_t; \mu_2, \sigma_2^2)$,并把 Hamilton 滤波的预测步与更新步显式写成 2 维向量形式。(c) 取一次观测 $r_1$ 与先验 $\xi_{1 \mid 0} = \pi$,做一次预测+更新,给出 $\xi_{1 \mid 1}$ 的闭式表达。(d) 写出 EM 算法对 $\mu_1, \mu_2, \sigma_1^2, \sigma_2^2, P_{11}, P_{22}$ 的 M 步闭式更新,用 $\xi_{t \mid T, k}$ 与 $\zeta_{t, ij}$ 表示。(e) 指出哪些前向/后向的连接(连续时间 Kalman-Bucy 滤波 / 机器学习中的 HMM Baum-Welch)推广了这一套机器,以及它们在哪些下游模块中重新出现。

提示
(a) 把 πP=π\pi^\top P = \pi^\top 写开,得到 π2(1P22)=π1(1P11)\pi_2 (1 - P_{22}) = \pi_1 (1 - P_{11}),再代入 π1+π2=1\pi_1 + \pi_2 = 1。(b)(c) 预测步用 PP^\topξ\xi,更新步把 ξtt1\xi_{t \mid t-1}ηt\eta_t 逐元素相乘再归一化。
提示
(d) 每个 M 步分子分母都是「以 ξtT,k\xi_{t \mid T, k} 为权」的加权统计量,转移概率则是配对概率 ζt,ij\zeta_{t, ij} 对边缘 ξtT,i\xi_{t \mid T, i} 的比。(e) Kalman-Bucy 对应连续状态的 2.7 节;HMM/Baum-Welch 对应 2.6.4 节,与本课算法同构,只是命名不同。

8. 收尾桥段

本模块四课呈现了对波动率动力学的三种结构性承诺:GARCH 把它定为过去观测的确定性函数,SV 把它放进连续潜在 AR(1),MS 把它放进离散 KK 值马尔可夫链。三者统一在「状态空间模型 + 前向滤波 + 后向平滑」的同一数学框架下——连续状态那一支由 Kalman 滤波/平滑承担,离散状态这一支由 Hamilton 滤波/Kim 平滑承担。向前看,2.7 节(随机微积分)会把 Kalman 滤波推到连续时间的 Kalman-Bucy 形式,并引出 SV 中 hth_t 背后的 OU 过程;2.6.4 节(无监督学习与强化学习)会用机器学习语义重述同一前向-后向 + EM 算法,只是它在那里叫 Baum-Welch——算法不变,语言不同。Hamilton(1989)对美国实际 GNP 季度增长率的原始拟合 P^110.90\hat P_{11} \approx 0.90P^220.75\hat P_{22} \approx 0.75 与 NBER 衰退期的高度吻合,既是这套机器最早的实证胜利,也是本模块最佳的「为什么要管机制」的文化注脚。