4. Monte Carlo模拟原理
在期权定价工程中,Monte Carlo 方法之所以能给出可信价格,并不是因为“随机数看起来像市场”,而是因为它背后有三块数学基石:大数定律保证估计量最终收敛到真实期望,中心极限定理刻画误差的分布形态,误差收敛率与置信区间则把“差不多”变成可量化、可验收的工程指标。本节围绕这三块基石展开,并落到可运行的定价代码与验收标准上。
一、核心原理:从期望到估计量
期权价格在风险中性测度下可写成贴现期望:\(V_0 = e^{-rT}\mathbb{E}^{\mathbb{Q}}[g(S_T)]\)。Monte Carlo 的做法是构造独立同分布样本 \(X_i = g(S_T^{(i)})\),用样本均值 \(\bar{X}_N = \frac{1}{N}\sum_{i=1}^{N} X_i\) 估计 \(\mathbb{E}[X]\),再贴现得到价格。
大数定律(LLN)指出:当 \(N \to \infty\) 时,\(\bar{X}_N \to \mathbb{E}[X]\)(依概率或几乎必然)。它回答的是“会不会收敛”。中心极限定理(CLT)进一步指出:\(\sqrt{N}(\bar{X}_N - \mathbb{E}[X]) \Rightarrow \mathcal{N}(0, \sigma^2)\),即误差近似服从正态分布。它回答的是“误差长什么样”。两者结合,就得到工程上最常用的误差尺度:
标准误 SE = σ / √N
95% 置信区间 ≈ [ X̄ - 1.96·SE , X̄ + 1.96·SE ]
误差收敛率:O(N^(-1/2))
这意味着:要把误差缩小一半,样本量需要增加四倍。这是 Monte Carlo 最核心的工程约束,也是后续方差缩减技术(对偶变量、控制变量、重要性抽样)存在的根本原因。
二、方法流程:一次可验收的定价模拟
把原理落到工程,标准流程如下:
- 设定模型与参数:标的 \(S_0\)、行权价 \(K\)、无风险利率 \(r\)、波动率 \(\sigma\)、到期 \(T\)、路径步数 \(M\)、样本量 \(N\)。
- 生成风险中性路径:几何布朗运动离散化 \(S_{t+\Delta t}=S_t\exp[(r-\tfrac12\sigma^2)\Delta t+\sigma\sqrt{\Delta t}Z]\)。
- 计算贴现收益:欧式看涨 \(g=\max(S_T-K,0)\),贴现得 \(e^{-rT}g\)。
- 估计均值与标准误:\(\bar{X}_N\) 与 \(SE=s/\sqrt{N}\),其中 \(s\) 为样本标准差。
- 构造置信区间并验收:检查半宽是否小于业务容忍阈值(如 0.01 元)。
import numpy as np
rng = np.random.default_rng(42)
S0, K, r, sigma, T, N = 100, 100, 0.03, 0.2, 1.0, 100000
Z = rng.standard_normal(N)
ST = S0 * np.exp((r - 0.5*sigma**2)*T + sigma*np.sqrt(T)*Z)
payoff = np.exp(-r*T) * np.maximum(ST - K, 0.0)
price, se = payoff.mean(), payoff.std(ddof=1)/np.sqrt(N)
print(f"price={price:.4f}, SE={se:.4f}, 95%CI=[{price-1.96*se:.4f},{price+1.96*se:.4f}]")
三、案例场景:欧式看涨的误差验收
以 \(S_0=100, K=100, r=3\%, \sigma=20\%, T=1\) 为例,Black-Scholes 解析价约为 9.41。运行不同样本量,可观察误差随 \(N\) 的收敛行为:
| 样本量 N | 估计价格 | 标准误 SE | 95% 置信区间半宽 | 是否满足 ±0.01 |
|---|---|---|---|---|
| 1,000 | 9.36 | 0.132 | 0.259 | 否 |
| 10,000 | 9.44 | 0.041 | 0.080 | 否 |
| 100,000 | 9.41 | 0.013 | 0.026 | 否 |
| 1,000,000 | 9.41 | 0.004 | 0.008 | 是 |
可以看到,从 1 万到 100 万样本量增加 100 倍,标准误只缩小约 10 倍,完全符合 \(1/\sqrt{N}\) 规律。若业务要求价格误差不超过 1 分钱,则必须把样本量推到百万级,或引入方差缩减。
四、误区与复盘
- 误区一:把标准误当成误差上界。SE 只是误差的标准差尺度,单次模拟误差可能落在 ±2SE 甚至更远,必须用置信区间表达。
- 误区二:忽略样本相关性。若随机数生成器有周期性或路径间不独立,CLT 前提被破坏,置信区间会失真。
- 误区三:只看价格不看方差。深度虚值期权收益方差极大,同样 N 下 SE 远高于平值期权,需针对性做重要性抽样。
- 误区四:用固定种子掩盖收敛问题。固定种子便于复现,但验收必须跑多组种子,观察价格分布是否稳定。
总结来看,大数定律给出收敛的合法性,中心极限定理给出误差的分布形态,\(O(N^{-1/2})\) 给出成本预期,置信区间给出验收语言。掌握这四者,才能在后续的路径依赖期权、美式期权与希腊值计算中,把 Monte Carlo 从“能跑”推进到“可信、可验收”。