量化交易中文教材

第 23 章 随机过程:马尔可夫链与泊松过程

本章对应 Wasserman 原书第 23 章《Probability Redux: Stochastic Processes》。全书大部分内容处理 IID 数据,本章转向相依的随机变量序列,介绍两类最基本的随机过程:离散时间马尔可夫链和泊松过程。对量化交易,马尔可夫链是市场状态(regime)模型、信用评级迁移矩阵的基础,也是第 24b 章 MCMC 的理论前提;泊松过程是订单到达、成交笔数、价格跳跃和违约事件的标准模型。本章是概率论内容,与第 02 册(Ross)的相关章节互为补充;随机过程在金融中的系统应用见第 06 册与第 08 册。

学习目标

  1. 理解随机过程、状态空间、指标集的概念,以及马尔可夫性的含义。
  2. 会用转移矩阵计算多步转移概率与边际分布(Chapman–Kolmogorov 方程,\(\mu_n=\mu_0P^n\))。
  3. 会对状态分类(互通类、常返与暂留、周期),理解遍历链的主定理与细致平衡条件。
  4. 会用最大似然估计转移矩阵并给出标准误,知道平稳分布估计对小转移概率的敏感性。
  5. 理解泊松过程的定义,掌握到达间隔为指数分布、等待时间为 Gamma 分布的结论,会检验齐次性并用时间变换处理非齐次过程。

读前导读

这一章在解决什么问题

结论:本章给出两个最基本的"带时间结构"的随机模型:描述状态之间跳转的马尔可夫链,和描述事件何时发生的泊松过程。

你在 CFA 信用风险部分见过评级迁移矩阵:一行是"今年 AA",各列是"明年变成 AAA、AA、A……违约"的概率。这就是马尔可夫链的转移矩阵。本章回答几个自然的问题:两年、五年后的迁移概率怎么算(矩阵乘方)?长期来看各评级占比会稳定在哪里(平稳分布)?从历史数据估出的转移矩阵有多可靠(MLE 与标准误)?同样的工具适用于市场状态(牛市、熊市、危机)的 regime 模型,也是第 24b 章 MCMC 的理论基础。

泊松过程描述"单位时间内随机发生若干次"的事件:订单到达、成交、跳跃、违约。你熟悉的信用风险中"违约强度(hazard rate)"\(\lambda\) 和生存概率 \(e^{-\lambda t}\),就是泊松过程的第一次跳跃时间。本章说明为什么事件间隔服从指数分布,以及当强度随时间变化(例如日内成交量的 U 形)时如何处理。

需要先想起来的数学

1. 矩阵乘法与行向量乘矩阵。 \((AB)_{ij}=\sum_kA_{ik}B_{kj}\):第 \(i\) 行与第 \(j\) 列对应相乘再求和。行向量 \(\mu\) 乘矩阵 \(P\) 得新的行向量 \((\mu P)_j=\sum_i\mu_ip_{ij}\)。例:\(\mu=(0.5,0.5)\),\(P=\begin{pmatrix}0.4&0.6\\0.8&0.2\end{pmatrix}\),\(\mu P=(0.6,0.4)\)。参见 第 00 册第 06 章 线性代数速成。

2. 特征值与特征向量。 平稳分布 \(\pi=\pi P\) 就是 \(P\) 的转置对应特征值 1 的特征向量(归一化使分量和为 1),代码里的 np.linalg.eig(P.T) 正是这么求的。

3. 级数的收敛与发散。 常返判据要看 \(\sum_np_{ii}(n)\) 是否有限。记住两个基准:几何级数 \(\sum r^n\) 在 \(|r|<1\) 时收敛;\(\sum n^{-a}\) 在 \(a>1\) 时收敛、\(a\le1\) 时发散(例如 \(\sum n^{-1/2}\) 发散)。参见 第 00 册第 04 章 级数与收敛。

4. 指数函数的极限与 \(o(h)\) 记号。 \((1-\frac{x}{n})^n\to e^{-x}\),这是连续复利公式的来源,也是泊松过程中 \(e^{-\lambda t}\) 的来源。\(f(h)=o(h)\) 读作"\(f(h)\) 比 \(h\) 更快地趋于零",例如 \(h^2=o(h)\),因为 \(h^2/h=h\to0\)。参见 第 00 册第 07 章 概率中的分析工具 与 第 00 册第 03 章 积分(连续复利与贴现)。

怎么读这一章

核心必读:23.2.1–23.2.2(转移矩阵、\(P^n\)、\(\mu_n=\mu_0P^n\))、23.2.4 的平稳分布、主定理和细致平衡、23.2.5 的估计、23.3.1–23.3.2(泊松过程与指数间隔)、时间变换、23.4 实战。23.2.3 的状态分类只需记住"互通、吸收态、常返/暂留"的含义和例 23.18 的结论;常返性的证明、例 23.28–23.29 第一次可以略读。建议顺序:23.2.1 → 23.2.2 → 23.2.4 → 23.2.5 → 实战 (1) → 23.3 → 实战 (2),最后回头读 23.2.3。


23.1 随机过程

随机过程(stochastic process) \(\{X_t:t\in T\}\) 是一族随机变量,也记作 \(X(t)\)。\(X_t\) 的取值集合 \(\mathcal X\) 称为状态空间(state space),\(T\) 称为指标集(index set),通常理解为时间,可以离散(\(T=\{0,1,2,\dots\}\))也可以连续(\(T=[0,\infty)\))。

  • IID 序列是最简单的随机过程(例 23.1)。
  • 天气 \(\mathcal X=\{\text{晴},\text{阴}\}\) 按天记录:离散状态、离散时间(例 23.2)。
  • 股价连续监测:时间连续;价格按最小变动单位离散,但通常视为连续(例 23.3)。
  • 经验分布函数 \(\{\hat F_n(t):t\in[0,1]\}\):固定 \(t\) 是随机变量,整体是状态和指标都连续的随机过程(例 23.4)。

