Skip to content

The Black-Scholes-Merton model

在 1970 年代,Fischer Black, Myron Scholes, Robert Merton 提出了一个重要的欧式期权定价模型。这个模型基于以下 7 条假设:

  1. 股票价格符合伊藤过程 \(\frac{ dS }{ S } = \mu ~dt + \sigma ~dz\)
  2. 允许卖空证券并充分利用收益
  3. 没有交易费用和税,所有证券完全可分割
  4. 在期权期限内,股票不支付股息
  5. 不存在无风险套利机会
  6. 证券交易连续进行
  7. 无风险利率 \(r\) 是常数并且对所有期限相同

注意,这其中并不包含风险中性假设。从根本上讲,风险中性假设只是一个数学上的求解技巧,即使不使用这个技巧,一样可以通过暴力求解 PDE 得到同样的结果(Feynman-Kac Theorem)。这一点非常重要,因为真实世界明显不是风险中性的,BSM 公式也不可能基于这么一个不靠谱的假设。

14.6 Black-Scholes-Merton 微分方程

根据假设,股票的价格服从以下伊藤过程:

\[\frac{ dS }{ S } = \mu ~dt + \sigma ~dz\]

我们的目标,也就是以该股票为标的物的看涨期权的价格 \(C\) 肯定是 \(S\)\(t\) 的函数。根据伊藤引理,得到:

\[dC = (\frac{ \partial C}{ \partial S} \mu S + \frac{ \partial C}{ \partial t} + \frac{1}{2} \frac{ \partial^2 C}{ \partial S^2} \sigma^2 S^2)~dt + \frac{ \partial C}{ \partial S}\sigma S~dz\]

这是一个随机微分方程,我们很难直接求解。于是我们希望利用 \(S\)\(C\) 的线性组合消去其随机项。

构造一个 portfolio \(V = Q_S S + Q_C C\),其中 \(Q_S\)\(Q_C\) 分别是股票和看涨期权的数量。为了消除随机项 \(dz\),我们需要:

\[Q_S \sigma S + Q_C \frac{\partial C}{\partial S}\sigma S = 0\]

我们可以令 \(Q_S = \frac{\partial C}{\partial S}\)\(Q_C = -1\)

值得注意的是,我们通过这样实际构造了一个无风险的 portfolio,同时,股票的数量也是 Greeks 里面的 delta。 由于这是一个无风险的 portfolio,其波动率为 0,期望收益等于无风险利率 \(r\)。因此:

\[dV = rVdt\]

并且

\[dV = Q_S~dS +Q_C~dC\]

带入得:

\[\frac{\partial C}{\partial S} rS + \frac{\partial C}{\partial t} + \frac{1}{2}\frac{\partial^2 C}{\partial S^2} \sigma^2 S^2 = rC\]

这就是 Black-Scholes-Merton 微分方程。这个方程的精妙之处在于我们消掉了随机项和期望收益率 \(\mu\) 这两个非常复杂的部分。

这个方程有很多解,对应于各种衍生品。假设一个衍生品不满足这个微分方程,例如\(e^S\),则该衍生品不可能存在,因为一定存在套利机会。

14.7 风险中性定价

我们注意到,推导出的 Black-Scholes-Merton 微分方程不含期望收益 \(\mu\),这也从证明了我们在用二叉树进行定价时的风险中性假设的正确性。因为它与投资人的风险偏好无关。我们就可以放心使用风险中性假设简化计算。

  1. 假设从标的物获得的期望收益就是无风险利率\(r\)
  2. 计算衍生品的期望的 payoff
  3. 将期望的 payoff 折现,折现率也等于无风险利率 \(r\)

假设一个远期合约多头到期日为\(T\),执行价格为\(K\),目前现货价格是 \(S_0\),无风险利率为 \(r\),则远期合约价格为?

假设到期日标的物价格为 \(S_T\),则利用以上三个步骤,可以得到:

\[f = e^{-rT}~E(S_T- K) = e^{-rT}E(S_T) - Ke^{-rT}\]

由于我们的期望收益率为无风险利率 \(r\),则有 \(E(S_T) = S_0 e^{rT}\),带入可以得到:

\[f = S_0 - Ke^{-rT}\]

这符合我们利用无套利假设得出的结论。

14.8 Black-Scholes-Merton 定价公式

