Hook(开场场景). 某头部券商衍生品定价团队的工程师周一早晨拿到了三张交易工单:(A)需要在 50ETF(510050)香草欧式期权(European option)链上做隔夜重估,行权价从 2.0 到 3.5,30 个 strike 网格,到期日覆盖未来 12 个月——目前由桌面 Excel 单独计算每只期权要 4 分钟才能跑完,桌面员工抱怨重估在开盘前出不来;(B)一只挂钩沪深300 ETF(510300)的单标的美式数字票息票据,需要定价含早行权权利;(C)一只规模 5 亿元的中证500 雪球结构的 60 天市场价值(mark-to-market),每日障碍监控、需要定价精确到 0.05% 的本金。
三张单子,三种不同的定价工具。引擎的选择不是手感问题——它由两件事确定:标的状态空间的维数与损益是否依赖路径。下面给出 CN 私募 vol 桌台真正用的三引擎路由表与各自的实现细节(MC 蒙特卡洛、有限差分 FD、FFT),并把它们一一接到这三张工单上。
引擎路由表
| 场景 | 路径依赖? | 状态维数 | 推荐引擎 | 原因 |
|---|---|---|---|---|
| 香草期权链全网格 | 否 | 1 | FFT (Carr-Madan) | 一次 FFT 调用恢复整条 strike 网格 |
| 单标的美式期权 | 否(但早行权) | 1 | 有限差分 FD(Crank-Nicolson) | 早行权边界自然嵌入 PSOR / 罚函数 |
| 单标的离散监控雪球 / 障碍 | 是 | 1 | MC + Brownian bridge | 离散监控偏差需 bridge 修正 |
| 多资产篮子 / 自相关型奇异 | 是 | MC(带控制变量) | FD 在 3 维以上爆掉 | |
| Heston 下的香草链 | 否 | 1 + vol | FFT (Carr-Madan) | 特征函数已知 |
下面对三引擎逐一展开。
引擎一:蒙特卡洛
MC 的核心想法:在风险中性测度(Q-measure)下采样标的路径,对每条路径计算损益,把贴现样本均值作为价格估计,把样本标准差除以 作为定价不确定性(standard error)。
# 香草欧式 call 的最小 MC 实现(GBM 风险中性测度)
import numpy as np
def mc_european_call(S0, K, r, sigma, T, n_paths=100_000, seed=7):
rng = np.random.default_rng(seed)
Z = rng.standard_normal(n_paths)
ST = S0 * np.exp((r - 0.5 * sigma**2) * T + sigma * np.sqrt(T) * Z)
payoffs = np.maximum(ST - K, 0.0)
discounted = np.exp(-r * T) * payoffs
price = discounted.mean()
se = discounted.std(ddof=1) / np.sqrt(n_paths)
return price, se
误差以 收敛——把误差砍半要四倍样本量。两种最常用的方差缩减(variance reduction)方法可以把同样精度下的样本量砍掉一个数量级:
对偶变量法(antithetic variates):每抽一个布朗增量 ,同时把 也用上,配对成两条镜像路径。两条路径的损益负相关(在香草 call 上对应平均下降约 30–50% 的方差,免费),有效样本量约 2 倍。
控制变量法(control variates):选一个与目标损益相关、且自身有封闭解的随机量 (如几何平均亚式期权——GBM 下保持对数正态性,可控价)。MC 估计 (其中 ),把已知部分扣掉。在算术亚式期权这种"长得很像几何亚式"的损益上,控制变量可以把方差缩 100 倍以上。
对路径依赖产品(亚式、回望、障碍),MC 自然扩展:模拟整条路径,按损益公式计算。对离散监控的障碍期权,Brownian-bridge 修正必须加上——离散观察会系统性低估障碍触发概率,bridge 修正给出每段路径间"在闭区间内击穿障碍"的解析条件概率。
对美式 / 百慕大期权,Longstaff-Schwartz 回归 MC(2001)给出了一种把"早行权权利"嵌入 MC 的方案:在每个可能的早行权时点 ,把"延续价值(continuation value)" 用 in-the-money 路径上的若干基函数(典型是 三阶多项式)做最小二乘回归,然后在每条路径上比较"立即行权" vs "回归预测的延续价值",选大者作为该时点价值。回归是整个算法的承重步骤——基函数选不好,定价就有系统性偏差。
引擎二:有限差分 PDE
Black-Scholes 模型下风险中性测度内的偏微分方程(partial differential equation, PDE)(标的服从布朗运动驱动的 GBM)是:
把 离散成网格 ,期权值 ,三种差分方案的差别即"用哪个时点的二阶差分":
| 方案 | 时间差分点 | 稳定性 | 时间精度 | 空间精度 |
|---|---|---|---|---|
| 显式(explicit) | 条件稳定,需 | |||
| 隐式(implicit) | 无条件稳定 | |||
| Crank-Nicolson | 无条件稳定 |
显式方案 CFL 条件几乎不允许在产品中使用(典型 让 砍到微秒级)。Crank-Nicolson 是生产默认,二阶时间精度+无条件稳定,每一步需要解一个三对角线性方程组。
美式期权的早行权边界由 PSOR(projected SOR)或罚函数(penalty methods)方案处理:每一步先按欧式 PDE 推进一步,再按 投影回"立即行权值之上"。
维数诅咒(curse of dimensionality):FD 网格在 维状态空间下大小为 。 可控; 已勉强; 在生产里被自动路由回 MC。这就是为什么多资产篮子 / 自相关型奇异回到 MC 的根本原因。
边界条件这一节同样关键。FD 需要在三条边上指定边界值:到期日 处的边界是损益函数本身(如香草 call 是 ); 处对于看涨期权恒为 0; 处通常采用 Dirichlet 边界 (远值近似无界处香草 call 趋于内在值)或 Neumann 边界 (适用障碍期权与早行权情形)。边界选错会污染整个内域解;CN 桌台对障碍期权常常踩到的就是 截断过近导致定价偏低,标准做法是把 设到 以上。
引擎三:FFT / Carr-Madan
对任何随机过程,只要 在风险中性测度下的特征函数 是闭式可得(Heston、variance-gamma、Lévy 族),就可用 Carr-Madan(1999)恒等式一次 FFT 调用得到整条 strike 网格的价格。设 为对数行权价 处的看涨期权价,引入指数衰减因子 让 平方可积,则:
把右边按 trapezoid 或 Simpson 离散,得到的离散和恰好是 FFT 的标准形式。整个香草链——所有 一次性出价——只要一次 FFT。
实际意义:对 50ETF(510050)或沪深300 ETF(510300)的香草链每日重估,Heston 标定一次(几秒)+ FFT 一次(毫秒级)即可重估上百个 strike + 多到期日。这正是工单 A 的最优引擎。
CN region 区域案例(case):雪球 60 天 MtM
把三引擎接到工单 C(5 亿元雪球 60 天市值):
- 标定:用 50ETF(510050)+ 沪深300 ETF(510300)期权链的当前隐含波动率曲面,拟合 Heston 参数(FFT 反推 vanilla 价格 → 标定)。该步骤本身用 FFT 调用反复跑。
- 估值:对单标的(CSI 500)雪球,因为有每日离散监控的下敲入障碍 + 多个月度敲出现金或无 call,路径依赖 + 1 维状态,最适合 MC + Brownian bridge 修正。私募 vol 桌台的标准设置是 100 万条路径,几何亚式控制变量,运行时间约 4 分钟。
- 误差预算:100 万路径下,雪球价格的 standard error 在 0.04%–0.06% 本金量级,正好接近工单要求的 0.05%。若客户要求 0.02%,砍掉一半误差要四倍样本,运行时间升到 16 分钟——超出工作窗口,此时桌台会把控制变量加上对偶变量法,或预先把已敲出概率与残值映射成查表,把后续路径只跑剩余生存路径。
- T+1 结算约束让 CN 雪球的对冲再平衡只能在次日开盘做,所以 MtM 报告必须在收盘后 30 分钟内出,否则风控部门没时间审批次日对冲订单。这是引擎调度的硬约束。
练习
Exercise
你用 100,000 条路径估出一只香草欧式 call 的 MC 价格为 ¥5.20,样本标准差 9.50。问:(1)当前 standard error 是多少?(2)要把 standard error 砍到 0.01 需要多少条路径(仍只用普通 MC)?(3)若改用对偶变量法把每路径方差砍掉 40%,需要的路径数变为多少?
提示
提示
通往下一课的过渡
到这里你已经能根据路径依赖+维数把任意衍生品产品路由到正确引擎(MC / FD / FFT),写出香草 MC 的最小实现并用对偶/控制变量加速,知道 Crank-Nicolson 为何是 FD 的生产默认,并理解 Carr-Madan 恒等式如何用一次 FFT 出整条 strike 链。前三课覆盖了整个股票期权(含 vol 衍生品)世界的产品 → 交易 → 实现这条链。下一课转去看另外三个本质不同的衍生品资产类别:利率(vanilla 互换、caps/floors、swaptions——CN 在 FR007 IRS 与国债期货 CFFEX 上的实务)、信用(CDS、CRMW、信用利差)与结构化产品(再次回到雪球,但这次把它跟下面要讲的零息债 + 数字票息 + 短下敲入 put 的拆解对齐)。三引擎全部适用——只是产品换了。