一个基本事实:任何联合密度都可以按时间顺序分解为条件密度的乘积,

\[f(x_1,\dots,x_n)=\prod_{i=1}^nf(x_i\mid\text{past}_i),\quad\text{past}_i=(X_1,\dots,X_{i-1}).\tag{23.1}\]
不同的随机过程模型,就是对"过去如何影响现在"作不同的简化假设。

23.2 马尔可夫链

23.2.1 定义与转移矩阵

状态空间离散(\(\{1,\dots,N\}\) 或 \(\{1,2,\dots\}\)),时间 \(T=\{0,1,2,\dots\}\)。

定义 23.5。 \(\{X_n\}\) 是马尔可夫链(Markov chain),若对所有 \(n\) 和 \(x\),

\[\mathbb P(X_n=x\mid X_0,\dots,X_{n-1})=\mathbb P(X_n=x\mid X_{n-1}).\tag{23.2}\]
即给定现在,未来与过去独立。此时 (23.1) 简化为 \(f(x_1,\dots,x_n)=f(x_1)f(x_2\mid x_1)\cdots f(x_n\mid x_{n-1})\),对应 DAG \(X_0\to X_1\to X_2\to\cdots\)(第 17 章)。

若 \(\mathbb P(X_{n+1}=j\mid X_n=i)\) 不随 \(n\) 变化,称链是齐次的(homogeneous),本章只讨论齐次链。

金融直觉:马尔可夫性是一个很强的建模假设。评级迁移矩阵假设"明年的评级只取决于今年的评级",但实证上存在"评级动量":刚被下调的 BBB 比一直是 BBB 的债券更可能继续被下调。这说明只用当前评级作状态不满足马尔可夫性。常见修补办法是扩大状态空间,例如把"BBB 且去年被下调"单列为一个状态——只要状态包含了足够的历史信息,过程就重新变成马尔可夫的。

定义 23.6。 \(p_{ij}=\mathbb P(X_{n+1}=j\mid X_n=i)\) 称为转移概率,矩阵 \(P=(p_{ij})\) 称为转移矩阵(transition matrix)。\(p_{ij}\ge0\),\(\sum_jp_{ij}=1\):每一行是一个概率分布。

例 23.7(带吸收壁的随机游走)。 \(\mathcal X=\{1,\dots,N\}\),每步以概率 \(p\) 右移、\(q=1-p\) 左移,到达端点后停留不动。\(P\) 的首行为 \((1,0,\dots,0)\),末行为 \((0,\dots,0,1)\),中间第 \(i\) 行在 \(i-1\) 处为 \(q\)、\(i+1\) 处为 \(p\)。这正是"赌徒破产"问题,也是带止损止盈的交易在离散化后的模型。

例 23.8(天气)。 晴→晴 0.4、晴→阴 0.6;阴→晴 0.8、阴→阴 0.2。

23.2.2 多步转移与边际分布

\(n\) 步转移概率 \(p_{ij}(n)=\mathbb P(X_{m+n}=j\mid X_m=i)\),组成矩阵 \(P_n\)。

定理 23.9(Chapman–Kolmogorov 方程)。

\[p_{ij}(m+n)=\sum_kp_{ik}(m)\,p_{kj}(n).\tag{23.5}\]
证明。 对时刻 \(m\) 的状态用全概率公式:\(p_{ij}(m+n)=\sum_k\mathbb P(X_{m+n}=j\mid X_m=k,X_0=i)\mathbb P(X_m=k\mid X_0=i)\),由马尔可夫性第一个因子等于 \(p_{kj}(n)\)。\(\square\)

(23.5) 就是矩阵乘法 \(P_{m+n}=P_mP_n\),由 \(P_1=P\) 得

\[P_n=P^n.\tag{23.7}\]
记边际分布为行向量 \(\mu_n=(\mu_n(1),\dots,\mu_n(N))\),\(\mu_n(i)=\mathbb P(X_n=i)\),\(\mu_0\) 为初始分布。

引理 23.10。 \(\mu_n=\mu_0P^n\)。

推导拆解:用例 23.8 的天气链算两步转移。今天晴,后天晴的概率要对"明天"的两种可能求和(全概率公式):明天晴再晴 \(0.4\times0.4=0.16\),明天阴再晴 \(0.6\times0.8=0.48\),合计 \(p_{\text{晴晴}}(2)=0.64\)。这正是 \(P^2\) 的第一行第一列:第一行 \((0.4,0.6)\) 与第一列 \((0.4,0.8)\) 对应相乘再求和。所以"矩阵乘法 = 对中间状态求和",Chapman–Kolmogorov 方程只是把这句话写成一般形式。

引理 23.10 同理:\(\mu_1(j)=\sum_i\mathbb P(X_0=i)\,p_{ij}=(\mu_0P)_j\),再重复 \(n\) 次。

模拟一条链只需要 \(\mu_0\) 和 \(P\):先从 \(\mu_0\) 抽 \(X_0\),若结果为 \(i\),再从 \(P\) 的第 \(i\) 行抽 \(X_1\),依此类推。\(\mu_n\) 可以理解为大量独立模拟中时刻 \(n\) 结果的直方图。

