量化交易中文教材

第 06 章 连续时间模型及其应用

本章对应 Tsay 原书第 6 章。期权定价、希腊字母、波动率曲面等衍生品主题在第 08 册(Hull)有系统论述;本章侧重统计视角:布朗运动与 Itô 引理是什么、几何布朗运动的参数如何从离散数据中估计、估计误差有多大、跳跃扩散如何解释收益的厚尾与波动率微笑,以及从离散样本估计扩散方程的方法概览。

学习目标

  1. 理解维纳过程的定义、增量性质和路径不可微性,能用 Donsker 定理模拟布朗运动。
  2. 掌握 Itô 引理的来源 \((dw_t)^2=dt\),会用它推导 \(d\ln P_t\)、\(dw_t^2\) 等随机微分,以及 \(\int_0^t w_s\,dw_s=\frac12(w_t^2-t)\)。
  3. 会从等间隔价格样本估计几何布朗运动的 \(\mu\) 和 \(\sigma\),并理解"波动率可估、期望收益难估"的统计结论。
  4. 能复述 Black–Scholes 偏微分方程的对冲推导和风险中性定价公式,会计算欧式期权价格、买卖权平价和无套利下界。
  5. 理解 Kou 双指数跳跃扩散模型的构造、收益分布性质和风险中性漂移修正,知道它为什么能产生波动率偏斜。
  6. 了解从离散数据估计连续时间模型的五类方法。

读前导读

这一章在解决什么问题

CFA 一级、二级教你用单步二叉树给期权定价:构造一个「股票 + 借款」的组合复制期权,无套利下期权价格等于复制成本,而且答案与股票真实上涨概率无关。Black–Scholes 是把这个二叉树的时间步无限切细后的极限。这一章讲的就是这个极限过程需要的数学:价格在连续时间里怎么随机变动(布朗运动),以及随机变量的函数怎么求「导数」(Itô 引理)。

