2. 预备知识:随机过程与伊藤微积分基础
好,咱们正式开始。在深入 Mean Field Game 之前,有些数学工具得先备好。说白了,如果你不懂随机过程和伊藤微积分,后面看 MFG 的推导会非常痛苦。我个人习惯是先把这些基础夯结实,后面才能跑得快。
2.1 随机过程:从布朗运动说起
随机过程,你可以理解为一个随时间演变的随机变量。比如股票价格,今天是多少,明天是多少,不确定。但它的变化有规律可循。
最核心的随机过程,就是 布朗运动(也叫维纳过程),记作 \(W_t\)。它有几个关键性质:
- 独立增量:不同时间段的增量是独立的。
- 正态增量:\(W_{t+\Delta t} - W_t \sim N(0, \Delta t)\)。
- 连续路径:但处处不可导。
核心直觉:布朗运动是随机游走的连续极限。你想想看,一个醉汉走路,每一步方向随机,步长很小,走出来的轨迹就是布朗运动。
我在项目中遇到过一个问题:用布朗运动模拟股价时,发现模拟出来的路径太“光滑”了。后来才意识到,真实市场有跳跃,得用跳扩散过程。嗯,这里要注意,布朗运动只是基础,不是万能药。
2.2 伊藤积分:随机积分的定义
普通积分 \(\int f(t) dt\) 很好理解,但随机积分呢?比如 \(\int g(t) dW_t\),这里的 \(dW_t\) 是随机项,怎么积?
伊藤积分给出了答案。它的定义基于一个思想:被积函数在积分区间左端点取值。为什么是左端点?因为左端点的值是已知的(非预期的),这保证了积分的鞅性质。
避坑指南:我曾经在写代码时,不小心用了右端点取值(那是 Stratonovich 积分),结果算出来的期权价格全错了。记住,金融里默认用伊藤积分,别搞混。
伊藤积分的核心公式:
∫₀ᵗ g(s) dW_s = lim Σ g(tᵢ)(W(tᵢ₊₁) - W(tᵢ))
其中 tᵢ 是左端点。这个极限是在均方意义下收敛的。
2.3 伊藤引理:随机微积分的链式法则
普通微积分有链式法则:\(df = f'(x) dx\)。但随机世界里,因为 \(dW_t\) 的平方项不消失(\( (dW_t)^2 = dt \)),链式法则变了。
伊藤引理:如果 \(X_t\) 满足 \(dX_t = \mu dt + \sigma dW_t\),那么对于光滑函数 \(f(t, x)\),有:
df(t, X_t) = (∂f/∂t + μ ∂f/∂x + ½ σ² ∂²f/∂x²) dt + σ ∂f/∂x dW_t
这个公式太重要了。它告诉我们:随机过程的函数,其漂移项多了一个二阶项 \(½ σ² f_{xx}\)。这就是随机微积分和普通微积分的根本区别。
为什么会有二阶项? 因为布朗运动的二次变分不为零。你想想看,\( (dW_t)^2 \) 在均方意义下等于 \(dt\),所以泰勒展开到二阶时,这个项必须保留。
我记得第一次学伊藤引理时,觉得这个二阶项很突兀。后来做期权定价,用伊藤引理推导 BS 方程,才真正理解它的物理意义——它代表了波动率对价格的影响。
2.4 随机微分方程(SDE)
有了伊藤积分和伊藤引理,我们就可以定义随机微分方程了:
dX_t = μ(t, X_t) dt + σ(t, X_t) dW_t
这里 μ 是漂移项,σ 是扩散项。解这个方程,得到的是一个随机过程 \(X_t\)。
常见的 SDE 有:
| 名称 | SDE | 应用场景 |
|---|---|---|
| 几何布朗运动 | dS = μS dt + σS dW | 股票价格模型 |
| Ornstein-Uhlenbeck | dX = θ(μ - X) dt + σ dW | 利率模型、均值回复 |
| CIR 过程 | dr = κ(θ - r) dt + σ√r dW | 短期利率模型 |
注意:SDE 的解不一定存在,也不一定唯一。需要满足 Lipschitz 条件和线性增长条件。我在做数值模拟时,曾经因为参数设置不当,导致解爆炸了。嗯,数值稳定性是个大问题。
2.5 知识体系框架
下面我用一张图来总结本章的知识结构。这张图展示了从布朗运动到伊藤微积分,再到 SDE 和 MFG 的完整链路。
2.6 实战:用 Python 模拟几何布朗运动
光说不练假把式。咱们写几行代码,模拟一下几何布朗运动。这是期权定价和 MFG 数值模拟的基础。
import numpy as np
import matplotlib.pyplot as plt
# 参数设置
S0 = 100 # 初始价格
mu = 0.05 # 漂移率
sigma = 0.2 # 波动率
T = 1.0 # 时间长度
N = 252 # 步数
dt = T / N # 步长
# 生成布朗运动
np.random.seed(42)
dW = np.sqrt(dt) * np.random.randn(N)
W = np.cumsum(dW)
# 几何布朗运动
t = np.linspace(0, T, N)
S = S0 * np.exp((mu - 0.5 * sigma**2) * t + sigma * W)
# 绘图
plt.plot(t, S)
plt.xlabel('时间')
plt.ylabel('价格')
plt.title('几何布朗运动模拟')
plt.show()
个人经验:我习惯用 \( \mu - 0.5\sigma^2 \) 这个漂移修正项。很多人会忘记这个修正,导致模拟的期望值不对。记住,几何布朗运动的期望是 \( S_0 e^{\mu t} \),不是 \( S_0 e^{(\mu - 0.5\sigma^2)t} \)。
2.7 小结
这一章我们覆盖了:
- 布朗运动及其性质
- 伊藤积分的定义和左端点取值规则
- 伊藤引理——随机微积分的核心工具
- 随机微分方程及其常见类型
- 数值模拟的实战代码
这些工具,是理解 Mean Field Game 的数学基础。后面我们会看到,MFG 中的 HJB 方程和 Fokker-Planck 方程,本质上就是伊藤引理和 SDE 的延伸。嗯,打好基础,后面才能走得稳。