在这里,我们将利用风险中性定价原理来推导 BSM 定价公式。这样可以避免解偏微分方程的复杂度。

14.8.1 计算 payoff 期望

以欧式看涨期权为例,其在到期日 \(T\) 的 payoff 为 \(f =\max(S-K, 0)\)。它的价格应该为 payoff 的期望折现后的值。因此问题转化为求:

\[E(\max(S-K, 0)) = \int_{K}^{\infty}(S-K)g(S)~dS\]

其中 \(g(S)\) 代表股票价格为 \(S\) 的概率。那么如何得到 \(g(S)\) 呢?

我们已经假设 \(S\) 服从伊藤过程:

\[\frac{ dS }{ S } = \mu ~dt + \sigma ~dz\]

\(G = \ln(S)\),由伊藤引理,可以得到:

\[dG = (\mu - \frac{ 1 }{ 2 } \sigma^2)~dt + \sigma~dz\]

因此股票价格 取对数后 的变化量 \(\ln(S_T) - \ln(S_0)\) 服从正态分布 \(N((\mu-\frac{1}{2} \sigma^2)T, \sigma^2 T)\)

为了表示方便,我们记作 \(\ln(S_T)\) 服从 \(N(m, w^2)\)

\(Q = \frac{ \ln(S) - m}{ w}\),则 \(Q\) 服从标准正态分布 \(N(0,1)\)。并有 \(S = e^{Qw + m}\)

我们可以将 payoff 期望改写为:

\[E( \max(S-K, 0)) = \int_{(\ln(K)-m)/w}^{\infty}(e^{Qw + m}-K)h(Q)~dQ\]

分为两部分:

\[E(\max(S-K, 0)) = \int_{(\ln(K)-m)/w}^{\infty}e^{Qw + m}h(Q)~dQ - K\int_{(\ln(K)-m)/w}^{\infty}h(Q)~dQ\]

其中\(h(Q)\) 为标准正态分布密度函数:

\[h(Q) = \frac{ 1 }{ \sqrt{ 2\pi} } e^{ -\frac{ Q^2 }{ 2 } }\]

我们将该式代入第一部分,得到:

\[\int_{(\ln(K)-m)/w}^{\infty}e^{Qw + m}h(Q)~dQ = e^{m+\frac{ w^2 }{ 2 }} \int_{(\ln(K)-m)/w}^{\infty} h(Q-w)~dQ\]

假设\(\Phi(x)\)表示标准正态分布变量小于 \(x\) 的概率,则:

\[\int_{(\ln(K)-m)/w}^{\infty} h(Q-w)~dQ = 1-\Phi(\frac{ \ln(K) - m}{w} - w) = \Phi(w - \frac{\ln(K) - m}{w} )\]

同理,对于第二部分,有:

\[\int_{ (\ln(K)-m)/w}^{ \infty}h(Q)~dQ = \Phi(-\frac{ \ln(K) - m}{ w})\]

其中:

\[m = \ln(S_0) + (\mu - \frac{1}{2} \sigma^2)T\]
\[w = \sigma \sqrt{T}\]

因此得出结论:

\[E(\max(S-K, 0)) = S_0 e^{\mu T}\Phi(d_1) - K\Phi(d_2)\]

其中:

\[d_1 = \frac{\ln(\frac{S_0}{K}) + (\mu + \frac{1}{2} \sigma^2)T}{\sigma \sqrt{T}}\]
\[d_2 = d_1 - \sigma \sqrt{T}\]

14.8.2 应用风险中性假设

我们在 14.7 中已经证明了可以使用风险中性定价。那么期望收益 \(\mu\) 和贴现率都等于无风险利率 \(r\)。代入 14.8.1 得出的 payoff,贴现后得出该欧式看涨期权价格:

\[c = S_0 \Phi(d_1) - Ke^{-rT}\Phi(d_2)\]

其中:

\[ d_1 = \frac{ \ln(\frac{S_0}{K} ) + (r + \frac{1}{2}\sigma^2)T}{\sigma \sqrt{T}} \]
\[d_2 = d_1 - \sigma \sqrt{T} = \frac{\ln(\frac{S_0}{K})+(r - \frac{1}{2}\sigma^2)T}{\sigma \sqrt{T}}\]

利用 put-call-parity:

\[c + Ke^{-rT} = p + S_0\]