23.2.3 状态分类

  • 可达与互通(定义 23.11)。 若某个 \(n\) 使 \(p_{ij}(n)>0\),称 \(i\) 可达 \(j\),记 \(i\to j\);若 \(i\to j\) 且 \(j\to i\),称 \(i,j\) 互通,记 \(i\leftrightarrow j\)。
  • 定理 23.12:互通是等价关系,状态空间可以分解为互不相交的互通类。所有状态互通的链称为不可约(irreducible)。一旦进入就不离开的状态集称为闭集;单个状态构成的闭集称为吸收态(absorbing state)。
  • 例 23.13:\(P\) 的行为 \((\frac13,\frac23,0,0)\)、\((\frac23,\frac13,0,0)\)、\((\frac14,\frac14,\frac14,\frac14)\)、\((0,0,0,1)\),互通类为 \(\{1,2\}\)、\(\{3\}\)、\(\{4\}\),4 是吸收态。信用评级迁移矩阵中,"违约"就是吸收态。

常返与暂留(定义 23.14)。 若从 \(i\) 出发以概率 1 会返回 \(i\),称 \(i\) 常返(recurrent),否则称暂留(transient)。

定理 23.15。 \(i\) 常返 \(\iff\sum_np_{ii}(n)=\infty\);\(i\) 暂留 \(\iff\sum_np_{ii}(n)<\infty\)。 证明。 访问 \(i\) 的总次数 \(Y=\sum_nI(X_n=i)\) 的期望为 \(\mathbb E(Y\mid X_0=i)=\sum_np_{ii}(n)\)。令 \(a_i\) 为返回概率。常返时每次返回后必然再返回,访问无穷次,期望无穷;暂留时每次在 \(i\) 都有 \(1-a_i>0\) 的概率永不返回,恰访问 \(n\) 次的概率为 \(a_i^{n-1}(1-a_i)\)(几何分布),期望有限。\(\square\)

定理 23.16。 (1) 常返性与暂留性是类性质:\(i\) 常返且 \(i\leftrightarrow j\) 则 \(j\) 常返;暂留同理。(2) 有限链至少有一个常返态。(3) 有限不可约链的状态全部常返。

定理 23.17(分解定理)。 \(\mathcal X=\mathcal X_T\cup\mathcal X_1\cup\mathcal X_2\cup\cdots\),其中 \(\mathcal X_T\) 是暂留态,每个 \(\mathcal X_i\) 是由常返态组成的闭的不可约集。

例 23.18(整数上的随机游走)。 \(p_{i,i+1}=p\),\(p_{i,i-1}=q\)。所有状态互通,要么全常返、要么全暂留。从 0 出发回到 0 需要恰好 \(n\) 次右移和 \(n\) 次左移:

\[p_{00}(2n)=\binom{2n}np^nq^n\sim\frac{(4pq)^n}{\sqrt{n\pi}}\quad(\text{Stirling 公式}).\tag{23.11}\]

推导拆解:\(\binom{2n}{n}\) 是"\(2n\) 步中选出哪 \(n\) 步向右"的方法数,每种路径的概率是 \(p^nq^n\)。Stirling 公式 \(n!\approx\sqrt{2\pi n}(n/e)^n\) 代入 \(\binom{2n}{n}=\frac{(2n)!}{(n!)^2}\),约掉 \(e\) 的幂后得 \(\binom{2n}{n}\approx\frac{4^n}{\sqrt{\pi n}}\)。于是 \(p_{00}(2n)\approx\frac{(4pq)^n}{\sqrt{\pi n}}\)。

为什么 \(4pq\le1\)?\(4pq=4p(1-p)\) 是开口向下的抛物线,在 \(p=\frac12\) 处取最大值 1。例:\(p=0.51\) 时 \(4pq=0.9996\),看似接近 1,但 \((0.9996)^n\) 仍是几何衰减,级数收敛,链暂留。

\(4pq\le1\),且仅当 \(p=q=\frac12\) 时等号成立。\(p=\frac12\) 时级数 \(\sum n^{-1/2}\) 发散,对称随机游走常返;否则级数几何收敛,链暂留,最终漂向 \(\pm\infty\)。对价格模型而言:无漂移的随机游走会无数次回到起点,而只要有一点漂移,价格就不会再回来。

23.2.4 收敛与平稳分布

返回时间与正常返。 \(T_{ij}=\min\{n>0:X_n=j\}\) 为从 \(i\) 出发首次到达 \(j\) 的时间。常返态 \(i\) 的平均返回时间 \(m_i=\mathbb E(T_{ii})\) 若为无穷,称 \(i\) 为零常返,否则为正常返。零常返态满足 \(p_{jj}(n)\to0\)(引理 23.19);有限链的常返态都是正常返(引理 23.20)。

周期。 链 \(1\to2\to3\to1\) 确定性地循环,从 1 出发只在时刻 3、6、9……回到 1。状态 \(i\) 的周期 \(d(i)=\gcd\{n:p_{ii}(n)>0\}\);\(d=1\) 称非周期(aperiodic)。周期是类性质(引理 23.21)。

定义 23.22。 常返、正常返且非周期的状态称为遍历(ergodic);所有状态都遍历的链称为遍历链。

定义 23.23。 非负、和为 1 的行向量 \(\pi\) 若满足

\[\pi=\pi P,\]
称为平稳分布(stationary distribution)。若 \(X_0\sim\pi\),则 \(X_1\sim\pi P=\pi\),此后每个时刻都服从 \(\pi\)。

推导拆解:解天气链的平稳分布。设 \(\pi=(\pi_s,\pi_c)\),\(\pi=\pi P\) 的第一个分量给出 \(\pi_s=0.4\pi_s+0.8\pi_c\),即 \(0.6\pi_s=0.8\pi_c\);再加上 \(\pi_s+\pi_c=1\),得 \(\pi=(\frac47,\frac37)\approx(0.571,0.429)\)。长期看约 57% 的日子是晴天。第二个分量的方程与第一个等价(行和为 1 导致方程组有一个是多余的),所以必须用"分量和为 1"补足。

两状态链的一般公式(练习 2):\(\pi=\big(\frac{b}{a+b},\frac{a}{a+b}\big)\),其中 \(a\) 是离开状态 1 的概率,\(b\) 是离开状态 2 的概率。直观上,越难离开的状态,长期占比越高。

