#011. 随机过程与量化风险:Markov、Martingale、Brownian、VaR/CVaR

随机过程与量化风险:Markov、Martingale、Brownian、VaR/CVaR 图示

#学习目标:从静态概率到时间中的不确定性

前面几章主要讨论一个随机变量:一次抽样、一个收益、一个标签、一个估计量。本章把视角改成“一串随机变量”:今天的价格、明天的价格、后天的价格;第 1 轮 RL 状态、第 2 轮 RL 状态;一次 MCMC 采样、下一次 MCMC 采样。只要随机性沿着时间展开,就进入随机过程的语言。

会读对象

理解 \(X_t\) 不是一个固定数,而是时间 \(t\) 上的随机变量;整条序列 \(\{X_t\}_{t\ge0}\) 才叫随机过程。

会读依赖

知道 Markov 假设在简化什么:预测下一步时,只保留当前状态,丢掉更早历史。

会读长期行为

理解平稳分布不是“永远不动”,而是整体状态比例经过转移后保持不变。

会读风险指标

能区分 VaR 问“坏到什么门槛”,CVaR 问“超过门槛后平均多坏”,Sharpe 问“单位波动换来多少超额收益”。

  • 看到 \(X_t\)、\(S_t\)、\(R_t\) 时,先说清楚时间下标 \(t\) 代表什么。
  • 看到 \(P_{ij}\) 时,能读成“从状态 \(i\) 转移到状态 \(j\) 的概率”。
  • 看到 \(\mathbb{E}[X_{t+1}\mid\mathcal{F}_t]\) 时,能读成“在当前已知信息下,对下一期的条件平均判断”。
  • 看到 \(VaR_\alpha\)、\(CVaR_\alpha\)、Sharpe 时,能说明它们分别忽略了哪些风险。

#概念起点:随机变量随时间变化

一个随机变量 \(X\) 描述“一次不确定结果”。随机过程把它复制到很多时间点:\(X_0,X_1,X_2,\ldots\)。这里的下标不是幂,也不是样本编号,而是时间或步骤。例如 \(X_t\) 可以表示第 \(t\) 天市场处于牛市还是熊市,也可以表示第 \(t\) 步强化学习环境中的状态。

离散时间随机过程\(X_0,X_1,X_2,\ldots\),时间一步一步走,例如每日收益。
连续时间随机过程\(\{X_t:t\ge0\}\),时间可以是任意实数,例如理论上的连续价格路径。
状态空间\(X_t\) 可能取哪些值。可以是有限状态,也可以是连续数值。
路径一次真实发生的序列,例如晴、晴、雨、晴,或价格 \(100,101,99,102\)。
为什么需要随机过程?

单个随机变量只回答“某件事分布如何”。随机过程额外回答“先后顺序如何影响未来”。量化里,收益的自相关、波动聚集、市场 regime 切换都不是单个分布能说清的;LLM/RL 里,当前 token、当前状态、当前策略也会影响下一步分布。

对象可以建模成什么时间依赖在问什么
每日收益 \(R_t\)随机变量序列今天亏损后,明天波动是否更大?
市场状态 \(X_t\)有限状态过程牛市、震荡、熊市之间如何切换?
RL 状态 \(S_t\)Markov decision process 的状态当前状态和动作如何决定下一状态?
MCMC 样本 \(Z_t\)Markov chain反复转移后,样本是否来自目标分布?

#Markov chain:下一步只依赖当前状态

Markov chain 是一种离散时间随机过程。它的核心假设是:如果已经知道当前状态,那么更早历史对下一步没有额外帮助。公式写作:

\[ P(X_{t+1}=j\mid X_t=i,X_{t-1},X_{t-2},\ldots)=P(X_{t+1}=j\mid X_t=i) \]

这行公式要这样读:左边问“在知道当前状态 \(i\) 和全部过去历史的情况下,下一步到 \(j\) 的概率”;右边问“只知道当前状态 \(i\) 的情况下,下一步到 \(j\) 的概率”。Markov 假设说这两个概率相等,所以当前状态已经浓缩了预测下一步所需的信息。

有限状态 Markov chain 常用转移矩阵 \(P\) 表示。矩阵元素 \(P_{ij}\) 表示从状态 \(i\) 到状态 \(j\) 的概率。每一行都要加起来等于 1,因为从一个状态出发,下一步总要落到某个状态。