可以算出对应的欧式看跌期权的价格:

\[p = Ke^{-rT}\Phi(-d_2) - S_0 \Phi(-d_1)\]

例 1

某欧式看跌期权执行价格为 50$,期限为 3 个月。标的股票当前价格为 50$,波动率为 30%每年。无风险利率为 10% 每年。计算该欧式看跌期权的价格。 如果在 2 个月后将派发 1.5$ 的股息,结果会如何变化?

\(K = 50\)\(S_0 = 50\)\(r = 0.1\)\(\sigma = 0.3\)\(T=0.25\)代入 BSM 公式。可以得到:

\[ p = 50 \times e^{- 0.1 \times 0.25}\Phi(-d_2) - 50\Phi(-d_1)\]

其中:

\[d_1 = \frac{ \ln(\frac{50}{50}) + (0.1 + \frac{ 1 }{ 2 } \times 0.3^2)\times0.25 }{ 0.3 \times \sqrt{0.25} } = \frac{ 29 }{120}\]
\[d_2 = d_1 - \sigma \sqrt{T} = \frac{11} {120}\]

\(\Phi(-d_1) = 0.4052\)\(\Phi(-d_2) = 0.4641\)

因此 \(p = 2.372\)

如果两个月后会派发股息,说明现在的股票价格中包含了股息贴现后的价值。在应用 BSM 公式之前,我们需要先将其去掉。因此:

\[S = 50 - 1.5e^{-2/12 \times 0.1} = 48.5248\]

再按照以上的方法计算,得到 \(d_1 = 0.042\) \(d_2 = -0.108\)

\[p = 50 \times e^{- 0.1 \times 0.25}\Phi(-d_2) - 48.5248\Phi(-d_1) = 3.033\]

这符合我们 之前的结论,对于派发股息的股票,看跌期权价值会升高

例 2

股票价格为 $40,期望回报率为 15%,波动率为 25%。则 2 年收益率的概率分布是什么?

股票价格变化满足对数正态分布,即:

\[\ln( \frac{S_T}{S_0} ) \sim N(( \mu - \frac{\sigma^2}{2} )T, ~\sigma^2 T)\]

假设要求的收益率为 \(r\),满足:

\[S_T = S_0e^{rT}\]

则显然

\[r = \frac{1}{T} \ln(\frac{S_T}{S_0}) \sim N(\mu - \frac{\sigma^2} {2}, \frac{\sigma^2}{T})\]

因此收益率的分布为\(N(0.11875, 0.03125)\)

例 3

某股票价格服从几何布朗运动,期望回报率为 16%,波动率为 35%,当前价格为 $38。 (a). 某欧式看涨期权执行价格为 $40,到期日为 6 个月后,求它行权的概率。 (b). 与(a)中对应的欧式看跌期权的行权概率是多少

已知股票价格符合几何布朗运动,即满足:

\[\ln(\frac{S_T}{S_0}) \sim N((\mu - \frac{\sigma^2}{2} )T, ~\sigma^2 T)\]

那么有:

\[\frac{ \ln(\frac{S_T}{S_0}) - (\mu - \frac{ \sigma^2}{2})T}{\sigma \sqrt{T}} \sim N(0, 1)\]

求行权概率实质上是求 \(S_T > K\) 的概率。因此:

\[ P(S_T > K) = 1-\Phi(\frac{\ln(\frac{K}{S_0}) - (\mu - \frac{\sigma^2}{2})T}{\sigma \sqrt{T}}) = \Phi(-\frac{\ln(\frac{K}{S_0}) - (\mu - \frac{\sigma^2}{2})T}{\sigma \sqrt{T}})\]

代入 \(K = 40\) \(S_0 = 38\) \(\mu = 0.16\) \(\sigma = 0.35\) \(T = 0.5\),得到该欧式看涨期权行权概率为 \(\Phi(- 0.007751) = 0.496\)

看跌期权行权概率即 \(S_T < K\) 的概率,即 \(1 - 0.496 = 0.504\)

例 4