定义 23.24。 若 \(\lim_np_{ij}(n)=\pi_j\) 存在且与 \(i\) 无关,即 \(P^n\) 的每一行都收敛到 \(\pi\),称 \(\pi\) 为极限分布。

定理 23.25(主定理)。 不可约、遍历的马尔可夫链有唯一的平稳分布 \(\pi\),极限分布存在且等于 \(\pi\)。并且对任何有界函数 \(g\),以概率 1

\[\frac1N\sum_{n=1}^Ng(X_n)\to\mathbb E_\pi(g)=\sum_jg(j)\pi_j.\tag{23.14}\]
这是马尔可夫链的大数定律:沿一条链做时间平均,等于在平稳分布下求期望。第 24b 章的 MCMC 就建立在这个结论上。

白话解释:我们手里只有一段历史(一条样本路径),却想知道"长期平均"会怎样。主定理说,只要链不可约(每个状态都能到达其他状态)且遍历(不会周期性循环),一条足够长的路径就能代表整个分布。这为"用一段长历史估计长期危机频率"提供了依据。但要注意"足够长"的含义:链越持久(\(p_{ii}\) 越接近 1),收敛越慢。23.4 节实战的解读第 1 点正好展示了 10 年数据都不够长的情形。

"以概率 1"(又称"几乎必然")的意思是:除了一些发生概率为零的极端路径外,每条路径的时间平均都会收敛。

细致平衡(detailed balance)。 若

\[\pi_ip_{ij}=\pi_jp_{ji}\quad\text{对所有 }i,j,\tag{23.15}\]
则 \(\pi\) 是平稳分布(定理 23.26)。证明:\((\pi P)_j=\sum_i\pi_ip_{ij}=\sum_i\pi_jp_{ji}=\pi_j\sum_ip_{ji}=\pi_j\)。\(\square\) 细致平衡的直观意思是:在平稳状态下,任意两个状态之间"\(i\) 流向 \(j\)"的概率流与"\(j\) 流向 \(i\)"相等。它是平稳的充分条件而非必要条件,但通常比直接解 \(\pi=\pi P\) 容易验证,这正是构造 MCMC 算法的方法。

警告(例 23.27)。 有平稳分布不等于收敛。三状态循环链 \(1\to2\to3\to1\) 有平稳分布 \(\pi=(\frac13,\frac13,\frac13)\),但从任何确定状态出发,链永远循环,没有极限——它是周期链,不满足遍历条件。

例 23.28。 6 状态链,\(P\) 的行依次为 \((\frac12,\frac12,0,0,0,0)\)、\((\frac14,\frac34,0,0,0,0)\)、\((\frac14,\frac14,\frac14,\frac14,0,0)\)、\((\frac14,0,\frac14,\frac14,0,\frac14)\)、\((0,0,0,0,\frac12,\frac12)\)、\((0,0,0,0,\frac12,\frac12)\)。\(\{1,2\}\) 和 \(\{5,6\}\) 是不可约闭集;3、4 暂留(存在路径 \(3\to4\to6\),一旦到 6 就回不来);对角元都为正,所以全部非周期。结论:3、4 暂留,1、2、5、6 遍历。

例 23.29(Hardy–Weinberg 定律)。 基因 A、a,基因型 AA、Aa、aa 的比例为 \((p,q,r)\),随机婚配。基因池中 A 的比例 \(P=p+q/2\),a 的比例 \(Q=r+q/2\)。子代基因型比例为 \((P^2,2PQ,Q^2)\),下一代 A 的比例仍为 \(P^2+PQ=P\),所以从第二代起比例保持不变。追踪某人的单系后代,其基因型构成转移矩阵为 AA 行 \((P,Q,0)\)、Aa 行 \((\frac P2,\frac12,\frac Q2)\)、aa 行 \((0,P,Q)\) 的马尔可夫链,平稳分布正是 \((P^2,2PQ,Q^2)\)。

例 23.30(MCMC 预告)。 设目标密度 \(f(x)=cg(x)\),\(g\) 已知而常数 \(c\) 未知。从任意 \(X_0\) 出发,给定 \(X_i\):抽 \(W\sim N(X_i,b^2)\),令 \(r=\min\{g(W)/g(X_i),1\}\),以概率 \(r\) 令 \(X_{i+1}=W\),否则 \(X_{i+1}=X_i\)。在弱条件下这是一条以 \(f\) 为平稳分布的遍历链,所以链的样本可以当作来自 \(f\) 的样本。注意算法根本用不到 \(c\)。第 24b 章将详细讨论。

23.2.5 马尔可夫链的统计推断

观测一条有限状态链 \(X_0,\dots,X_n\)。记 \(n_{ij}\) 为观测到的 \(i\to j\) 转移次数,\(n_i=\sum_jn_{ij}\)。似然为

\[\mathcal L(\mu_0,P)=\mu_0(x_0)\prod_{r=1}^np_{X_{r-1}X_r}=\mu_0(x_0)\prod_{i,j}p_{ij}^{n_{ij}}.\]
\(\mu_0\) 只有一个观测,无法估计。在行和为 1 的约束下最大化,每一行就是一个独立的多项分布,MLE 为
\[\hat p_{ij}=\frac{n_{ij}}{n_i}.\]

推导拆解:对数似然为 \(\sum_{i,j}n_{ij}\log p_{ij}\),约束是每行 \(\sum_jp_{ij}=1\)。对第 \(i\) 行用拉格朗日乘子 \(\lambda_i\):对 \(p_{ij}\) 求偏导,\(\frac{n_{ij}}{p_{ij}}-\lambda_i=0\),得 \(p_{ij}=n_{ij}/\lambda_i\)。代入约束 \(\sum_jn_{ij}/\lambda_i=1\),得 \(\lambda_i=n_i\)。结论就是"从 \(i\) 出发的转移中,去往 \(j\) 的比例",和直觉一致。