\[ P= \begin{bmatrix} P_{11}&P_{12}&\cdots&P_{1m}\\ P_{21}&P_{22}&\cdots&P_{2m}\\ \vdots&\vdots&\ddots&\vdots\\ P_{m1}&P_{m2}&\cdots&P_{mm} \end{bmatrix}, \qquad \sum_{j=1}^m P_{ij}=1 \]
小例子:晴天和雨天的 Markov chain

设天气只有两个状态:晴 \(S\) 和雨 \(R\)。如果今天晴,明天 80% 仍然晴、20% 变雨;如果今天雨,明天 60% 变晴、40% 仍然雨。写出转移矩阵,并计算“今天晴,后天雨”的概率。

解答

按状态顺序 \((S,R)\),转移矩阵是:

\[ P= \begin{bmatrix} 0.8&0.2\\ 0.6&0.4 \end{bmatrix} \]

“今天晴,后天雨”有两条路径:晴 \(\to\) 晴 \(\to\) 雨,或晴 \(\to\) 雨 \(\to\) 雨。因此:

\[ P(X_2=R\mid X_0=S)=0.8\cdot0.2+0.2\cdot0.4=0.16+0.08=0.24 \]

也可以用矩阵平方 \(P^2\)。\(P^2\) 的第一行第二列就是从晴出发两步后到雨的概率。

面试直觉

Markov chain 不是说历史完全没用,而是说“当前状态的定义已经吸收了历史里对未来有用的信息”。如果状态定义太粗,例如只用“涨/跌”而忽略波动和成交量,Markov 假设通常会很弱。

#平稳分布:长期状态比例

如果 \(\pi\) 是一个行向量,表示当前落在各状态的概率,例如 \(\pi=(0.75,0.25)\) 表示 75% 晴、25% 雨,那么走一步后的分布是 \(\pi P\)。平稳分布要求:

\[ \pi=\pi P,\qquad \sum_i \pi_i=1,\qquad \pi_i\ge0 \]

这行公式要分三层读:\(\pi=\pi P\) 表示“经过一次转移后分布不变”;\(\sum_i\pi_i=1\) 表示它是概率分布;\(\pi_i\ge0\) 表示每个状态概率不能为负。平稳不是说每条路径不变,而是说大量样本或长期比例稳定。

小例子:求两状态 Markov 链的平稳分布

继续使用天气链:

\[ P= \begin{bmatrix} 0.8&0.2\\ 0.6&0.4 \end{bmatrix} \]

求平稳分布 \(\pi=(a,1-a)\)。

解答

代入 \(\pi=\pi P\),只看第一个分量就够:

\[ a=0.8a+0.6(1-a) \]

展开:

\[ a=0.8a+0.6-0.6a=0.2a+0.6 \]

所以 \(0.8a=0.6\),得到 \(a=0.75\)。因此:

\[ \pi=(0.75,0.25) \]

含义是:如果这条链长期运行,并且满足通常的不可约、非周期等条件,那么长期大约 75% 时间在晴天状态,25% 时间在雨天状态。它不是说明天一定 75% 晴,而是在描述长期比例。

MCMC 连接

MCMC 的核心目标就是设计一条 Markov chain,让它的平稳分布等于我们想采样的目标分布。链跑得足够久后,保留下来的样本才近似来自目标分布。这里的关键问题不是“能不能写出转移”,而是“是否真的混合到了平稳分布”。

#Martingale:当前信息下没有可预测漂移

Martingale 常被翻译为鞅。它描述一种“公平游戏”:在当前所有信息下,下一期的条件期望等于当前值。设 \(\mathcal{F}_t\) 表示到时间 \(t\) 为止你知道的全部信息,例如历史价格、历史收益、已发生的事件。Martingale 条件是:

\[ \mathbb{E}[X_{t+1}\mid\mathcal{F}_t]=X_t \]

这行公式要这样读:\(\mathbb{E}[\cdot\mid\mathcal{F}_t]\) 是“基于当前信息做条件平均”;\(X_{t+1}\) 是下一期随机值;等号右边 \(X_t\) 是当前值。它说的不是下一期一定等于当前值,而是说在条件平均意义上没有可预测的上升或下降。

小例子:公平硬币赌局

当前资金为 \(X_t\)。下一轮掷公平硬币,正面赢 1,反面输 1。问 \(X_t\) 是否是 martingale?

解答

下一期资金为:

\[ X_{t+1}= \begin{cases} X_t+1,&\text{概率 }1/2\\ X_t-1,&\text{概率 }1/2 \end{cases} \]

