Skip to content

The Black-Scholes-Merton model

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

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

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

14.6 Black-Scholes-Merton 微分方程

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

dSS=μ dt+σ dz

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

dC=(CSμS+Ct+122CS2σ2S2) dt+CSσS dz

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

构造一个 portfolio V=QSS+QCC,其中 QSQC 分别是股票和看涨期权的数量。为了消除随机项 dz,我们需要:

QSσS+QCCSσS=0

我们可以令 QS=CSQC=1

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

dV=rVdt

并且

dV=QS dS+QC dC

带入得:

CSrS+Ct+122CS2σ2S2=rC

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

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

14.7 风险中性定价

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

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

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

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

f=erT E(STK)=erTE(ST)KerT

由于我们的期望收益率为无风险利率 r,则有 E(ST)=S0erT,带入可以得到:

f=S0KerT

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

14.8 Black-Scholes-Merton 定价公式

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

14.8.1 计算 payoff 期望

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

E(max(SK,0))=K(SK)g(S) dS

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

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

dSS=μ dt+σ dz

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

dG=(μ12σ2) dt+σ dz

因此股票价格 取对数后 的变化量 ln(ST)ln(S0) 服从正态分布 N((μ12σ2)T,σ2T)

为了表示方便,我们记作 ln(ST) 服从 N(m,w2)

Q=ln(S)mw,则 Q 服从标准正态分布 N(0,1)。并有 S=eQw+m

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

E(max(SK,0))=(ln(K)m)/w(eQw+mK)h(Q) dQ

分为两部分:

E(max(SK,0))=(ln(K)m)/weQw+mh(Q) dQK(ln(K)m)/wh(Q) dQ

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

h(Q)=12πeQ22

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

(ln(K)m)/weQw+mh(Q) dQ=em+w22(ln(K)m)/wh(Qw) dQ

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

(ln(K)m)/wh(Qw) dQ=1Φ(ln(K)mww)=Φ(wln(K)mw)

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

(ln(K)m)/wh(Q) dQ=Φ(ln(K)mw)

其中:

m=ln(S0)+(μ12σ2)T
w=σT

因此得出结论:

E(max(SK,0))=S0eμTΦ(d1)KΦ(d2)

其中:

d1=ln(S0K)+(μ+12σ2)TσT
d2=d1σT

14.8.2 应用风险中性假设

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

c=S0Φ(d1)KerTΦ(d2)

其中:

d1=ln(S0K)+(r+12σ2)TσT
d2=d1σT=ln(S0K)+(r12σ2)TσT

利用 put-call-parity:

c+KerT=p+S0

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

p=KerTΦ(d2)S0Φ(d1)

例 1

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

K=50S0=50r=0.1σ=0.3T=0.25代入 BSM 公式。可以得到:

p=50×e0.1×0.25Φ(d2)50Φ(d1)

其中:

d1=ln(5050)+(0.1+12×0.32)×0.250.3×0.25=29120
d2=d1σT=11120

Φ(d1)=0.4052Φ(d2)=0.4641

因此 p=2.372

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

S=501.5e2/12×0.1=48.5248

再按照以上的方法计算,得到 d1=0.042 d2=0.108

p=50×e0.1×0.25Φ(d2)48.5248Φ(d1)=3.033

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

例 2

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

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

ln(STS0)N((μσ22)T, σ2T)

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

ST=S0erT

则显然

r=1Tln(STS0)N(μσ22,σ2T)

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

例 3

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

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

ln(STS0)N((μσ22)T, σ2T)

那么有:

ln(STS0)(μσ22)TσTN(0,1)

求行权概率实质上是求 ST>K 的概率。因此:

P(ST>K)=1Φ(ln(KS0)(μσ22)TσT)=Φ(ln(KS0)(μσ22)TσT)

代入 K=40 S0=38 μ=0.16 σ=0.35 T=0.5,得到该欧式看涨期权行权概率为 Φ(0.007751)=0.496

看跌期权行权概率即 ST<K 的概率,即 10.496=0.504

例 4

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

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

ft+fSrS+122fS2σ2S2=rf

我们可以算出

ft=htSn
fS=nhSn1
2fS2=n(n1)hSn2

代入有:

ht+(n1)rh+12n(n1)σ2h=0

(b)

h(t,T) 满足边界条件 h(t,T)|t=T=1

(c)

上式满足

hh=(n1)r12n(n1)σ2

x=ln(h),则有:

x=(n1)r12n(n1)σ2

得出

x=[(n1)r12n(n1)σ2]t+C

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

x=[(n1)r+12n(n1)σ2](Tt)

因此:

h(t,T)=e[(n1)r+12n(n1)σ2](Tt)

例 5

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

(a)

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

ln(ST)N(ln(S0)+(μ12σ2)T,σ2T)

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

P(ST>K)=1Φ(ln(K)ln(S0)(r12σ2)TσT)=1Φ(d2)=Φ(d2)

(b)

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

100erTΦ(d2)

例 6

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

假设目前股指是 S0,6 个月后股指为 St。我们可以知道其收益为:

max(0,0.4(StS0))

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

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

c=S0eqTΦ(d1)KerTΦ(d2)

其中

d1=ln(S0K)+(rq+12σ2)TσT
d2=d1σT

K=S0T=0.5q=0.03r=0.08σ=0.25代入:

c=0.0814S0

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

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

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

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

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

(M0.4MS0c)erT=1.007M>M

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

14.4 计算历史波动率 σ

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

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

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

x=1Tln(STS0)

我们已经假设:

ln(ST)ln(S0)N((μ12σ2)T,σ2T)

因此回报率满足:

xN(μ12σ2,σ2T)

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

假设第 iΔt 内的回报率为 ui,其平均值为 u。对于方差 D 的无偏估计可以表示为:

D^=1n1i=1n(uiu)2

也可以写为:

D^=1n1[i=1nui2nu2]

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

σ^=D^ T

这个 T 表示一年时间,假设 Δ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) 相对价格(Si+1/Si) 周回报率(u=ln(Si+1/Si))
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)

首先计算得到:

i=1nui=0.09471
i=1nui2=0.01145

计算得

D^=113(0.011450.09471214)=0.0008315
σ=0.0008315×52=0.208

(b)

这个估计本身的标准差为

σ2n=0.2082×14=0.0393