例:实战中"平静"态共出发 \(1047+22+0=1069\) 次,其中 22 次转到"正常",\(\hat p_{01}=22/1069\approx0.021\),标准误 \(\sqrt{0.021\times0.979/1069}\approx0.004\)。

定理 23.31。 若链遍历,则 \(\hat p_{ij}\xrightarrow Pp_{ij}\),且 \(\sqrt{N_i(n)}(\hat p_{ij}-p_{ij})\) 渐近正态,\(N_i(n)\) 为访问状态 \(i\) 的次数,协方差结构与多项分布相同:同一行内 \(\text{Var}=p_{ij}(1-p_{ij})\)、\(\text{Cov}=-p_{ij}p_{i\ell}\),不同行渐近独立。因此 \(\widehat{\text{se}}(\hat p_{ij})\approx\sqrt{\hat p_{ij}(1-\hat p_{ij})/n_i}\)。

23.3 泊松过程

23.3.1 定义

泊松过程用于对随时间发生的事件计数:交通事故、放射性衰变、邮件到达,以及金融中的订单到达、成交、跳跃和违约。先回顾泊松分布:\(X\sim\text{Poisson}(\lambda)\) 时 \(\mathbb P(X=x)=e^{-\lambda}\lambda^x/x!\),\(\mathbb EX=\mathbb VX=\lambda\);独立泊松变量之和仍是泊松(参数相加);若 \(N\sim\text{Poisson}(\lambda)\)、\(Y\mid N\sim\text{Binomial}(N,p)\),则 \(Y\sim\text{Poisson}(\lambda p)\)(稀释性)。

令 \(X_t\) 为到时刻 \(t\) 为止发生的事件数,\(\{X_t\}\) 称为计数过程(counting process)。记 \(f(h)=o(h)\) 表示 \(f(h)/h\to0\)。

定义 23.32。 泊松过程是满足以下条件的计数过程:

  1. \(X(0)=0\);
  2. 独立增量:对任意 \(0=t_0<t_1<\cdots<t_n\),增量 \(X(t_1)-X(t_0),\dots,X(t_n)-X(t_{n-1})\) 相互独立;
  3. 存在函数 \(\lambda(t)\) 使
    \[\mathbb P(X(t+h)-X(t)=1)=\lambda(t)h+o(h),\qquad\mathbb P(X(t+h)-X(t)\ge2)=o(h).\tag{23.16–23.17}\]

\(\lambda(t)\) 称为强度函数(intensity function):短时间 \([t,t+h]\) 内发生一次事件的概率约为 \(\lambda(t)h\),发生两次以上的概率可以忽略。

定理 23.33。 强度为 \(\lambda(t)\) 的泊松过程满足

\[X(s+t)-X(s)\sim\text{Poisson}\big(m(s+t)-m(s)\big),\qquad m(t)=\int_0^t\lambda(u)du.\]
特别地 \(X(t)\sim\text{Poisson}(m(t))\)。\(\lambda(t)\equiv\lambda\) 时称为速率 \(\lambda\) 的齐次泊松过程,\(X(t)\sim\text{Poisson}(\lambda t)\)(定义 23.34)。

推导拆解:以齐次情形为例,说明 \(\mathbb P(X(t)=0)=e^{-\lambda t}\) 从何而来。把 \([0,t]\) 切成 \(n\) 段,每段长 \(h=t/n\)。每段内"没有事件"的概率约为 \(1-\lambda h\)(条件 3),各段独立(条件 2),所以全程无事件的概率约为 \((1-\lambda t/n)^n\)。令 \(n\to\infty\),它趋于 \(e^{-\lambda t}\)——与连续复利 \((1+r/n)^n\to e^r\) 是同一个极限。\(o(h)\) 项在 \(n\) 段累加后是 \(n\cdot o(t/n)\to0\),所以可以忽略。

更一般地,每段像一次成功概率为 \(\lambda h\) 的 Bernoulli 试验,\(n\) 段的总次数是 \(\text{Binomial}(n,\lambda t/n)\),\(n\to\infty\) 时趋于 \(\text{Poisson}(\lambda t)\)(二项分布的泊松近似)。非齐次时把 \(\lambda t\) 换成各段 \(\lambda(t_k)h\) 之和,即积分 \(m(t)\)。

金融直觉:约化形式信用模型中,违约强度 \(\lambda=2\%\)/年时,5 年生存概率为 \(e^{-0.02\times5}\approx90.5\%\)。这和用连续复利把 2% 的"利率"贴现 5 年是完全相同的计算,所以信用利差可以近似理解为违约强度乘以违约损失率。

23.3.2 到达间隔与等待时间

记 \(W_n\) 为第 \(n\) 个事件的发生时刻(等待时间,\(W_0=0\)),\(S_n=W_{n+1}-W_n\) 为到达间隔(interarrival / sojourn time)。

定理 23.35。 齐次泊松过程的到达间隔 \(S_0,S_1,\dots\) IID,服从均值为 \(1/\lambda\) 的指数分布,密度 \(\lambda e^{-\lambda s}\);等待时间 \(W_n\sim\text{Gamma}(n,1/\lambda)\),密度 \(\frac1{\Gamma(n)}\lambda^nw^{n-1}e^{-\lambda w}\)。 证明。 \(\mathbb P(S_0>t)=\mathbb P(X(t)=0)=e^{-\lambda t}\),所以 \(S_0\) 是指数分布。\(\mathbb P(S_1>t\mid S_0=s)=\mathbb P((s,s+t]\text{ 内无事件}\mid S_0=s)=e^{-\lambda t}\),最后一步用了独立增量,所以 \(S_1\) 也是指数分布且与 \(S_0\) 独立。依此类推。\(W_n\) 是 \(n\) 个 IID 指数变量之和,故为 Gamma 分布。\(\square\)

