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 最核心的工程约束,也是后续方差缩减技术(对偶变量、控制变量、重要性抽样)存在的根本原因。

误差收敛率 O(N^(-1/2)) 与 95% 置信区间 样本量 N(对数刻度) 误差尺度 标准误 SE = σ/√N N=1e3 N=1e4 N=1e5 95% CI = X̄ ± 1.96·SE 误差减半 → 样本量 ×4

二、方法流程:一次可验收的定价模拟

把原理落到工程,标准流程如下:

  1. 设定模型与参数:标的 \(S_0\)、行权价 \(K\)、无风险利率 \(r\)、波动率 \(\sigma\)、到期 \(T\)、路径步数 \(M\)、样本量 \(N\)。
  2. 生成风险中性路径:几何布朗运动离散化 \(S_{t+\Delta t}=S_t\exp[(r-\tfrac12\sigma^2)\Delta t+\sigma\sqrt{\Delta t}Z]\)。
  3. 计算贴现收益:欧式看涨 \(g=\max(S_T-K,0)\),贴现得 \(e^{-rT}g\)。
  4. 估计均值与标准误:\(\bar{X}_N\) 与 \(SE=s/\sqrt{N}\),其中 \(s\) 为样本标准差。
  5. 构造置信区间并验收:检查半宽是否小于业务容忍阈值(如 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估计价格标准误 SE95% 置信区间半宽是否满足 ±0.01
1,0009.360.1320.259否
10,0009.440.0410.080否
100,0009.410.0130.026否
1,000,0009.410.0040.008是

可以看到,从 1 万到 100 万样本量增加 100 倍,标准误只缩小约 10 倍,完全符合 \(1/\sqrt{N}\) 规律。若业务要求价格误差不超过 1 分钱,则必须把样本量推到百万级,或引入方差缩减。

工程建议:先用小样本(如 1 万)估算 \(\sigma\),再反推满足目标半宽所需的 \(N \approx (1.96\sigma/\text{目标半宽})^2\),避免盲目堆样本。

四、误区与复盘

  • 误区一:把标准误当成误差上界。SE 只是误差的标准差尺度,单次模拟误差可能落在 ±2SE 甚至更远,必须用置信区间表达。
  • 误区二:忽略样本相关性。若随机数生成器有周期性或路径间不独立,CLT 前提被破坏,置信区间会失真。
  • 误区三:只看价格不看方差。深度虚值期权收益方差极大,同样 N 下 SE 远高于平值期权,需针对性做重要性抽样。
  • 误区四:用固定种子掩盖收敛问题。固定种子便于复现,但验收必须跑多组种子,观察价格分布是否稳定。
复盘要点:Monte Carlo 的可靠性来自“可量化的不确定性”。任何只报一个价格、不报标准误或置信区间的定价结果,在工程上都不应被接受。

总结来看,大数定律给出收敛的合法性,中心极限定理给出误差的分布形态,\(O(N^{-1/2})\) 给出成本预期,置信区间给出验收语言。掌握这四者,才能在后续的路径依赖期权、美式期权与希腊值计算中,把 Monte Carlo 从“能跑”推进到“可信、可验收”。