在已知当前资金和历史信息的情况下,条件期望是:

\[ \mathbb{E}[X_{t+1}\mid\mathcal{F}_t]=\frac12(X_t+1)+\frac12(X_t-1)=X_t \]

所以这是 martingale。注意路径会波动,资金可能连续亏损;martingale 只约束条件均值,不保证风险小。

金融连接

金融数学里常说“风险中性测度下,折现资产价格是 martingale”。这不是说真实世界里股票没有风险溢价,而是说换到定价用的概率测度后,折现价格没有可套利的条件漂移。面试时要把“真实概率下的收益预期”和“风险中性测度下的定价工具”区分开。

#Brownian motion 与 Ito 直觉

Brownian motion \(W_t\) 是连续时间随机噪声的基础模型。可以把它理解为“很多很小、独立、均值为 0 的随机冲击累积起来”的极限。它有三个常用性质:

从 0 开始\(W_0=0\)。
独立增量不重叠时间段的变化互相独立。
正态增量\(W_t-W_s\sim N(0,t-s)\),时间越长,方差越大。
连续但粗糙路径连续,但几乎处处不可导,所以不能直接用普通微积分处理。

在资产价格模型里,常见的几何 Brownian motion 写成:

\[ dS_t=\mu S_tdt+\sigma S_tdW_t \]

这里 \(S_t\) 是价格,\(\mu S_tdt\) 是确定性漂移项,\(\sigma S_tdW_t\) 是随机冲击项。\(dt\) 表示很小的时间长度,\(dW_t\) 表示这段极短时间里的 Brownian 增量。要注意量级:\(dW_t\) 的标准差是 \(\sqrt{dt}\),所以它比 \(dt\) 大;但 \((dW_t)^2\) 的量级是 \(dt\)。这正是 Ito 修正出现的原因。

\[ d\log S_t=\left(\mu-\frac{1}{2}\sigma^2\right)dt+\sigma dW_t \]
Ito 修正怎么理解?

普通链式法则只保留一阶变化。随机微积分里,因为 \((dW_t)^2\) 不能忽略,二阶项会留下来。对 \(\log S_t\) 来说,二阶曲率是负的,所以会多出 \(-\frac12\sigma^2dt\)。直觉上,波动会拖累对数增长率,这也是“算术平均收益”和“几何增长率”不同的重要来源。

小例子:为什么波动会降低对数增长

假设一个资产今天 100,明天一半概率涨到 110,一半概率跌到 90。算术平均价格是多少?平均对数收益是多少?

解答

算术平均价格是:

\[ \frac12\cdot110+\frac12\cdot90=100 \]

所以价格的算术平均没有变。但对数收益的平均是:

\[ \frac12\log(1.1)+\frac12\log(0.9) =\frac12\log(0.99)<0 \]

即使平均价格不变,平均对数增长也为负。这和 Ito 公式里的 \(-\frac12\sigma^2\) 是同一种直觉:波动本身会侵蚀复利增长。

#VaR、CVaR 与 Sharpe

量化风险通常从收益 \(R\) 转成损失 \(L\)。一个简单约定是 \(L=-R\):收益为正时损失为负,收益为负时损失为正。VaR 和 CVaR 都是围绕损失分布定义的。

VaR\(VaR_\alpha=\inf\{l:P(L\le l)\ge\alpha\}\),即损失的 \(\alpha\) 分位数。
CVaR\(CVaR_\alpha=\mathbb{E}[L\mid L\ge VaR_\alpha]\),即超过 VaR 门槛后的平均损失。
Sharpe\(\operatorname{Sharpe}=\frac{\mathbb{E}[R-R_f]}{\sigma(R-R_f)}\),即单位波动对应的超额收益。

VaR 的优点是直观:例如 95% VaR 是 3%,可以说“在模型估计下,95% 情况损失不超过 3%”。但它不告诉你超过 3% 后会损失多少。CVaR 正是为了看尾部严重程度。Sharpe 则把收益和波动合成一个效率指标,但它对厚尾、自相关、样本长度、交易成本和容量非常敏感。

小例子:用离散损失计算 VaR 与 CVaR

某策略有 10 个历史日损失样本,已经从小到大排序:

\[ -1\%,\ -0.5\%,\ 0\%,\ 0.2\%,\ 0.4\%,\ 0.8\%,\ 1.0\%,\ 1.5\%,\ 3.0\%,\ 8.0\% \]

粗略求 90% VaR 和 90% CVaR。

解答