指数分布的无记忆性意味着:无论已经等了多久,到下一个事件的剩余等待时间分布不变。

例 23.36(网站服务器请求)。 假设请求是齐次泊松过程,观测期 \([0,T]\) 内共 \(N\) 次。\(N\sim\text{Poisson}(\lambda T)\),似然 \(\mathcal L(\lambda)\propto e^{-\lambda T}(\lambda T)^N\),MLE \(\hat\lambda=N/T=48.0077\) 次/分钟。检验齐次性:把 \([0,T]\) 等分为 4 段,若过程齐次,给定总数时每个事件等可能落入各段,\(H_0:p_1=\cdots=p_4=\frac14\),用卡方统计量 \(\sum(O_i-E_i)^2/E_i\),\(E_i=N/4\)。得 \(\chi^2=252\),p 值约为 0,拒绝齐次泊松——强度显然随时间变化。

非齐次过程的时间变换(原书习题 11)。 令 \(\Lambda(t)=\int_0^t\lambda(u)du\),把时间轴换成 \(s=\Lambda(t)\),则 \(Y(s)=X(t)\) 是强度为 1 的齐次泊松过程。也就是说,在"事件时钟"而不是"日历时钟"下,非齐次泊松过程变成了标准泊松过程。这是高频数据中"交易时间"(trade time)、"成交量时间"(volume time)概念的数学基础。

白话解释:\(\Lambda(t)\) 是"到时刻 \(t\) 为止预期发生的事件数"。用它当新的时钟,开盘时事件密集,时钟走得快;午间事件稀疏,时钟走得慢。在新时钟下,每走一个单位平均恰好发生一次事件,强度就变成了常数 1。以实战的 U 形强度为例:开盘第 1 分钟 \(\lambda\approx79\) 笔,新时钟走 79 个单位;午间第 120 分钟 \(\lambda=20\) 笔,新时钟只走 20 个单位。

为什么成立:在新时钟的一个小区间 \([s,s+\delta]\) 内,对应的日历时间长度约为 \(\delta/\lambda(t)\),发生一次事件的概率约为 \(\lambda(t)\cdot\delta/\lambda(t)=\delta\),与 \(t\) 无关,即强度为 1。独立增量性质在单调变换下保持不变。


23.4 量化实战

场景。 (1) 一个三状态的市场状态链(平静、正常、危机),日频,模拟约 10 年数据,估计转移矩阵及标准误、平稳分布、平均持续时间和多步转移概率。(2) 日内成交到达是非齐次泊松过程,强度呈开盘收盘高、午间低的 U 形;用 thinning 方法模拟,按例 23.36 检验齐次性,再用时间变换检验到达间隔。

import numpy as np
from scipy import stats

rng = np.random.default_rng(23)
# ---------- (1) 市场状态马尔可夫链:模拟、MLE、标准误、平稳分布 ----------
P = np.array([[0.97, 0.03, 0.00],      # 0=平静  1=正常  2=危机
              [0.02, 0.95, 0.03],
              [0.00, 0.10, 0.90]])
n = 2500                                # 约 10 年日频
X = np.zeros(n + 1, dtype=int); X[0] = 1
for t in range(n):
    X[t + 1] = rng.choice(3, p=P[X[t]])
N = np.zeros((3, 3))
np.add.at(N, (X[:-1], X[1:]), 1)
ni = N.sum(1, keepdims=True)
P_hat = N / ni
se = np.sqrt(P_hat * (1 - P_hat) / ni)              # 定理 23.31:每行类似多项分布
print("转移计数 n_ij:\n", N.astype(int))
print("P_hat (括号内为标准误):")
for i in range(3):
    print("  ", "  ".join("%.3f(%.3f)" % (P_hat[i, j], se[i, j]) for j in range(3)))
def stationary(P):
    w, v = np.linalg.eig(P.T)
    pi = np.real(v[:, np.argmin(abs(w - 1))]); return pi / pi.sum()
print("平稳分布 真值 =", stationary(P).round(3), "  估计 =", stationary(P_hat).round(3),
      "  样本占比 =", (np.bincount(X, minlength=3) / (n + 1)).round(3))
print("平均持续天数 1/(1-p_ii):真值", (1 / (1 - np.diag(P))).round(1), " 估计", (1 / (1 - np.diag(P_hat))).round(1))
print("从'正常'出发 20 天后处于'危机'的概率:P^20[1,2] = %.3f" % np.linalg.matrix_power(P_hat, 20)[1, 2])

# ---------- (2) 日内成交到达:非齐次泊松过程(U 形强度),thinning 模拟 ----------
T = 240.0                                           # 一个交易日 240 分钟
lam = lambda t: 20 + 60 * ((t - 120) / 120) ** 2    # 每分钟笔数:开盘、收盘高,午间低
lam_max = 80
cand = np.cumsum(rng.exponential(1 / lam_max, size=40000)); cand = cand[cand < T]
arr = cand[rng.random(cand.size) < lam(cand) / lam_max]   # 以 λ(t)/λ_max 的概率保留
m_T = 20 * T + 60 * 240 / 3                          # ∫_0^T λ(t) dt = 4800 + 4800
print("总笔数 = %d,理论均值 m(T) = %.0f" % (arr.size, m_T))
# 例 23.36 式检验:等分 4 段,H0 为齐次泊松
O = np.histogram(arr, bins=4, range=(0, T))[0]; E = O.sum() / 4
chi2 = ((O - E) ** 2 / E).sum()
print("四段计数", O, " chi2=%.1f  p=%.2g(拒绝齐次性)" % (chi2, stats.chi2.sf(chi2, 3)))
# 时间变换(原书习题 11):s = Λ(t) 后到达间隔应为 Exp(1)
Lam = lambda t: 20 * t + 60 * ((t - 120) ** 3 + 120 ** 3) / (3 * 120 ** 2)
gaps_raw = np.diff(arr) * arr.size / T              # 只按平均强度标准化
gaps_tc = np.diff(Lam(arr))                         # 按累积强度变换
for name, g in [("仅按平均强度标准化", gaps_raw), ("按 Λ(t) 时间变换", gaps_tc)]:
    ks = stats.kstest(g, "expon")
    print("%-12s 间隔均值=%.3f 方差=%.3f  KS检验 Exp(1) p=%.3g" % (name, g.mean(), g.var(), ks.pvalue))