最好的入口是你已经熟悉的久期和凸性。债券价格变化 \(\Delta P\approx P'\Delta y+\frac12P''(\Delta y)^2\),第一项是久期,第二项是凸性。在普通微积分里,\(\Delta y\to0\) 时 \((\Delta y)^2\) 比 \(\Delta y\) 小得多,可以扔掉。但如果利率是随机游走,\(\Delta y\) 的量级是 \(\sqrt{\Delta t}\),\((\Delta y)^2\) 的量级就是 \(\Delta t\),和时间项同阶,扔不掉。Itô 引理的全部内容就是「凸性项在随机世界里永远留着」。这也是期权 gamma 收益和「波动拖累」的来源。

本章另一个重要结论对资产配置很关键:波动率可以估得很准,期望收益几乎估不准。这直接解释了为什么均值–方差优化对预期收益输入如此敏感、为什么需要 Black–Litterman 这类方法。

需要先想起来的数学

1. 导数、偏导数与二阶泰勒展开。 单变量 \(\Delta G\approx G'\Delta x+\frac12G''(\Delta x)^2\);两个变量 \(G(x,t)\) 时,对 \(x\) 求偏导 \(\partial G/\partial x\) 就是把 \(t\) 当常数对 \(x\) 求导。例:\(G=x^2t\),\(\partial G/\partial x=2xt\),\(\partial G/\partial t=x^2\),\(\partial^2G/\partial x^2=2t\)。常用导数:\((\ln x)'=1/x\),\((\ln x)''=-1/x^2\),\((e^x)'=e^x\)。见 第 00 册第 02 章 导数与泰勒展开 和 第 00 册第 05 章 多元微积分与优化。

2. 对数正态分布的期望。 若 \(X\sim N(m,s^2)\),则 \(E(e^X)=e^{m+s^2/2}\),不是 \(e^m\)。例:\(m=0\),\(s=0.4\),\(E(e^X)=e^{0.08}\approx1.083\)。这是 GBM 中 \(\mu\) 与 \(\mu-\sigma^2/2\) 区别的根源。

3. 定积分与配方。 期望写成积分 \(E[g(X)]=\int g(x)f(x)dx\);求 \(\int_a^\infty e^xf(x)dx\) 时要把指数部分「配成完全平方」,变成另一个正态密度。见 第 00 册第 03 章 积分。

4. 泊松分布。 单位时间平均发生 \(\lambda\) 次的稀有事件,\(t\) 时间内发生 \(m\) 次的概率 \(\frac{(\lambda t)^m}{m!}e^{-\lambda t}\)。例:\(\lambda=10\)/年,3 个月内一次都不跳的概率 \(e^{-2.5}\approx8.2\%\)。信用风险中的违约强度模型用的就是它。

5. 小 o 记号。 \(o(\Delta t)\) 表示「比 \(\Delta t\) 更快趋于零的量」,即 \(o(\Delta t)/\Delta t\to0\)。例:\((\Delta t)^2\) 和 \((\Delta t)^{3/2}\) 都是 \(o(\Delta t)\),但 \(\sqrt{\Delta t}\) 不是。见 第 00 册第 07 章 概率中的分析工具。

怎么读这一章

核心必读:6.2.1(维纳过程的定义和 \(\sqrt t\) 缩放)、6.3.1–6.3.2(Itô 引理和 GBM,本章的心脏)、6.4.2(参数估计与「期望收益难估」)、6.5(BS 方程的对冲推导)、6.6.1 的公式和两种解读。第一次可以跳过或只看结论的:6.2.1 的「正式定义」段落、6.3.3 多维 Itô 引理、6.6.1 中配方推导的细节、6.7.4 的级数解析解、6.8 估计方法综述。期权的比较静态(6.6.3)和下界(6.6.2)你在 CFA 中已经学过,可以快速浏览。建议顺序:6.2 → 6.3.1 → 6.3.2 → 6.4 → 6.5 → 6.6 → 6.3.4 → 6.7,最后读量化实战的 delta 对冲模拟。


6.1 为什么需要连续时间模型

资产价格随时间演化形成一个随机过程(stochastic process),我们看到的价格序列是它的一个实现。前几章的模型都是离散时间的:价格只在日收盘等离散时点定义。连续时间模型则假设价格在每一刻都有定义并连续变化,只是我们只在离散时点观测到它。两类过程中价格本身又可以是连续或离散的取值——第 05 章的逐笔价格变化就是离散时间、离散取值的过程。

连续时间框架有两大用处。第一,期权等衍生品的定价需要在任意时刻对冲,连续时间的随机微积分给出了干净的解析结果(Black–Scholes 公式)。第二,许多利率和波动率模型是用随机微分方程写成的,要从离散数据中估计它们,必须理解连续过程与其离散样本的关系。

期权术语(详见第 08 册)。股票期权赋予持有人在某日期之前以指定价格买卖股票的权利。看涨期权(call)是买入权,看跌期权(put)是卖出权;指定价格称行权价(strike)\(K\),日期称到期日(expiration)。欧式期权只能在到期日行权,美式期权到期前任何时刻都可行权。记股价为 \(P\):call 在 \(P>K\) 时为实值(in-the-money)、\(P=K\) 为平值、\(P<K\) 为虚值;put 相反。


6.2 维纳过程与 Itô 过程

6.2.1 维纳过程

离散时间模型中的冲击是白噪声;连续时间中的对应物是维纳过程(Wiener process,即标准布朗运动)的增量。\(\{w_t\}\) 是维纳过程,若:

  1. \(\Delta w_t=w_{t+\Delta t}-w_t=\epsilon\sqrt{\Delta t}\),\(\epsilon\sim N(0,1)\);
  2. \(\Delta w_t\) 与 \(\{w_j\}_{j\le t}\) 独立。

第 2 条蕴含马尔可夫性,任意两个不重叠区间上的增量独立——金融上对应弱式有效市场。取 \(w_0=0\),把 \([0,t]\) 分成 \(T=t/\Delta t\) 段:\(w_t=\sum_{i=1}^{T}\epsilon_i\sqrt{\Delta t}\),于是

\[E(w_t)=0,\qquad \operatorname{Var}(w_t)=T\Delta t=t,\qquad w_t\sim N(0,t).\]

方差随时间线性增长,标准差按 \(\sqrt t\) 增长——这正是"波动率按时间平方根缩放"的来源。

Donsker 定理给出模拟方法:\(\{z_i\}\) iid \(N(0,1)\),\(w_{n,t}=\frac{1}{\sqrt n}\sum_{i=1}^{[nt]}z_i\),\(t\in[0,1]\),则 \(n\to\infty\) 时 \(w_{n,t}\) 依分布收敛到维纳过程。代码就是一行 w = np.cumsum(rng.standard_normal(n)) / np.sqrt(n)。

正式定义:布朗运动是 \(t\ge0\) 上的实值过程,满足 (1) 路径几乎必然连续;(2) 增量独立;(3) 增量平稳(\(w_t-w_s\) 与 \(w_{t-s}-w_0\) 同分布)。由此可证增量服从正态分布,任意有限维分布是多元正态。

路径不可微:布朗运动路径几乎处处连续但几乎处处不可微。直观看,\(\Delta w/\Delta t\sim N(0,1/\Delta t)\),\(\Delta t\to0\) 时方差爆炸。所以含 \(dw_t\) 的积分不能用普通微积分处理,需要 Itô 微积分。

白话解释:「几乎必然」「几乎处处」的意思是「除了概率为零的例外情况,总是成立」,实际使用中可当作「一定」。不可微的含义可以这样体会:把一段日内价格图不断放大,普通光滑曲线放大后会越来越像直线(这就是「可导」),而布朗运动放大后依然锯齿状,因为在 \(\Delta t\) 时间内的变动量级是 \(\sqrt{\Delta t}\),比 \(\Delta t\) 大得多。例如 \(\Delta t=0.0001\) 时 \(\sqrt{\Delta t}=0.01\),「速度」\(\Delta w/\Delta t\) 的典型大小是 100;\(\Delta t\) 再缩小 100 倍,速度变成 1000。「瞬时速度」不存在,所以 \(dw_t/dt\) 没有意义,只能写 \(dw_t\)。

6.2.2 广义维纳过程与 Itô 过程

漂移率 \(\mu\)、方差率 \(\sigma^2\) 的广义维纳过程:

\[dx_t=\mu\,dt+\sigma\,dw_t,\tag{6.1}\]

\(x_t-x_0\sim N(\mu t,\sigma^2t)\)。\(\mu\)、\(\sigma\) 分别称漂移(drift)和波动率(volatility)参数。

让漂移和波动率依赖于状态和时间,得到 Itô 过程(随机扩散方程):

\[dx_t=\mu(x_t,t)\,dt+\sigma(x_t,t)\,dw_t,\tag{6.2}\]

等价的积分形式为 \(x_t=x_0+\int_0^t\mu(x_s,s)ds+\int_0^t\sigma(x_s,s)dw_s\)。\(\mu(\cdot)\) 称漂移函数,\(\sigma(\cdot)\) 称扩散函数。第 04a 章例 4.6 用非参数方法估计的正是短期利率的漂移函数和扩散函数。


6.3 Itô 引理

6.3.1 从 Taylor 展开出发

对普通可微函数 \(G(x)\),\(\Delta G=G'\Delta x+\frac12G''(\Delta x)^2+\cdots\),取极限时二阶及以上项都是高阶小量,\(dG=G'dx\)。

现在设 \(x_t\) 是 Itô 过程,\(G(x_t,t)\) 可微。二元 Taylor 展开:

\[\Delta G=\frac{\partial G}{\partial x}\Delta x+\frac{\partial G}{\partial t}\Delta t+\frac12\frac{\partial^2G}{\partial x^2}(\Delta x)^2+\frac{\partial^2G}{\partial x\partial t}\Delta x\Delta t+\frac12\frac{\partial^2G}{\partial t^2}(\Delta t)^2+\cdots\tag{6.3}\]

离散化 \(\Delta x=\mu\Delta t+\sigma\epsilon\sqrt{\Delta t}\),则

\[(\Delta x)^2=\sigma^2\epsilon^2\Delta t+\mu^2(\Delta t)^2+2\mu\sigma\epsilon(\Delta t)^{3/2}=\sigma^2\epsilon^2\Delta t+o(\Delta t).\tag{6.5}\]

关键在于 \((\Delta x)^2\) 含有 \(\Delta t\) 阶的项,不能忽略。而且 \(\sigma^2\epsilon^2\Delta t\) 的均值是 \(\sigma^2\Delta t\),方差是 \(2\sigma^4(\Delta t)^2\)(用 \(E\epsilon^4=3\)),方差是更高阶的小量——所以它在极限下收敛到非随机的 \(\sigma^2dt\):

\[(dx_t)^2=\sigma^2\,dt,\qquad\text{特别地}\quad (dw_t)^2=dt,\quad dw_t\,dt=0,\quad (dt)^2=0.\]

推导拆解:「\((dw_t)^2=dt\)」的确切含义是平方增量的累积和收敛到时间长度。把 \([0,1]\) 切成 \(n\) 段,每段增量 \(\Delta w_i=\epsilon_i/\sqrt n\),平方和 \(Q_n=\sum_{i=1}^n\Delta w_i^2=\frac1n\sum\epsilon_i^2\)。 均值:\(E(Q_n)=\frac1n\cdot n\cdot1=1\),用了 \(E\epsilon^2=1\)。 方差:\(\operatorname{Var}(Q_n)=\frac1{n^2}\cdot n\cdot\operatorname{Var}(\epsilon^2)=\frac{2}{n}\),用了 \(\operatorname{Var}(\epsilon^2)=E\epsilon^4-1=2\)。 \(n\to\infty\) 时方差趋于 0,\(Q_n\) 收敛到确定的数 1。每一个 \(\Delta w_i^2\) 都是随机的,但成千上万个加起来,随机性相互抵消(大数定律),只剩下均值。所以在积分(求和)的意义下,可以把 \((dw)^2\) 直接替换成 \(dt\)。而 \(dw\,dt\) 的量级是 \((\Delta t)^{3/2}\),\((dt)^2\) 是 \((\Delta t)^2\),累加 \(n\) 次后仍趋于 0,所以都记为 0。

金融直觉:这就是已实现方差的理论基础:日内收益平方和是当天积分方差的估计,采样越密越准(在没有第 05 章微观结构噪声的理想情况下)。

代入 (6.3) 得到

Itô 引理:若 \(dx_t=\mu(x_t,t)dt+\sigma(x_t,t)dw_t\),则

\[dG=\Big[\frac{\partial G}{\partial x}\mu+\frac{\partial G}{\partial t}+\frac12\frac{\partial^2G}{\partial x^2}\sigma^2\Big]dt+\frac{\partial G}{\partial x}\sigma\,dw_t.\tag{6.6}\]

与普通链式法则相比,多出的就是二阶修正项 \(\frac12G_{xx}\sigma^2dt\)。

金融直觉:拿债券对照。债券价格 \(B(y)\) 对收益率的二阶近似是 \(\Delta B\approx B'\Delta y+\frac12B''(\Delta y)^2\),即「久期项 + 凸性项」。若收益率随机波动、\(\operatorname{Var}(\Delta y)=\sigma^2\Delta t\),则凸性项的期望 \(\frac12B''\sigma^2\Delta t\) 与时间同阶,不能忽略。这就是为什么「凸性有价值」:在收益率波动的环境中,凸性高的债券平均多赚 \(\frac12B''\sigma^2\) 每单位时间。Itô 引理中的 \(\frac12G_{xx}\sigma^2\) 是同一个东西,换到期权上就是 gamma 项 \(\frac12\Gamma\sigma^2P^2\):持有正 gamma 的期权多头,只要价格在动,就能从凸性中获利,这份收益正好由 theta(时间价值损耗)来支付。

推导拆解:把 (6.3) 的每一项按量级归类。\(\Delta x\) 含 \(\sqrt{\Delta t}\) 阶项,保留;\(\Delta t\) 保留;\((\Delta x)^2\to\sigma^2dt\),保留;\(\Delta x\Delta t\) 是 \((\Delta t)^{3/2}\) 阶,丢掉;\((\Delta t)^2\) 丢掉。剩下 \(dG=G_xdx+G_tdt+\frac12G_{xx}\sigma^2dt\),再把 \(dx=\mu dt+\sigma dw\) 代入第一项并按 \(dt\)、\(dw\) 合并,就是 (6.6)。

例 6.1:\(G=w_t^2\),\(\mu=0\)、\(\sigma=1\),\(G_w=2w_t\),\(G_{ww}=2\):

\[d(w_t^2)=dt+2w_t\,dw_t.\tag{6.7}\]

6.3.2 几何布朗运动

股价常假设服从几何布朗运动(geometric Brownian motion,GBM):

\[dP_t=\mu P_t\,dt+\sigma P_t\,dw_t.\tag{6.8}\]

对 \(G=\ln P_t\):\(G_P=1/P_t\),\(G_{PP}=-1/P_t^2\),\(G_t=0\),由 Itô 引理

\[d\ln P_t=\Big(\mu-\frac{\sigma^2}{2}\Big)dt+\sigma\,dw_t.\]

对数价格是漂移为 \(\mu-\sigma^2/2\) 的广义维纳过程。\(\mu\) 是简单收益的期望增长率,而对数收益的期望增长率要减去 \(\sigma^2/2\)——这就是算术平均收益与几何平均收益之差("波动拖累",volatility drag)的连续时间版本。

推导拆解:代入 (6.6),其中 \(x\) 换成 \(P\),漂移函数是 \(\mu P\),扩散函数是 \(\sigma P\)。 \(dt\) 项:\(G_P\cdot\mu P+G_t+\frac12G_{PP}\cdot\sigma^2P^2=\frac1P\mu P+0-\frac12\frac1{P^2}\sigma^2P^2=\mu-\frac{\sigma^2}2\)。 \(dw\) 项:\(G_P\cdot\sigma P=\sigma\)。 修正项为负,因为 \(\ln\) 是凹函数(\(G_{PP}<0\)),由 Jensen 不等式,波动会拉低对数的期望。

金融直觉:CFA 里讲过「算术平均 ≈ 几何平均 + 方差/2」。数值例子:\(\mu=10\%\),\(\sigma=30\%\),对数收益的年均增长率只有 \(10\%-4.5\%=5.5\%\)。一只股票一年涨 50%、下一年跌 50%,算术平均 0%,实际财富却变成 75%。这也是杠杆 ETF 长期持有会损耗的原因:杠杆把 \(\sigma\) 放大 \(L\) 倍,拖累放大 \(L^2\) 倍。

6.3.3 多维 Itô 引理

设 \(dx_{it}=\mu_i(\boldsymbol x_t)dt+\sigma_i(\boldsymbol x_t)dw_{it}\),\(i=1,\dots,k\),\(dw_{it}\) 与 \(dw_{jt}\) 的相关系数为 \(\rho_{ij}\)。类似地 \((\Delta x_{it})^2\to\sigma_i^2dt\),\(\Delta x_{it}\Delta x_{jt}\to\sigma_i\sigma_j\rho_{ij}dt\),于是

\[dG=\Big[\sum_i\frac{\partial G}{\partial x_i}\mu_i+\frac{\partial G}{\partial t}+\frac12\sum_i\sum_j\frac{\partial^2G}{\partial x_i\partial x_j}\sigma_i\sigma_j\rho_{ij}\Big]dt+\sum_i\frac{\partial G}{\partial x_i}\sigma_i\,dw_{it}.\tag{6.24}\]

(原书离散化式中把 \(\Delta x_{it}\) 误印为 \(\Delta w_{it}\)。)这用于多资产衍生品(如价差期权)和多因子利率模型。

6.3.4 随机积分

积分是微分的逆:\(\int_0^tdw_s=w_t\)。对 (6.7) 两边积分,\(w_t^2=t+2\int_0^tw_s\,dw_s\),所以

\[\int_0^tw_s\,dw_s=\frac12\big(w_t^2-t\big).\]

与确定性积分 \(\int_0^ty\,dy=\frac12y_t^2\) 相比,多出 \(-t/2\),正是 Itô 修正。

白话解释:Itô 积分 \(\int_0^tw_s\,dw_s\) 定义为和式 \(\sum w_{t_{i-1}}(w_{t_i}-w_{t_{i-1}})\) 的极限,被积函数取区间左端点。金融含义是:你在 \(t_{i-1}\) 时决定持仓 \(w_{t_{i-1}}\),然后承受下一段的价格变动,不能用未来信息调仓。由于持仓与随后的增量独立,每一项期望为零,所以 \(E\int w\,dw=0\)。检验:\(E[\frac12(w_t^2-t)]=\frac12(t-t)=0\),一致;若没有 \(-t/2\),期望就变成 \(t/2\),等于说「不偷看未来也能稳赚」,这不可能。同理,对 GBM 积分 \(d\ln P_t\) 得到显式解

\[P_t=P_0\exp\Big[\Big(\mu-\frac{\sigma^2}{2}\Big)t+\sigma w_t\Big].\tag{6.25}\]

6.4 GBM 的统计性质与参数估计

6.4.1 价格与对数收益的分布

由 (6.25),

\[\ln P_T-\ln P_t\sim N\Big[\Big(\mu-\frac{\sigma^2}{2}\Big)(T-t),\ \sigma^2(T-t)\Big],\tag{6.9}\]

\(P_T\) 服从对数正态分布,由对数正态的矩公式

\[E(P_T)=P_te^{\mu(T-t)},\qquad \operatorname{Var}(P_T)=P_t^2e^{2\mu(T-t)}\big[e^{\sigma^2(T-t)}-1\big].\]

\(E(P_T)=P_te^{\mu(T-t)}\) 证实了 \(\mu\) 是期望收益率。

推导拆解:记 \(\tau=T-t\),\(X=\ln(P_T/P_t)\sim N(m,s^2)\),\(m=(\mu-\sigma^2/2)\tau\),\(s^2=\sigma^2\tau\)。 第一步:正态的矩母函数 \(E(e^{uX})=e^{um+u^2s^2/2}\)。 第二步:取 \(u=1\),\(E(P_T)=P_tE(e^X)=P_te^{m+s^2/2}=P_te^{(\mu-\sigma^2/2)\tau+\sigma^2\tau/2}=P_te^{\mu\tau}\)。两个 \(\sigma^2/2\) 恰好抵消。 第三步:取 \(u=2\),\(E(P_T^2)=P_t^2e^{2m+2s^2}\),所以 \(\operatorname{Var}(P_T)=P_t^2(e^{2m+2s^2}-e^{2m+s^2})=P_t^2e^{2\mu\tau}(e^{\sigma^2\tau}-1)\)。

例:\(P_t=50\),\(\mu=15\%\),\(\sigma=40\%\),6 个月后 \(E(P_T)=50e^{0.075}=53.89\),\(\operatorname{Var}(P_T)=2500e^{0.15}(e^{0.08}-1)=241.92\),标准差 15.55。

\(T-t\) 期间的年化连续复利收益率 \(r=\frac{1}{T-t}\ln\frac{P_T}{P_t}\sim N\big(\mu-\frac{\sigma^2}{2},\frac{\sigma^2}{T-t}\big)\)。例:\(\mu=15\%\)、\(\sigma=10\%\)、2 年期,均值 \(14.5\%\),标准差 \(0.1/\sqrt2=7.1\%\),95% 区间约为 (0.6%, 28.4%)——两年的实现收益有很大不确定性。

6.4.2 估计 \(\mu\) 与 \(\sigma\)

设有 \(n+1\) 个等间隔价格,间隔 \(\Delta\)(以年计),对数收益 \(r_t=\ln P_t-\ln P_{t-1}\) 在 GBM 下 iid \(N(\mu_r,\sigma_r^2)\),其中 \(\mu_r=(\mu-\sigma^2/2)\Delta\),\(\sigma_r^2=\sigma^2\Delta\)。用样本均值 \(\bar r\) 和样本标准差 \(s_r\) 代入反解:

\[\hat\sigma=\frac{s_r}{\sqrt\Delta},\qquad \hat\mu=\frac{\bar r}{\Delta}+\frac{\hat\sigma^2}{2}=\frac{\bar r}{\Delta}+\frac{s_r^2}{2\Delta}.\]

(精读笔记记录原书印作 \(\hat\mu=\bar r/\Delta+s_r^2/2\),按量纲应为 \(s_r^2/(2\Delta)\),此处已更正。)

两个参数的估计精度天差地别。 \(\hat\sigma\) 的标准误约为 \(\hat\sigma/\sqrt{2n}\),只取决于观测个数 \(n\)——用日数据甚至更高频的数据,几年就能把 \(\sigma\) 估得很准。而 \(\bar r/\Delta\) 的标准误为 \(\frac{s_r/\sqrt n}{\Delta}=\frac{\sigma}{\sqrt{n\Delta}}=\frac{\sigma}{\sqrt{\text{年数}}}\),只取决于总时间跨度,与采样频率无关。年化波动 30% 的股票,用 1 年数据估计 \(\mu\) 的标准误是 30%,用 25 年数据也还有 6%。这是金融计量中最重要的结论之一:波动率可估,期望收益几乎不可估。

推导拆解:为什么均值估计与采样频率无关?关键在于对数收益可以「伸缩相消」:

\[\bar r=\frac1n\sum_{t=1}^n(\ln P_t-\ln P_{t-1})=\frac{\ln P_n-\ln P_0}{n}.\]
所以 \(\bar r/\Delta=\frac{\ln P_n-\ln P_0}{n\Delta}\),只用到首尾两个价格和总时长 \(n\Delta\)。中间采样多密都不提供额外信息。它的方差为 \(\frac{\sigma^2 n\Delta}{(n\Delta)^2}=\frac{\sigma^2}{n\Delta}\),标准误 \(\sigma/\sqrt{\text{年数}}\)。 方差估计则不同:每个 \(r_t^2\) 都提供一份关于 \(\sigma^2\Delta\) 的独立信息,正态样本方差的相对标准误约 \(\sqrt{2/n}\),所以 \(\hat\sigma\) 的相对标准误约 \(1/\sqrt{2n}\)(用了「\(\hat\sigma=\sqrt{\hat\sigma^2}\),相对误差减半」的一阶近似)。\(n\) 由采样频率决定,日数据一年就有 252 个。

金融直觉:想要把一个年化波动 20% 的资产的期望收益估到 ±2%(一个标准误),需要 \((0.2/0.02)^2=100\) 年数据。这就是为什么均值–方差优化中把历史平均收益直接当作输入会产生极端权重,而用历史协方差则相对安全。

例 6.2(IBM 1998 年日对数收益,252 个观测)。 \(Q(10)=4.9\),无序列相关。\(\bar r=0.002276\),\(s_r=0.01915\),\(\Delta=1/252\):

\[\hat\sigma=0.01915\sqrt{252}=0.3040,\qquad \hat\mu=0.002276\times252+\frac{0.3040^2}{2}=0.5736+0.0462=0.6198,\]

即年化期望收益 62%、年化波动 30.4%。\(\hat\mu\) 的标准误约 30%,这个"62%"几乎没有统计意义。另外偏度 −0.464、超额峰度 2.396 显著,正态假设本身也存疑。

例 6.3(Cisco 2007 年,251 个观测)。 \(\bar r=-3.81\times10^{-5}\),\(s_r=0.0174\),\(\hat\sigma=0.0174\sqrt{251}=0.275\)。原书给出 \(\hat\mu=-0.0094\),这个数实际上是 \(\bar r/\Delta=-0.0096\)(即对数收益的年化均值 \(\mu-\sigma^2/2\))加上 \(s_r^2/2\) 的结果——正是上面那个印错的公式。按正确公式,\(\hat\mu=-0.0096+0.275^2/2\approx0.028\)。两者的差 \(\sigma^2/2\approx3.8\%\) 远小于 \(\hat\mu\) 本身约 27.5% 的标准误,所以无论哪个数都只能说明"无法判断 Cisco 当年的期望收益"。

当收益序列相关或价格不服从 GBM 时,需要 6.8 节的方法。


6.5 Black–Scholes 微分方程

6.5.1 对冲推导

设 \(P_t\) 服从 GBM,\(G_t=G(P_t,t)\) 是依附于 \(P_t\) 的衍生品价格。由 Itô 引理,

\[dG_t=\Big(\frac{\partial G}{\partial P}\mu P_t+\frac{\partial G}{\partial t}+\frac12\frac{\partial^2G}{\partial P^2}\sigma^2P_t^2\Big)dt+\frac{\partial G}{\partial P}\sigma P_t\,dw_t.\]

股票和衍生品受同一个维纳过程驱动,因此可以构造一个把随机项消掉的组合:卖出 1 份衍生品,买入 \(\partial G/\partial P\) 股股票,

\[V_t=-G_t+\frac{\partial G}{\partial P}P_t,\tag{6.13}\]

在一小段时间内(持股数视为不变)

\[\Delta V_t=-\Delta G_t+\frac{\partial G}{\partial P}\Delta P_t=\Big(-\frac{\partial G}{\partial t}-\frac12\frac{\partial^2G}{\partial P^2}\sigma^2P_t^2\Big)\Delta t.\tag{6.15}\]

\(\mu\) 项和 \(dw_t\) 项都被抵消了。这个组合在 \(\Delta t\) 内无风险,根据无套利原理必须获得无风险利率:\(\Delta V_t=rV_t\Delta t\)。联立得 Black–Scholes 偏微分方程:

\[\frac{\partial G}{\partial t}+rP_t\frac{\partial G}{\partial P}+\frac12\sigma^2P_t^2\frac{\partial^2G}{\partial P^2}=rG_t.\tag{6.17}\]

不同衍生品对应不同的边界条件:欧式看涨 \(G_T=\max(P_T-K,0)\),欧式看跌 \(G_T=\max(K-P_T,0)\)。

金融直觉:这和 CFA 单步二叉树的逻辑完全相同。二叉树中你选择对冲比率 \(h=\frac{c_u-c_d}{S_u-S_d}\),使「持有 \(h\) 股股票、卖出 1 份期权」在上涨和下跌两种状态下价值相同,从而无风险、必须赚无风险利率。连续时间中 \(h\) 变成 \(\partial G/\partial P\)(delta),「两种状态」变成「任意小的随机变动」,由于 \(dG\) 和 \(dP\) 中的 \(dw_t\) 项系数之比恰好是 \(\partial G/\partial P\),选这个持股数就能把 \(dw_t\) 消掉。区别在于:二叉树一步就够,连续时间需要随着 \(P\) 和 \(t\) 变化不断调整 delta,这就是 6.5.1 中「持股数视为不变」只能在一小段时间内成立的原因,也是量化实战中离散对冲误差的来源。

推导拆解:从 \(\Delta V_t=rV_t\Delta t\) 到 (6.17):左边是 \((-G_t-\frac12G_{PP}\sigma^2P^2)\Delta t\),右边是 \(r(-G+G_PP)\Delta t\)。约去 \(\Delta t\),把所有项移到一边:\(G_t+\frac12\sigma^2P^2G_{PP}+rPG_P-rG=0\)。

例 6.4(无股息股票的远期合约):\(G_t=P_t-Ke^{-r(T-t)}\)。\(G_t'=-rKe^{-r(T-t)}\),\(G_P=1\),\(G_{PP}=0\);代入左边得 \(-rKe^{-r(T-t)}+rP_t=rG_t\),满足方程。

6.5.2 风险中性

BS 方程中没有 \(\mu\)。这意味着衍生品价格与投资者的风险偏好无关,因此可以假设投资者风险中性来计算价格:在风险中性世界里,所有资产的期望收益都等于无风险利率 \(r\),任何现金流的现值等于其期望按 \(r\) 贴现。

从统计角度看,这一点非常重要:期权定价只需要 \(\sigma\),不需要 \(\mu\)——而上一节刚说过,\(\sigma\) 可以估得很准,\(\mu\) 几乎不可估。正因如此,期权定价理论在实践中可行。


6.6 Black–Scholes 公式

6.6.1 公式与推导

欧式看涨期权的价格是风险中性期望的折现:

\[c_t=e^{-r(T-t)}E^*\big[\max(P_T-K,0)\big],\qquad \ln P_T\sim N\big[\ln P_t+(r-\sigma^2/2)(T-t),\ \sigma^2(T-t)\big].\tag{6.18}\]

令 \(x=\ln P_T\),其密度为 \(f(x)\),

\[c_t=e^{-r(T-t)}\Big[\int_{\ln K}^{\infty}e^xf(x)\,dx-K\int_{\ln K}^{\infty}f(x)\,dx\Big].\tag{6.36}\]

第二个积分是风险中性下 \(P_T>K\) 的概率 \(\Phi(h_-)\)。第一个积分通过配方:

\[x-\frac{\{x-[\ln P_t+(r-\sigma^2/2)\tau]\}^2}{2\sigma^2\tau}=-\frac{\{x-[\ln P_t+(r+\sigma^2/2)\tau]\}^2}{2\sigma^2\tau}+\ln P_t+r\tau,\]

(\(\tau=T-t\))于是它等于 \(P_te^{r\tau}\Phi(h_+)\)——均值移动了 \(\sigma^2\tau\) 的正态分布的尾概率。

推导拆解:记 \(m=\ln P_t+(r-\sigma^2/2)\tau\),\(s^2=\sigma^2\tau\),\(f(x)=\frac{1}{s\sqrt{2\pi}}e^{-(x-m)^2/(2s^2)}\)。 第一个积分的被积函数是 \(e^x f(x)\),指数部分为 \(x-\frac{(x-m)^2}{2s^2}\)。配方:\(x-\frac{(x-m)^2}{2s^2}=-\frac{(x-m-s^2)^2}{2s^2}+m+\frac{s^2}{2}\)(展开右边即可验证)。 而 \(m+s^2/2=\ln P_t+r\tau\),所以 \(e^xf(x)=P_te^{r\tau}\cdot\tilde f(x)\),其中 \(\tilde f\) 是均值为 \(m+s^2\)、方差 \(s^2\) 的正态密度。 于是第一个积分 \(=P_te^{r\tau}\tilde P(X>\ln K)=P_te^{r\tau}\Phi\big(\frac{m+s^2-\ln K}{s}\big)=P_te^{r\tau}\Phi(h_+)\)。 第二个积分 \(=P(X>\ln K)=\Phi\big(\frac{m-\ln K}{s}\big)=\Phi(h_-)\),用了 \(P(X>a)=\Phi\big(\frac{m-a}{s}\big)\)。 乘以 \(e^{-r\tau}\) 后得 (6.19)。\(h_+\) 与 \(h_-\) 相差 \(s=\sigma\sqrt\tau\),正是配方时均值移动的 \(s^2\) 除以标准差 \(s\)。

合并得到

\[c_t=P_t\Phi(h_+)-Ke^{-r(T-t)}\Phi(h_-),\tag{6.19}\]
\[h_+=\frac{\ln(P_t/K)+(r+\sigma^2/2)(T-t)}{\sigma\sqrt{T-t}},\qquad h_-=h_+-\sigma\sqrt{T-t}.\]

两种解读:

  • 概率解读:\(Ke^{-r\tau}\Phi(h_-)\) 是"仅当 \(P_T>K\) 时支付行权价"的现值,\(\Phi(h_-)\) 是风险中性下到期实值的概率;\(P_t\Phi(h_+)\) 是"仅当 \(P_T>K\) 时收到股票"的现值。
  • 复制组合解读:\(\Phi(h_+)=\partial c/\partial P\) 正是 6.5 节无风险组合中的持股数,即 delta。看涨期权等价于持有 \(\Phi(h_+)\) 股股票并借入 \(Ke^{-r\tau}\Phi(h_-)\) 的现金。

欧式看跌:

\[p_t=Ke^{-r(T-t)}\Phi(-h_-)-P_t\Phi(-h_+).\tag{6.20}\]

买卖权平价(put–call parity):\(p_t-c_t=Ke^{-r(T-t)}-P_t\)。直接证明:组合 A = 1 份 call + 现金 \(Ke^{-r\tau}\);组合 B = 1 份 put + 1 股股票。两者到期价值都是 \(\max(P_T,K)\),欧式期权不能提前行权,所以今天价值必须相等。

例 6.5(深度虚值):\(P_t=80\),\(K=90\),\(T-t=0.25\),\(\sigma=0.2\),\(r=0.08\)。\(h_+=\frac{\ln(80/90)+0.10\times0.25}{0.1}=-0.9278\),\(h_-=-1.0278\),\(\Phi(h_+)=0.1767\),\(\Phi(h_-)=0.1520\)。

\[c_t=80\times0.1767-90e^{-0.02}\times0.1520=\$0.73,\qquad p_t=\$8.95.\]

call 的买方需要股价上涨 10.73 美元才能盈亏平衡;put 的买方在股价不超过 81.05 时都能盈亏平衡。

例 6.6(近平值):\(K=81\),其他不变。\(h_+=0.1258\),\(h_-=0.0258\),\(\Phi(h_+)=0.5500\),\(\Phi(h_-)=0.5103\),\(c_t=\$3.49\),\(p_t=\$2.89\)。

原书附录 B 给出了标准正态 CDF 的多项式近似:\(x\ge0\) 时 \(\Phi(x)\approx1-f(x)\sum_{i=1}^{5}c_ik^i\),\(k=1/(1+0.2316419x)\),\(c_1,\dots,c_5=0.319381530,\,-0.356563782,\,1.781477937,\,-1.821255978,\,1.330274429\),精度约 \(10^{-7}\)。今天直接调用 scipy.stats.norm.cdf 即可。

6.6.2 无套利下界

无股息股票的欧式期权满足

\[c_t\ge\max\big(P_t-Ke^{-r(T-t)},0\big),\qquad p_t\ge\max\big(Ke^{-r(T-t)}-P_t,0\big).\]

证明(call):组合 A(1 份 call + 现金 \(Ke^{-r\tau}\))到期价值 \(\max(P_T,K)\ge P_T\),即不少于组合 B(1 股股票),所以今天 \(c_t+Ke^{-r\tau}\ge P_t\);又 \(c_t\ge0\)。

例 6.7(违反下界的套利):\(P_t=30\),\(K=28\),\(r=6\%\),\(T-t=0.5\),下界 \(30-28e^{-0.03}=2.83\)。若 call 只卖 2.50:买入 call、卖空股票,得现金 27.50,存 6 个月变成 \(27.50e^{0.03}=28.34\)。到期若 \(P_T>28\),行权买股平仓,获利 0.34;若 \(P_T<28\),在市场买股平仓获利更多(如 \(P_T=27\) 时获利 1.34)。

6.6.3 五个变量的影响

期权价格取决于 \(P_t\)、\(K\)、\(T-t\)、\(\sigma\)、\(r\)。对看涨期权(其他变量固定):

  1. 股价:\(c_t\) 随 \(P_t\) 上升;\(P_t\to0\) 时 \(c_t\to0\),\(P_t\to\infty\) 时 \(c_t\to\infty\)。
  2. 行权价:\(c_t\) 随 \(K\) 下降;\(K\to0\) 时 \(c_t\to P_t\),\(K\to\infty\) 时 \(c_t\to0\)。
  3. 到期时间:把 \(h_\pm\) 写成 \(\frac{\ln(P_t/K)}{\sigma\sqrt\tau}+\frac{(r\pm\sigma^2/2)\sqrt\tau}{\sigma}\)。\(\tau\to0\) 时,虚值 call 趋于 0,实值 call 趋于 \(P_t-K\);\(\tau\to\infty\) 时 \(c_t\to P_t\)。
  4. 波动率:写成 \(\frac{\ln(P_t/K)+r\tau}{\sigma\sqrt\tau}\pm\frac{\sigma\sqrt\tau}{2}\)。\(\sigma\to0\) 时,若 \(\ln(P_t/K)+r\tau<0\) 则 \(c_t\to0\),否则 \(c_t\to P_t-Ke^{-r\tau}\);\(\sigma\to\infty\) 时 \(c_t\to P_t\)。
  5. 利率:\(c_t\) 随 \(r\) 上升,\(r\to\infty\) 时 \(c_t\to P_t\)。

看跌期权的结论可类似推导(练习)。联合效应:波动率高、行权价远低于现价时 call 价格高;波动率高、行权价远高于现价时 put 价格高。希腊字母与对冲实务见第 08 册。


6.7 跳跃扩散模型

6.7.1 动机

基于布朗运动的扩散模型有两个与数据不符之处:日收益尖峰厚尾(第 01、03a 章);期权市场的波动率微笑(volatility smile)——用 BS 公式反推的隐含波动率随行权价变化,实值和虚值期权的隐含波动率高于平值期权(外汇期权尤其明显,股票期权多表现为向左倾斜的偏斜)。常用的两种修正是跳跃扩散和随机波动率模型(Merton 1976;Duffie 1995)。

6.7.2 泊松过程

\(X_t\) 为 \([0,t]\) 内特殊事件发生的次数,若 \(\Pr(X_t=m)=\frac{(\lambda t)^m}{m!}e^{-\lambda t}\),则 \(\{X_t\}\) 是速率(强度)为 \(\lambda\) 的泊松过程。在长度为 \(\Delta t\) 的小区间内,发生一次事件的概率约 \(\lambda\Delta t\),发生两次及以上是 \(o(\Delta t)\)。

6.7.3 Kou (2002) 双指数跳跃扩散

\[\frac{dP_t}{P_t}=\mu\,dt+\sigma\,dw_t+d\Big(\sum_{i=1}^{n_t}(J_i-1)\Big),\tag{6.26}\]

\(n_t\) 是速率 \(\lambda\) 的泊松过程;第 \(i\) 次跳使价格乘以 \(J_i\)(变动比例 \(J_i-1\));\(X=\ln J\) 服从双指数(Laplace)分布

\[f_X(x)=\frac{1}{2\eta}e^{-|x-\kappa|/\eta},\qquad 0<\eta<1,\tag{6.27}\]

等价地 \(X-\kappa=\pm\xi\)(各占一半),\(\xi\) 为均值 \(\eta\) 的指数变量。性质:\(E(X)=\kappa\),\(\operatorname{Var}(X)=2\eta^2\),\(E(e^X)=\frac{e^\kappa}{1-\eta^2}\)。\(n_t\)、\(w_t\)、\(\{J_i\}\) 相互独立。

为什么选双指数?有限样本中它与 Student-t 很难区分,但解析上易于处理,且在均值附近比正态更集中(峰更高),契合收益直方图的形状;跳幅均值 \(\kappa<0\) 还能产生左偏。

解。 在两次跳之间价格按 GBM 演化,每次跳乘上 \(J_i\),递推可得

\[P_t=P_0\exp\Big[\Big(\mu-\frac{\sigma^2}{2}\Big)t+\sigma w_t\Big]\prod_{i=1}^{n_t}J_i.\tag{6.29}\]

小区间的收益。 用 \(e^x\approx1+x+x^2/2\)、\((\Delta w)^2\approx\Delta t\),并忽略区间内多次跳:

\[\frac{P_{t+\Delta t}-P_t}{P_t}\approx\mu\Delta t+\sigma\epsilon\sqrt{\Delta t}+I\times X,\tag{6.30}\]

\(I\) 为伯努利变量,\(\Pr(I=1)=\lambda\Delta t\)。这就是离散时间模拟方案,也是一个"正态 + 偶发 Laplace 跳"的混合分布,其均值和方差为

\[E(G)=(\mu+\kappa\lambda)\Delta t,\qquad \operatorname{Var}(G)=\sigma^2\Delta t+\lambda\Delta t\big[2\eta^2+\kappa^2(1-\lambda\Delta t)\big].\]

Kou 给出了它的闭式密度 (6.31)(含两个正态 CDF 项与一个正态密度项,见原书 6.9 节)。原书图 6.9 取 \(\mu=\sigma=20\%\)、\(\Delta t=1/252\)、\(\lambda=10\)、\(\kappa=-0.02\)、\(\eta=0.02\)(每年约 10 次跳,平均跳幅 −2%),与同均值同方差的正态分布相比,跳跃扩散分布峰更高、两尾更厚,且左尾更突出。

6.7.4 跳跃扩散下的期权定价

有跳时,一只股票加无风险资产无法完美对冲跳跃风险,市场不完备。若假设证券数量很多、跳跃风险可分散、市场不为它支付风险溢价,就可以构造风险中性测度:

\[\frac{dP_t}{P_t}=(r-\lambda\psi)\,dt+\sigma\,dw_t+d\Big(\sum_{i=1}^{n_t}(J_i-1)\Big),\qquad \psi=E(J)-1=\frac{e^\kappa}{1-\eta^2}-1.\]

漂移中减去 \(\lambda\psi\),是为了扣掉跳的平均贡献,使折现价格成为鞅(本章代码验证了这一点)。

推导拆解:风险中性要求 \(E^*(dP_t/P_t)=r\,dt\)。逐项求期望:\(E(\sigma dw_t)=0\);在 \(dt\) 内跳一次的概率为 \(\lambda dt\),跳时收益为 \(J-1\),所以跳跃项期望为 \(\lambda dt\cdot E(J-1)=\lambda\psi\,dt\)。因此漂移 \(a\) 必须满足 \(a+\lambda\psi=r\),即 \(a=r-\lambda\psi\)。 \(\psi\) 的计算:\(J=e^X\),\(X\) 是 Laplace\((\kappa,\eta)\),\(E(e^X)=e^\kappa\cdot\frac{1}{1-\eta^2}\)(Laplace 分布的矩母函数,要求 \(\eta<1\),这就是 (6.27) 中 \(0<\eta<1\) 的原因)。以例 6.8 的参数,\(\psi=e^{-0.02}/(1-0.0004)-1\approx-0.0194\),\(\lambda\psi\approx-0.194\):平均每年跳跃使价格下降约 19.4%,所以扩散部分的漂移要上调到 \(r+19.4\%\) 来补偿。「鞅」指未来期望值等于当前值的过程,即「公平游戏」:\(E^*(e^{-rT}P_T)=P_0\)。欧式看涨期权的价格是

\[c_t=E^*\Big[e^{-r\tau}\Big(P_t\exp\Big[\Big(r-\frac{\sigma^2}{2}-\lambda\psi\Big)\tau+\sigma\sqrt\tau\,\epsilon\Big]\prod_{i=1}^{n_\tau}J_i-K\Big)_+\Big].\tag{6.32}\]

Kou (2002) 给出了以泊松跳次数为权重的无穷级数解析解 (6.33),其中用到 \(Hh_n(x)=\frac{1}{n!}\int_x^\infty(s-x)^ne^{-s^2/2}ds\) 函数及其递推 \(nHh_n=Hh_{n-2}-xHh_{n-1}\);级数截断到前 10 项左右即可。\(\lambda=0\) 时退化为 BS 公式。看跌期权由平价关系得到。公式较长,实践中也可直接用蒙特卡洛按 (6.32) 计算(见量化实战)。

例 6.8:沿用例 6.6(\(P_t=80\),\(K=81\),\(r=0.08\),\(\tau=0.25\),\(\sigma=0.2\)),加入跳 \(\lambda=10\)、\(\kappa=-0.02\)、\(\eta=0.02\),得 \(c_t=\$3.92\)(无跳 3.49),\(p_t=\$3.31\)(无跳 2.89)。保持 \(\sigma\) 不变而加入跳,总波动上升,两种期权都变贵。实际应用中加入跳会改变 \(\sigma\) 的估计——总波动被拆分为扩散与跳跃两部分。


6.8 连续时间模型的估计

要从离散采样数据估计一般的扩散方程 \(dx_t=\mu(x_t,t)dt+\sigma(x_t,t)dw_t\),困难在于两次观测之间的转移密度一般没有闭式。原书只概述方法(另见 Lo 1988):

  1. 拟极大似然(QML):利用小区间内 \(dw_t\) 正态,用 Euler 离散化 \(x_{t+\Delta}-x_t\approx\mu(x_t)\Delta+\sigma(x_t)\sqrt\Delta\,\epsilon\) 的正态似然(Kessler 1997 给出了高阶修正);
  2. 矩方法:Conley, Hansen, Luttmer & Scheinkman (1997);
  3. 非参数方法:Aït-Sahalia (1996, 2002),第 04a 章例 4.6 的 lowess 估计是其朴素版本;
  4. 半参数与再投影(reprojection / EMM):Gallant & Long (1997),Gallant & Tauchen (1997);
  5. MCMC:Eraker (2001),Elerian, Chib & Shephard (2001)——在观测之间插入隐藏的"虚拟观测点",使 Euler 近似足够精确。

对 GBM,Euler 离散化是精确的(对数收益正好正态),所以 6.4.2 节的估计就是精确 MLE。对 Vasicek、CIR 这类短期利率模型,转移密度已知,也可以做精确 MLE;更复杂的模型才需要上述方法。


量化实战

应用场景

  1. 期权定价与做市:BS 公式和 delta 是期权报价、隐含波动率计算和对冲的起点;无套利下界和买卖权平价是期权数据清洗(剔除违反无套利的报价)和套利监控的标准检查。
  2. 对冲误差与调仓频率:BS 假设连续调仓,实际只能离散调仓。对冲误差的标准差大致与 \(1/\sqrt{\text{调仓次数}}\) 成正比,这决定了对冲频率与交易成本之间的权衡。
  3. 波动率曲面:单一 \(\sigma\) 的 BS 无法拟合偏斜;负均值跳跃(\(\kappa<0\))是股票期权左偏斜的一个来源,也是尾部风险定价的起点。
  4. 情景生成与压力测试:GBM 和跳跃扩散是蒙特卡洛 VaR、策略压力测试最常用的价格生成器,式 (6.30) 给出离散模拟方案。
  5. 组合优化中的参数风险:6.4.2 节的结论直接说明,用历史均值估计期望收益要非常谨慎——这正是 Black–Litterman、收缩估计、风险平价等方法存在的原因;协方差的估计相对可靠。
  6. 随机控制:Itô 引理是最优执行(Almgren–Chriss)、做市(Avellaneda–Stoikov)模型中推导 HJB 方程的基本工具。

Python 示例

代码完成五件事:(1) 从模拟日收益估计 GBM 参数并比较两个参数的标准误;(2) 实现 BS 公式,复现例 6.5、6.6;(3) 模拟离散 delta 对冲(真实漂移 15% 与定价无关),看对冲误差如何随调仓频率下降;(4) 用蒙特卡洛按 (6.32) 为 Kou 跳跃扩散定价,复现例 6.8;(5) 用跳跃扩散价格反推 BS 隐含波动率,观察偏斜。

import numpy as np
from scipy import stats, optimize

rng = np.random.default_rng(11)
N = stats.norm.cdf

# ---------- 1. 由离散样本估计 GBM 参数(6.4.2 节)----------
mu, sigma, dt, years = 0.10, 0.30, 1/252, 5
r = rng.normal((mu - sigma**2/2)*dt, sigma*np.sqrt(dt), int(years/dt))
sig_hat = r.std(ddof=1)/np.sqrt(dt)
mu_hat = r.mean()/dt + sig_hat**2/2
print(f"GBM 估计 ({years} 年日数据): sigma_hat = {sig_hat:.4f} (SE {sig_hat/np.sqrt(2*len(r)):.4f}), "
      f"mu_hat = {mu_hat:.4f} (SE 约 {sig_hat/np.sqrt(years):.4f})")

# ---------- 2. Black–Scholes 定价与 delta,复现例 6.5、6.6 ----------
def bs(P, K, r, sig, tau, kind="call"):
    hp = (np.log(P/K) + (r + sig**2/2)*tau)/(sig*np.sqrt(tau)); hm = hp - sig*np.sqrt(tau)
    if kind == "call":
        return P*N(hp) - K*np.exp(-r*tau)*N(hm), N(hp)
    return K*np.exp(-r*tau)*N(-hm) - P*N(-hp), N(hp) - 1

for K in (90, 81):
    c, dc = bs(80, K, 0.08, 0.2, 0.25, "call"); p, _ = bs(80, K, 0.08, 0.2, 0.25, "put")
    print(f"P=80, K={K}: call = {c:.2f} (delta {dc:.4f}), put = {p:.2f}, "
          f"平价检验 p-c - (K e^-rT - P) = {p - c - (K*np.exp(-0.02) - 80):.1e}")

# ---------- 3. Delta 对冲模拟:离散调仓的对冲误差 ----------
P0, K, rf, sig, T = 80, 81, 0.08, 0.2, 0.25
c0, _ = bs(P0, K, rf, sig, T)
for n_steps in (13, 63, 252):
    h = T/n_steps; M = 20000
    P = np.full(M, P0, float); _, delta = bs(P, K, rf, sig, T)
    cash = c0 - delta*P                             # 卖出期权、买入 delta 股
    for k in range(1, n_steps+1):
        P = P*np.exp((0.15 - sig**2/2)*h + sig*np.sqrt(h)*rng.standard_normal(M))  # 真实漂移 15%
        cash *= np.exp(rf*h)
        if k < n_steps:
            _, nd = bs(P, K, rf, sig, T - k*h)
            cash -= (nd - delta)*P; delta = nd
    pnl = cash + delta*P - np.maximum(P - K, 0)
    print(f"调仓 {n_steps:>3} 次: 对冲误差均值 {pnl.mean(): .3f}, 标准差 {pnl.std():.3f}")

# ---------- 4. Kou 双指数跳跃扩散:蒙特卡洛定价,复现例 6.8 ----------
lam, kap, eta = 10, -0.02, 0.02
psi = np.exp(kap)/(1 - eta**2) - 1                 # E(J) - 1
M = 2_000_000
nj = rng.poisson(lam*T, M)
# 跳幅之和:nj 个 Laplace(kap, eta) 之和 = nj*kap + (Gamma(nj,eta) - Gamma(nj,eta))
G1 = rng.gamma(np.maximum(nj, 1), eta) * (nj > 0)
G2 = rng.gamma(np.maximum(nj, 1), eta) * (nj > 0)
Xsum = nj*kap + G1 - G2
Z = rng.standard_normal(M)
PT = P0*np.exp((rf - sig**2/2 - lam*psi)*T + sig*np.sqrt(T)*Z + Xsum)
disc = np.exp(-rf*T)
call_mc = disc*np.maximum(PT - K, 0); put_mc = disc*np.maximum(K - PT, 0)
print(f"\nKou 跳跃扩散 (例 6.8): call = {call_mc.mean():.3f} ± {1.96*call_mc.std()/np.sqrt(M):.3f}, "
      f"put = {put_mc.mean():.3f} ± {1.96*put_mc.std()/np.sqrt(M):.3f}  (原书 3.92 / 3.31)")
print(f"  折现价格鞅检验: E*[e^-rT P_T] = {(disc*PT).mean():.3f} (应为 {P0})")

# ---------- 5. 跳跃扩散价格反推 BS 隐含波动率:波动率偏斜 ----------
def implied_vol(price, P, K, r, tau):
    return optimize.brentq(lambda s: bs(P, K, r, s, tau)[0] - price, 1e-4, 3.0)
print("  行权价  跳跃扩散call  BS隐含波动率")
for Kx in (70, 75, 80, 85, 90):
    cp = (disc*np.maximum(PT - Kx, 0)).mean()
    print(f"  {Kx:>5}  {cp:>11.3f}  {implied_vol(cp, P0, Kx, rf, T):>11.4f}")

关键输出:

GBM 估计 (5 年日数据): sigma_hat = 0.3013 (SE 0.0060), mu_hat = 0.1588 (SE 约 0.1348)
P=80, K=90: call = 0.73 (delta 0.1767), put = 8.95, 平价检验 p-c - (K e^-rT - P) = -1.8e-15
P=80, K=81: call = 3.49 (delta 0.5500), put = 2.89, 平价检验 p-c - (K e^-rT - P) = 0.0e+00
调仓  13 次: 对冲误差均值 -0.002, 标准差 0.758
调仓  63 次: 对冲误差均值 -0.002, 标准差 0.349
调仓 252 次: 对冲误差均值  0.000, 标准差 0.177

Kou 跳跃扩散 (例 6.8): call = 3.913 ± 0.008, put = 3.310 ± 0.007  (原书 3.92 / 3.31)
  折现价格鞅检验: E*[e^-rT P_T] = 79.999 (应为 80)
  行权价  跳跃扩散call  BS隐含波动率
     70       11.758       0.2321
     75        7.664       0.2294
     80        4.435       0.2272
     85        2.246       0.2254
     90        0.992       0.2241

结果说明:5 年日数据下 \(\hat\sigma\) 的标准误只有 0.6%,\(\hat\mu\) 的标准误约 13%(真值 10%,估计值 15.9%);BS 价格与原书例题一致;对冲误差均值约为 0(真实漂移 15% 不影响对冲结果,印证了风险中性),标准差随调仓次数翻 4 倍而大约减半;Kou 模型的蒙特卡洛价格与原书 3.92/3.31 一致(看涨的 95% 置信区间 3.905–3.921),折现价格的风险中性期望等于现价;隐含波动率随行权价下降,即负均值跳跃产生了向左倾斜的偏斜。


本章小结

维纳过程是连续时间的白噪声:增量独立、方差与时间成正比、路径连续但不可微。Itô 引理的全部秘密在于 \((dw_t)^2=dt\),它带来二阶修正项,使对数价格的漂移变为 \(\mu-\sigma^2/2\),也使 \(\int w\,dw=\frac12(w_t^2-t)\)。从统计角度,GBM 的 \(\sigma\) 可以用高频数据精确估计,而 \(\mu\) 的精度只取决于时间跨度,实际上几乎不可估——幸运的是,通过 delta 对冲与无套利得到的 Black–Scholes 方程不含 \(\mu\),期权价格只依赖 \(\sigma\)。跳跃扩散在 GBM 上叠加泊松跳,产生尖峰厚尾和偏斜,但市场不完备,需要额外假设才能定价,风险中性漂移要减去 \(\lambda\psi\)。从离散数据估计一般扩散方程有 QML、矩方法、非参数、EMM、MCMC 等方法。

概念 / 公式 要点
维纳过程 \(\Delta w=\epsilon\sqrt{\Delta t}\);\(w_t\sim N(0,t)\);路径不可微
Itô 过程 \(dx=\mu(x,t)dt+\sigma(x,t)dw\)
Itô 引理 \(dG=(G_x\mu+G_t+\frac12G_{xx}\sigma^2)dt+G_x\sigma\,dw\)
乘法表 \((dw)^2=dt\),\(dw\,dt=0\),\(dw_i\,dw_j=\rho_{ij}dt\)
GBM \(d\ln P=(\mu-\sigma^2/2)dt+\sigma dw\);\(P_t=P_0e^{(\mu-\sigma^2/2)t+\sigma w_t}\)
估计 \(\hat\sigma=s_r/\sqrt\Delta\)(SE \(\hat\sigma/\sqrt{2n}\));\(\hat\mu=\bar r/\Delta+\hat\sigma^2/2\)(SE \(\approx\sigma/\sqrt{\text{年数}}\))
BS 方程 \(G_t+rPG_P+\frac12\sigma^2P^2G_{PP}=rG\)
BS 公式 \(c=P\Phi(h_+)-Ke^{-r\tau}\Phi(h_-)\);\(h_\pm=\frac{\ln(P/K)+(r\pm\sigma^2/2)\tau}{\sigma\sqrt\tau}\)
平价 / 下界 \(p-c=Ke^{-r\tau}-P\);\(c\ge\max(P-Ke^{-r\tau},0)\)
随机积分 \(\int_0^tw\,dw=\frac12(w_t^2-t)\)
Kou 跳跃扩散 \(dP/P=\mu dt+\sigma dw+d\sum(J_i-1)\);\(\ln J\sim\) Laplace\((\kappa,\eta)\)
风险中性漂移 \(r-\lambda\psi\),\(\psi=\frac{e^\kappa}{1-\eta^2}-1\)

练习

基础

  1. (原书习题 6.1)对数价格 \(dp_t=\gamma\,dt+\sigma\,dw_t\),推导 \(P_t=e^{p_t}\) 的随机微分方程。 提示:\(dP_t=(\gamma+\sigma^2/2)P_tdt+\sigma P_tdw_t\)。
  2. (原书习题 6.2)无股息股票的远期价格 \(F_{t,T}=P_te^{r(T-t)}\),\(P_t\) 为 GBM,推导 \(F_{t,T}\) 的扩散方程。 提示:\(dF=(\mu-r)F\,dt+\sigma F\,dw_t\)。
  3. (原书习题 6.3)IBM 1997 年日对数收益均值 0.00131、标准差 0.02215,252 个交易日,估计 \(\mu\)、\(\sigma\),并给出 \(\hat\mu\) 的近似标准误。 提示:\(\hat\sigma=0.3516\),\(\hat\mu=0.3301+0.0618=0.3919\);SE 约 0.35,估计毫无精度可言。
  4. (原书习题 6.4)\(P_t=120\),\(\sigma=50\%\),\(r=7\%\),无股息:(a) \(K=125\)、3 个月欧式 call;(b) \(K=118\)、3 个月欧式 put;(c) \(\sigma=80\%\) 时两者价格。 提示:(a) 10.71;(b) 9.82;(c) 17.86、16.75。
  5. (原书习题 6.9、6.10)(a) \(P_t=20\),\(K=18\),\(r=6\%\),\(\tau=0.5\),call 售价 2.10,有无套利?(b) \(P_t=44\),\(K=47\),put 售价 1.00 呢? 提示:(a) 下界 \(20-18e^{-0.03}=2.53>2.10\),买 call、卖空股票;(b) 下界 \(47e^{-0.03}-44=1.61>1.00\),买 put、买股票、借入资金。

进阶

  1. (原书习题 6.6、6.7)\(P_t=60\),\(\mu=20\%\),\(\sigma=40\%\)。求 2 年后股价的均值、标准差、95% 区间,以及 2 年连续复利年化收益率的分布。(原书题目中 SDE 把 \(dw_t\) 印成了 \(dt\)。) 提示:\(E=89.51\),SD\(=54.97\);\(\ln P_T\sim N(4.334,0.32)\),95% 区间约 (25.2, 231.2);年化收益率 \(\sim N(0.12,0.08)\),标准差 28.3%。
  2. 用 Itô 引理计算 \(d(w_t^3)\),并由此求 \(\int_0^tw_s^2\,dw_s\)。 提示:\(d(w^3)=3w^2dw+3w\,dt\),所以 \(\int w^2dw=\frac13w_t^3-\int_0^tw_sds\)。
  3. (原书习题 6.5)推导五个变量对欧式看跌期权价格的极限边际效应。
  4. (原书习题 6.8)跳跃扩散:\(P_t=70\),\(r=8\%\),\(\sigma=30\%\),每年约 15 次跳,平均跳幅 −2%,跳幅标准误 3%(即 \(\kappa=-0.02\),\(\eta=0.03\))。用本章蒙特卡洛代码计算 \(K=75\)、3 个月欧式 call 和 put 价格,并与 BS 价格比较。 提示:蒙特卡洛约为 call 3.40、put 6.92;BS 为 2.76、6.27。
  5. 修改本章 Delta 对冲代码,加入比例交易成本(如成交额的 0.05%),找出使"对冲误差方差 + 交易成本"最小的调仓次数。

原书推荐习题:6.1、6.2(Itô 引理基本功);6.3(用真实统计量估计 GBM 参数);6.4、6.5(BS 定价与比较静态);6.8(跳跃扩散定价);6.9、6.10(无套利下界)。


原书对照

本章小节 原书章节 PDF 页码
6.1 引言与期权术语 第 6 章引言、6.1 p.307–308
6.2 维纳过程与 Itô 过程 6.2 p.308–312
6.3 Itô 引理、多维推广、随机积分 6.3、6.7、6.8 p.312–317、329–331
6.4 GBM 分布与参数估计 6.3.4、6.4 p.316–318
6.5 BS 微分方程 6.5 p.318–320
6.6 BS 公式、下界、五个变量 6.6 p.320–329
6.7 跳跃扩散 6.9 p.331–338
6.8 连续时间模型的估计 6.10 p.338–339
BS 积分推导、正态 CDF 近似 附录 A、B p.339–340
习题 第 6 章习题 p.341–342

(原书印刷页码约等于 PDF 页码减 20。)