10 个样本的 90% 分位数可以粗略取第 9 个从小到大的损失,即:

\[ VaR_{0.9}=3.0\% \]

超过或等于这个门槛的尾部损失是 \(3.0\%\) 和 \(8.0\%\)。因此:

\[ CVaR_{0.9}=\frac{3.0\%+8.0\%}{2}=5.5\% \]

解释时要说清:VaR 告诉我们“90% 水平的损失门槛约为 3%”;CVaR 告诉我们“进入最坏尾部后,平均损失约为 5.5%”。同样的 VaR 可以对应完全不同的尾部形状,所以只看 VaR 会低估极端损失。

Sharpe 边界

如果一个策略大多数时候小赚,偶尔巨亏,它可能在短样本里有不错 Sharpe,却有很差的 CVaR。量化风控不能只用均值和标准差,还要看尾部、回撤、杠杆、流动性和极端情境。

#LLM、RL、MCMC 与量化连接

这一章的概念不是只属于金融数学。它们背后是一套“状态、转移、条件信息、长期分布、尾部风险”的语言,LLM、RL、MCMC 和量化都会用到。

概念在 LLM / RL / MCMC 中在量化中面试要说清的边界
随机过程token 序列、rollout 轨迹、采样链。价格、收益、波动和订单流随时间变化。样本不是孤立点,时间依赖会影响估计。
Markov chainMCMC 通过 Markov 转移逼近目标分布;RL 状态转移常以 Markov 假设建模。市场 regime 切换、信用评级迁移、库存状态转移。当前状态必须足够表达历史,否则 Markov 假设不成立。
平稳分布MCMC 的目标是让链的平稳分布等于目标 posterior 或目标采样分布。长期状态占比、稳定 regime 假设、长期风险暴露。平稳分布存在不等于有限样本已经混合好,也不等于市场永远平稳。
Martingale策略梯度中的 advantage 常以条件期望为基准理解;公平估计器也会用条件期望语言。无套利定价、折现价格、不可预测收益假设。没有条件漂移不代表没有波动或没有尾部风险。
Brownian / Ito扩散模型和连续时间生成模型会借用随机微分方程语言。Black-Scholes、连续时间价格模型、波动率建模。连续路径、正态增量和常数波动都是强假设,真实市场常有跳跃和厚尾。
VaR / CVaR / Sharpe评估生成系统或 agent 时,也需要看平均表现之外的失败尾部。组合风控、止损、资本占用、策略筛选。平均指标不能替代尾部指标,短样本 Sharpe 很容易误导。

#常见误区与最后检查清单

常见误区为什么错正确说法
Markov chain 等于历史完全没用。历史可能有用,只是被当前状态摘要掉了。关键是状态设计是否足够包含预测未来的信息。
平稳分布表示每一步分布都自动稳定。初始分布不一定平稳,有限时间也可能没混合。平稳分布是转移后不变的分布,长期收敛还需要额外条件。
Martingale 表示价格不会变。Martingale 只约束条件期望,不约束路径波动。公平游戏也可能大起大落,甚至有严重尾部风险。
Brownian motion 是真实市场的完整描述。真实市场有跳跃、厚尾、波动聚集、交易摩擦。Brownian 是基础近似和定价语言,不是完整现实。
VaR 越小风险一定越小。VaR 不看超过门槛后的严重程度。需要同时看 CVaR、最大回撤、压力测试和流动性风险。
Sharpe 高就可以上线。Sharpe 可能来自短样本、过拟合、未计成本或隐藏尾部。还要看样本外、交易成本、容量、自相关、尾部和风控约束。
  • 我能用一句话解释随机过程和单个随机变量的区别。
  • 我能读懂 \(P_{ij}\),并检查转移矩阵每一行是否和为 1。
  • 我能用 \(\pi=\pi P\) 求两状态 Markov 链的平稳分布,并解释它的长期比例含义。
  • 我能说明 martingale 是“条件期望不变”,不是“路径不变”或“没有风险”。
  • 我能说出 Brownian motion 的独立增量、正态增量和 Ito 二阶修正直觉。
  • 我能用一个离散损失样本计算 VaR 和 CVaR,并解释为什么 CVaR 更关注尾部。
  • 我能说明 Sharpe 的分母是波动,不是最大亏损;因此 Sharpe 不能替代尾部风险指标。
  • 我能把 Markov chain 连接到 RL/MCMC,把 VaR/CVaR/Sharpe 连接到量化风控和策略评估。