关键输出:

转移计数 n_ij:
 [[1047   22    0]
 [  22 1080   30]
 [   0   30  269]]
P_hat (括号内为标准误):
   0.979(0.004)  0.021(0.004)  0.000(0.000)
   0.019(0.004)  0.954(0.006)  0.027(0.005)
   0.000(0.000)  0.100(0.017)  0.900(0.017)
平稳分布 真值 = [0.339 0.508 0.153]   估计 = [0.428 0.453 0.12 ]   样本占比 = [0.427 0.453 0.12 ]
平均持续天数 1/(1-p_ii):真值 [33.3 20.  10. ]  估计 [48.6 21.8 10. ]
从'正常'出发 20 天后处于'危机'的概率:P^20[1,2] = 0.160
总笔数 = 9587,理论均值 m(T) = 9600
四段计数 [3357 1452 1539 3239]  chi2=1360.1  p=1.4e-294(拒绝齐次性)
仅按平均强度标准化    间隔均值=1.000 方差=1.365  KS检验 Exp(1) p=3.96e-14
按 Λ(t) 时间变换  间隔均值=1.001 方差=0.970  KS检验 Exp(1) p=0.168

解读。

  1. 转移概率估计得很准,长期性质却不准。 每个 \(\hat p_{ij}\) 的标准误只有 0.4%–1.7%,看起来很精确。但 10 年里"平静→正常"只发生了 22 次,平静态的平均持续时间被估为 48.6 天(真值 33.3),平稳分布中平静态的占比被估为 42.8%(真值 33.9%)。原因是平稳分布和持续时间对 \(1-p_{ii}\) 这种小概率极其敏感:\(1-\hat p_{00}=0.021\) 对 0.030,相对误差 30%。状态越持久,独立的"状态切换"样本越少,有效样本量远小于观测天数。用 regime 模型做长期配置(例如"危机态平均占 15% 的时间")时,应该用 bootstrap 或贝叶斯方法报告不确定性,而不是只看点估计。
  2. 多步预测。 \(\hat P^{20}\) 给出从正常态出发 20 个交易日后处于危机态的概率约 16%。同样的计算用于信用评级迁移矩阵(违约为吸收态),\(P^n\) 的最后一列就是 \(n\) 期累积违约概率,这是 CreditMetrics 等信用组合模型的基础。
  3. 日内到达不是齐次泊松过程。 四段计数为 3357、1452、1539、3239,卡方检验以压倒性证据拒绝齐次性,与例 23.36 的结论一致。只按全天平均强度标准化时,到达间隔的方差为 1.365,大于指数分布应有的 1——强度变化会制造"过度离散"的假象,常被误认为是成交的聚集性(自激)。用 \(\Lambda(t)\) 做时间变换后,间隔与 Exp(1) 吻合(KS 检验 p = 0.17)。实证研究中应先剔除日内季节性,再判断剩余的聚集是否需要 Hawkes 这类自激过程来描述。

其他应用。 约化形式信用模型中,违约时刻是强度为 \(\lambda(t)\) 的泊松过程的第一次跳跃,生存概率为 \(\exp(-\int_0^t\lambda(u)du)\),正是定理 23.33 中 \(X(t)=0\) 的概率;Merton 跳跃扩散模型中跳跃次数是泊松过程(第 08 册)。分支过程(习题 5)是 Hawkes 过程的离散原型:每个事件"生出"若干后续事件。


本章小结

马尔可夫链的核心是"给定现在,未来与过去独立"。齐次链由转移矩阵 \(P\) 完全刻画,\(n\) 步转移矩阵为 \(P^n\),边际分布 \(\mu_n=\mu_0P^n\)。状态按互通关系分类,常返等价于 \(\sum_np_{ii}(n)=\infty\),对称随机游走常返而有漂移的随机游走暂留。不可约遍历链有唯一平稳分布,它同时是极限分布,沿链的时间平均收敛到平稳期望;细致平衡是平稳的充分条件,也是 MCMC 的设计原理;有平稳分布不保证收敛(周期链)。转移概率的 MLE 是 \(n_{ij}/n_i\),每行如同多项分布。泊松过程由独立增量和局部强度定义,增量服从均值为强度积分的泊松分布;齐次时到达间隔 IID 指数、第 \(n\) 次到达时刻为 Gamma 分布;非齐次过程经时间变换 \(s=\Lambda(t)\) 化为标准泊松过程。