考虑一个衍生品,其在\(T\) 时刻 payoff 为 \(S_T ^n\),其中 \(S_T\) 是标的股票在 \(T\) 时刻价格,服从几何布朗运动。它在 \(t\) 时刻的价格可以表示为 \(h(t,T)S^n\),其中 \(S\) 表示 \(t\) 时刻股票价格,\(h\) 是关于 \(t\)\(T\) 的函数。
(a) 利用 BSM 偏微分方程推导 \(h(t, T)\) 的微分方程
(b) \(h(t, T)\)的边界条件是什么
(c) 求出 \(h(t, T)\)

(a) 将价格表示为 \(f = h(t,T)S^n\)。则该价格满足微分方程:

\[\frac{ \partial f}{ \partial t} + \frac{ \partial f}{ \partial S}rS + \frac{1}{2}\frac{ \partial^2 f}{\partial S^2} \sigma^2 S^2 = rf\]

我们可以算出

\[\frac{\partial f}{\partial t} = \frac{\partial h}{\partial t}S^n\]
\[\frac{\partial f}{\partial S} = nhS^{n-1}\]
\[\frac{\partial^2 f}{\partial S^2} = n(n-1)hS^{n-2}\]

代入有:

\[\frac{ \partial h}{ \partial t} + (n-1)rh + \frac{1}{2}n(n-1)\sigma^2h = 0\]

(b)

\(h(t, T)\) 满足边界条件 \(h(t, T) |_{t=T} = 1\)

(c)

上式满足