概念 公式 / 要点
马尔可夫性 \(\mathbb P(X_n\mid X_0,\dots,X_{n-1})=\mathbb P(X_n\mid X_{n-1})\)
Chapman–Kolmogorov \(P_{m+n}=P_mP_n\),\(P_n=P^n\)
边际分布 \(\mu_n=\mu_0P^n\)
常返判据 \(\sum_np_{ii}(n)=\infty\)
随机游走 \(p_{00}(2n)\sim(4pq)^n/\sqrt{n\pi}\);仅 \(p=\frac12\) 常返
周期 \(d(i)=\gcd\{n:p_{ii}(n)>0\}\)
平稳分布 \(\pi=\pi P\)
主定理 不可约 + 遍历 ⇒ 唯一 \(\pi\) = 极限分布,\(\frac1N\sum g(X_n)\to\mathbb E_\pi g\)
细致平衡 \(\pi_ip_{ij}=\pi_jp_{ji}\) ⇒ \(\pi\) 平稳
转移矩阵 MLE \(\hat p_{ij}=n_{ij}/n_i\),\(\text{se}\approx\sqrt{\hat p_{ij}(1-\hat p_{ij})/n_i}\)
平均持续时间 \(1/(1-p_{ii})\)
泊松过程增量 \(X(s+t)-X(s)\sim\text{Poisson}\big(\int_s^{s+t}\lambda\big)\)
到达间隔 齐次时 IID \(\text{Exp}\)(均值 \(1/\lambda\)),\(W_n\sim\text{Gamma}(n,1/\lambda)\)
时间变换 \(s=\Lambda(t)=\int_0^t\lambda\) 后为强度 1 的齐次泊松过程

练习

基础

  1. 原书习题 1:状态 \(\{0,1,2\}\),\(P=\begin{pmatrix}0.1&0.2&0.7\\0.9&0.1&0\\0.1&0.8&0.1\end{pmatrix}\),\(\mu_0=(0.3,0.4,0.3)\)。求 \(\mathbb P(X_0=0,X_1=1,X_2=2)\) 与 \(\mathbb P(X_0=0,X_1=1,X_2=1)\)。(答案:\(0.3\times0.2\times0=0\);\(0.3\times0.2\times0.1=0.006\)。)
  2. 原书习题 3:两状态链 \(P=\begin{pmatrix}1-a&a\\b&1-b\end{pmatrix}\),证明 \(\lim P^n\) 的每一行都是 \(\big(\frac b{a+b},\frac a{a+b}\big)\)。(提示:\(P\) 的特征值为 1 和 \(1-a-b\)。)
  3. 原书习题 6:求 \(P=\begin{pmatrix}0.40&0.50&0.10\\0.05&0.70&0.25\\0.05&0.50&0.45\end{pmatrix}\) 的平稳分布。(答案:\(\pi=(\frac8{104},\frac{65}{104},\frac{31}{104})\approx(0.077,0.625,0.298)\)。)
  4. 原书习题 9:\(P=\begin{pmatrix}0&1\\1&0\end{pmatrix}\),证明 \(\pi=(\frac12,\frac12)\) 是平稳分布但链不收敛。
  5. 证明状态 \(i\) 的平均持续时间(连续停留的天数)服从几何分布,均值 \(1/(1-p_{ii})\)。
  6. 原书习题 13:齐次泊松过程中求 \(\mathbb P(X(t)\text{ 为奇数})\)。(答案:\(\frac12(1-e^{-2\lambda t})\)。提示:\(\sum_k e^{-\lambda t}(\lambda t)^{2k+1}/(2k+1)!=e^{-\lambda t}\sinh(\lambda t)\)。)

进阶

  1. 原书习题 12:求 \(X(t)\) 在给定 \(X(t+s)=n\) 下的条件分布。(答案:\(\text{Binomial}(n,\frac t{t+s})\)。这说明给定总数时事件在时间上均匀分布,正是例 23.36 检验的依据。)
  2. 原书习题 5(分支过程):\(X_{n+1}=\sum_{i=1}^{X_n}Y_i^{(n)}\),\(X_0=1\),后代数 \(Y\) 的均值 \(\mu\)、方差 \(\sigma^2\)。证明 \(M(n)=\mu^n\),\(V(n)=\sigma^2\mu^{n-1}(1+\mu+\cdots+\mu^{n-1})\);灭绝时间的 CDF 满足 \(F(n)=\sum_kp_k(F(n-1))^k\)。\(p_0=\frac14,p_1=\frac12,p_2=\frac14\) 时计算 \(F(1),\dots,F(5)\)。(答案:0.25、0.391、0.484、0.550、0.601;\(\mu=1\) 的临界情形,最终必然灭绝但很慢。)
  3. 原书习题 11:证明非齐次泊松过程经 \(s=\Lambda(t)\) 变换后是强度 1 的齐次泊松过程,并用 23.4 节代码验证。
  4. 原书习题 14(\(M/G/\infty\) 队列):用户按强度 \(\lambda\) 的泊松过程登录,在线时长独立、CDF 为 \(G\)。证明时刻 \(t\) 的在线人数服从均值为 \(\lambda\int_0^t(1-G(s))ds\) 的泊松分布。把"用户"换成"挂在订单簿上的限价单",解释这个结果的含义。
  5. 编程:在 23.4 节实验 (1) 中重复模拟 500 条长 2500 的链,画出平稳分布估计 \(\hat\pi_0\) 的抽样分布,与"把每天当独立样本"算出的标准误 \(\sqrt{\hat\pi_0(1-\hat\pi_0)/2500}\) 比较。

原书推荐习题:第 23 章习题 3、4、5、6、9、11、15。

原书对照

本章内容 原书章节 PDF 页码
随机过程的概念,例 23.1–23.4 23.1 p.384–385
马尔可夫链定义、转移矩阵、Chapman–Kolmogorov,例 23.7–23.8 23.2 p.386–397
状态分类、常返与暂留、随机游走,定理 23.12–23.17,例 23.13、23.18 23.2 p.386–397
收敛、周期、平稳分布、主定理、细致平衡,例 23.27–23.30 23.2 p.386–397
马尔可夫链的推断,定理 23.31 23.2 p.386–397
泊松过程,定理 23.33–23.35,例 23.36 23.3 p.397–400
文献注(Grimmett & Stirzaker;Taylor & Karlin;Ross) 23.4 p.400
习题 23.5 p.401–404