\[\frac{h'}{h} = - (n-1)r - \frac{1}{2}n(n-1)\sigma^2\]

\(x = \ln(h)\),则有:

\[x' = - (n-1)r - \frac{ 1}{2}n(n-1)\sigma^2 \]

得出

\[x = [- (n-1)r - \frac{1}{2} n(n-1) \sigma^2]t + C\]

其中 \(C\) 为常数。再根据边界条件 \(x|_{t=T} = \ln(1) = 0\),得出:

\[x = [(n-1)r + \frac{ 1}{2}n(n-1)\sigma^2](T-t)\]

因此:

\[h(t, T) = e^{[(n-1)r + \frac{1}{2}n(n-1)\sigma^2](T-t)}\]

例 5

(a) 证明:在风险中性世界中,一个欧式看涨期权被行权的概率等于\(\Phi(d_2)\)
(b) 假设一个衍生品 payoff 为 $100 如果股票价格 \(S\) 大于 \(K\),求该衍生品的价格。

(a)

欧式看涨期权被行权的概率是 \(P(S_T > K)\)。而 \(S_T\) 满足:

\[\ln(S_T) \sim N(\ln(S_0) + (\mu-\frac{1}{2}\sigma^2)T, \sigma^2 T)\]

由于对数函数的单调性,\(P(S_T > K) = P(\ln(S_T) > \ln(K))\),且在风险中性世界中,有 \(\mu = r\),则:

\[P(S_T > K) = 1 - \Phi(\frac{\ln(K) - \ln(S_0) - (r-\frac{1}{2}\sigma^2)T}{\sigma \sqrt{T}}) = 1 - \Phi(-d_2) = \Phi(d_2)\]

(b)

利用上面的结论,可以得到该衍生品收益期望为 \(100 \Phi(d_2)\),贴现后的即为当前价格:

\[100e^{-rT}\Phi(d_2)\]

例 6

某银行的某款理财产品保证投资者在 6 个月后得到:
a. 0,如果股指下跌
b. 40% 股指收益
用股指期权来描述该产品的收益。
假设无风险利率是 8%,股息是 3%,波动率是 25%,这个理财产品值得买吗?

假设目前股指是 \(S_0\),6 个月后股指为 \(S_t\)。我们可以知道其收益为:

\[\max(0, 0.4(S_t - S_0))\]

因此其实际上是相当于 0.4 倍的执行价格为 \(S_0\) 的欧式看涨期权的收益。

我们可以计算执行价格为 \(S_0\),到期日为 6 个月的欧式期权的价值:

\[c = S_0e^{-qT}\Phi(d_1) - Ke^{-rT}\Phi(d_2)\]

其中

\[d_1 = \frac{\ln(\frac{S_0}{K})+(r - q + \frac{1}{2}\sigma^2)T}{\sigma \sqrt{T}}\]
\[d_2 = d_1 - \sigma \sqrt{T}\]

\(K = S_0\)\(T = 0.5\)\(q = 0.03\)\(r = 0.08\)\(\sigma = 0.25\)代入:

\[c = 0.0814S_0\]

假设投资金额为 \(M\),该理财产品的现金流相当于在 0 时刻,免费获得了 \(0.4 \frac{M}{S_0}\) 份看涨期权,其代价是剩余的资金无法赚取无风险利率。我们需要比较期权的价格以及无风险利率的收益。

现在我们假设有两个 portfolio A 和 B。 - A:全额购买该理财产品 - B:购买了 \(0.4 \frac{M}{ S_0}\) 份看涨期权,剩余资金用于赚取无风险利率

显然 B 购买的期权具有和 A 完全一致的 payoff。我们只需要比较其余资金。

对于 A,六个月后会获得 \(M\) 外加 payoff。

对于 B,除了与 A 一致的 payoff,还有:

\[(M - 0.4 \frac{ M }{ S_0 } c)e^{rT} = 1.007 M > M\]

因此显然该理财产品不划算。

14.4 计算历史波动率 \(\sigma\)

在 B-S-M 模型中,唯一难以确定的参数就是波动率 \(\sigma\)。在实际中,不能直接使用历史波动率,但是可以作为重要参考。以下提到的波动率都指历史波动率,而非实际(隐含)波动率。

\(\sigma\) 用于衡量股票回报率的不确定性。我们将波动率 \(\sigma\) 定义为 连续复利下股票 1 年中回报率的标准差。它一般在 15% 到 60% 之间。

连续复利下的股票回报率可以表示为:

\[x = \frac{1}{T} \ln( \frac{S_T}{S_0} )\]

我们已经假设:

\[\ln(S_T)-\ln(S_0) \sim N( (\mu-\frac{1}{2}\sigma^2)T, \sigma^2 T)\]

因此回报率满足:

\[x \sim N(\mu-\frac{1}{2}\sigma^2, \frac{\sigma^2}{T})\]

假设我们已经知道以某个较小采样间隔(例如每周) \(\Delta t\) 的股票回报率历史数据,我们可以估计其方差 \(D\)

假设第 \(i\)\(\Delta t\) 内的回报率为 \(u_i\),其平均值为 \(\overline{u}\)。对于方差 \(D\) 的无偏估计可以表示为:

\[\hat{D} = \frac{1}{n-1}\sum_{i=1}^n (u_i - \overline{u})^2\]

也可以写为:

\[ \hat{D} = \frac{ 1}{n-1} [ \sum_{i = 1}^n u_i^2 - n \overline{u}^2] \]

然后根据下式求波动率的估计:

\[\hat{\sigma} = \sqrt{\hat{D}~T}\]

这个 \(T\) 表示一年时间,假设 \(\Delta t\) 是周,那么 \(T = 365/7 = 52\)

例 1

假设我们观察到某个股票在连续 15 个周五的价格为:30.2; 32.0; 31.1; 30.1; 30.2; 30.3; 30.6; 33.0; 32.9; 33.0; 33.5; 33.5; 33.7; 33.5; 33.2。 (a) 估算该股票的波动率 (b) 这个波动率的估计的标准差是多少?

# 股票价格(\(S\)) 相对价格(\(S_{i+1}/S_i\)) 周回报率(\(u = \ln(S_{i+1}/S_i)\))
1 30.2
2 32.0 1.05960 0.05789
3 31.1 0.97188 -0.02853
4 30.1 0.96785 -0.03268
5 30.2 1.00332 0.00332
6 30.3 1.00331 0.00331
7 30.6 1.00990 0.00985
8 33.0 1.07843 0.07551
9 32.9 0.99697 -0.00303
10 33.0 1.00304 0.00303
11 33.5 1.01515 0.01504
12 33.5 1.00000 0.00000
13 33.7 1.00597 0.00595
14 33.5 0.99407 -0.00595
15 33.2 0.99104 -0.00900

(a)

首先计算得到:

\[\sum_{i=1}^n u_i = 0.09471\]
\[\sum_{i=1}^n u_i^2 = 0.01145\]

计算得

\[\hat{D} = \frac{1}{13}(0.01145 - \frac{0.09471^2}{14}) = 0.0008315\]
\[\sigma = \sqrt{0.0008315 \times 52} = 0.208\]

(b)

这个估计本身的标准差为

\[ \frac{ \sigma}{ \sqrt{2n} } = \frac{0.208}{\sqrt{2 \times 14} } = 0.0393\]