连续时间与Balck-Scholes公式 -- 潘登同学的Quant笔记
准备知识
对数与对数正态分布
-
Normal:
x∼Φ(μ,σ),f(x)=2πσ21e−2σ2(x−μ)2
定义t=σ(x−μ)
x∼Φ(0,1),f(t)=2π1e−2t2
把标准正态分布随机变量的分布函数记为 N(U)
N(u)=P(t≤u)=∫t=−∞u2π1e−2t2dtN(−u)=1−N(u)
-
LogNormal
在对资产价格运动建模时,我们其实并不是把资产价格的变化(ST−S0)设定为正态分布。因为如果这样的话,资产价格就有可能小于 0。为了保证资产价格总是为正,建模时我们通常假设资产价格的对数变化(logST−logS0)服从正态分布,也即
logST−logS0=x∼Φ(μ,σ2)
得到ST与S0的关系
ST=S0ex
我们称 ST 服从对数正态分布(取对数后服从正态分布)。由于无套利资产定价最后都归结为求期望,所以我们需要知道如何计算对数正态分布随机变量的期望。
E(ex)=∫−∞∞exf(x)dx=∫−∞∞ex2πσ21e−2σ2(x−μ)2dx=t=σ(x−μ)∫−∞∞2πσ21eσt+μe−2t2d(σt+μ)=eμ∫−∞∞2π1eσt−2t2dt=eμ∫−∞∞2π1e−2(t−σ)2−σ2d(t−σ)=eμ+21σ2∫−∞∞2π1e−2(t−σ)2d(t−σ)=eμ+21σ2
所以,如果一个随机变量X服从对数分布,即logX∼Φ(μ,σ2),那么有
E(X)=eμ+21σ2
布朗运动
早在 1827 年,苏格兰植物学家罗伯特·布朗(Robert Brown)就发现水中花粉释放出的微小悬浮颗粒在不停地做不规则的随机运动。这种为布朗所发现的随机运动就被叫做布朗运动(Brownian motion)。1905 年,爱因斯坦(Einstein)发表论文指出,布朗运动产生于微粒周围不断做分子热运动的分子对微粒的撞击。1923 年,诺伯特·维纳(Norbert Wiener)构建了描述布朗运动的数学模型。维纳提出的这个随机过程就叫做维纳过程(Wiener process)。
随机过程:随机游走
- i.i.dϵt∼Φ(0,1)
- 随机过程{Z1,...,ZT∣Zt+1−Zt=ϵt}
根据中心极限定理
ZT−Z0=j=1∑TϵT−j∼Φ(0,T)
将离散时间的随机游走扩展为连续时间(continuous time)下的布朗运动(维纳过程)
Zt+△−Zt∼Φ(0,△)∀△>0
- △是正整数,那么就是Random walk
- △是正数,那么就是维纳过程
给出布朗运动(也叫维纳过程)的严格数学定义。
若一个随机过程{X(t),t≥0}满足:
- X(t)是独立的增量过程;(增量相互独立)
- 对任意的s,t>0,X(s+t)−X(t)∼Φ(0,σ2t)
- X(t)是关于t的连续函数
则称{X(t),t≥0}是维纳过程。如果σ=1,则称为标准的布朗运动;
随机积分(Stochastic Differentiation)
定义:布朗运动的微分
dZt=△→0lim(Zt+△−Zt)
根据布朗运动的定义,求这个微分的均值与方差
E[dZt]=0dt=Var(dZt)=E[dZt−E(dZt)]2=E[dZt]2
那么就得到dZt与△的量级相当。
dZt∼dt=△
从这一点能推导出两个非常有趣而重要的结论。
- 布朗运动处处连续但处处不可导(导数为无穷大),从直观上来说,当我们关注的时间段越来越短的时
候,布朗运动 Zt的波动看起来越来越剧烈。
dtdZt=△→0lim△△=+∞
- 不管在多小的时间区段里,布朗运动都是随机的。对那些可导的函数来说,只要你观察的时间窗口小到一定程度,都会发现那些函数的图像会变成直线。但如果观察布朗运动的图像,你会发现不管观察的时间窗口小到什么程度,看到的都是上下起伏的随机运动图像。换言之,不可能把布朗运动理解为许多微小的确定性运动的组合。布朗运动已经是最小的不可分的随机过程了,是构成所有随机过程的两大基石之一(另一个基石是泊松过程——用来描述跳跃过程的随机模型)。
以标准布朗运动的微分为基本的构件,可以搭建出用以描述资产价格的更复杂模型。更为广义的布朗运动可以写成
dXt=μdt+σdZt每时刻粒子位置变化=运动趋势+波动
几何形式布朗运动
StdSt=μdt+σdZt每时刻资产价格变化率=运动趋势+波动
伊藤引理(Ito's Lemma)
伊藤引理要解决的问题是:
- 如果某个随机变量(股价)在做布朗运动,那么这个随机变量的函数(衍生品)的运动是怎样的?
伊藤引理的核心思想是:
- 把函数用泰勒展开展至二阶,仅保留所有 dt 和 dZt项,略去其他项,并注意到(dZt)2=dt
{dXt=μdt+σdZtyt=f(Xt)
dyt=∂x∂fdXt+21∂x2∂2fdXt2=∂x∂f(μdt+σdZt)+21∂x2∂2f(μdt+σdZt)2=∂x∂f(μdt+σdZt)+21∂x2∂2f(μ2dt2+2μσdtdZt+σ2(dZt)2)=∂x∂f(μdt+σdZt)+21∂x2∂2fσ2dt=(∂x∂fμ+21∂x2∂2fσ2)dt+∂x∂fσdZt
以看到,yt 作为 Xt 的函数,也在做布朗运动。
随机积分(Stochastic Integration)
定义:随机积分
∫t=0TdZt=△→0lim[(Z△−Z0)+(Z2△−Z△)+…+(ZT−ZT−△)]=ZT−Z0∼Φ(0,T)
随机积分的结果是一个随机变量,是做布朗运动的粒子在一段时间内位置的改变。位置改变的大小是一个服从正态分布的随机变量。
对维纳过程两边积分
dXt=μdt+σdZt∫t=0TdXt=∫t=0Tμdt+∫t=0TσdZtXT−X0=μT+σ∫t=0TdZt⇒XT=X0+μT+σ∫t=0TdZt∼Φ(X0+μT,σ2T)
也就是说,T 时刻粒子的位置是一个正态分布的随机变量,均值为 X0+μT,方差为 σ2T。
热方程
借鉴自 热方程——数学物理学的基本方程之一,理解其背后的直觉
先摆出结论:
∂t∂T=α∂x2∂2T
其中α是一个比例常,而T=T(x,t)是一个函数,提供了杆子上位于坐标 "x "的任何一点在时间 "t "上的温度。
假设有一根铁棒,我们知道热量在某一特定时间点是如何在铁棒上分布的,也就是说,我们知道它的每一个点的温度是多少。我们感兴趣的是以下问题:
正如我们在中学所学的,热量倾向于从温度较高的地方流向温度较低的地方传播。因此,我们实际上要做的是找到一个描述这一变化过程的方程式。当然,每当我们想模拟一个涉及 "变化 "的过程时,就会倾向于使用偏导数。
想象一下,我们只有少数几个点,而不是整个连续的铁棒,如下图所示。
Y轴代表每个点的温度。由于热量从较热的点流向较冷的点,那么每个点的温度变化将取决于其邻近点的温度。让我们看一下上图中的粉红色点,它的两个“邻居”都有较低的温度,因此,当粉红色点开始冷却时,热量将被转移到这两个邻居。但是,如果它的一个邻居更热,另一个更冷,会发生什么?
那么,在这种情况下,将需要计算它们的平均温度。为了说明这一点,请看下图中的绿色点。
如果我们把绿色的中间点称为 "M",它的左邻N1和右邻N2,那么它们各自的温度将是TM=8,Tn1=12,Tn2=3.8。绿色的邻居的平均温度为:
TM=2Tn1+Tn2=7.9<TM
那么,我们在前面的例子中感兴趣的是下面这个量的符号:
2Tn1+Tn2−TM
如果这个差值大于0,那么中间点 "M "就会升温。差值越大,升温越快。因此,中间点升温的速度与上述差值成正比。为了在数学上表达这一点,我们这样写,M的温度相对于时间的导数等于这个差值乘以一个比例系数α。
∂t∂Tm=a(2Tn1+Tn2−TM)
这已经类似于热方程了。让我们试着在右手边做一些数学上的运算,看看是否能发现什么:
∂t∂Tm=a(2Tn1+Tn2−TM)=2a[(Tn1−TM)+(Tn2−TM)]=2a(△T2−△T1)
我们甚至可以更进一步,把上面的公式改写成如下:
∂t∂Tm=2a△△T
我们使用双△符号来表示差值的差值,或通常所说的二阶差。现在,在上面的例子中,我们分析了一维铁棒的有限的点集。如果要过渡到连续的情况,怎样才能替换二阶差分?在这种情况下,二阶差分的类似物是什么?当然,我们可以使用二阶导数:
∂t∂Tm=a∂x2∂2T
这很容易被推广到更高的维度。例如,如果我们有一个三维的金属立方体,而不是一个一维的铁棒,那么相应的热方程将是如下:
∂t∂Tm=a(∂x2∂2T+∂y2∂2T+∂z2∂2T)=a▽2TM
事实证明,我们可以把这个方程概括为描述各种其他的扩散现象。扩散方程是描述由扩散控制的物理量在空间和时间上的变化的偏微分方程,即离子、分子甚至能量在溶液中从高浓度区域向低浓度区域的转移。
扩散方程如下:
∂t∂P=D▽2P
其中D是一个称为扩散率的比例常数,P是经历扩散过程的量(温度、密度等)。
Black-Scholes公式的偏微分推导
核心思路是用股票与衍生品构造债券
{dSt=μStdt+σStdZtdBt=rBtdt
假设衍生品:
Ct=u(t,St)
股票衍生品的比例为(D,−1),构造无风险组合
V(t,St)=−u(t,St)+DSt
根据无风险组合的定义:
∂St∂V=0⇒−∂St∂u+D=0⇒D=∂St∂u
则有
V(t,St)=−u+∂St∂uSt(1)处全微分,(2)处根据伊藤引理dV(t,St)=−du+∂St∂udSt=−[∂t∂udt+∂St∂udSt+21∂St2∂2udSt2]+∂St∂udSt(1)=−∂t∂udt−21∂St2∂2u(μStdt+σStdZt)2=−∂t∂udt−21∂St2∂2uσ2St2dt(2)=−(∂t∂u+21∂St2∂2uσ2St2)dt
注意,在上面求解微分 dV(t,St)的时候,我们将∂St∂u当成了一个常数,因而没有对它求导。这是因为组合的权重在股价变化之前就已经被选定了,不能跟随股价的瞬时变化而马上调整。对应到离散时间了,可以把权重理解为在上期决定,这期不能变化。只能在这期的末尾为下期设定权重。用连续时间金融的术语来说,∂St∂u 是“可预知的”(previsible),由之前的信息所决定,因而在现在就被看成常数。
根据债券的偏微分方程
dV(t,St)=rV(t,St)dt⇒−(∂t∂u+21∂St2∂2uσ2St2)dt=rV(t,St)dt⇒−(∂t∂u+21∂St2∂2uσ2St2)dt=r(−u+∂St∂uSt)dt⇒∂t∂u+21∂St2∂2uσ2St2+r∂St∂uSt−ru=0(∗)
其中,(∗)称为B-S partial difference Equivalent(Black-Sholes 偏微分方程).
European call option就是对这个方程在以下边界条件下求解
u(T,St)=max{0,St−K}
(∗)这样类型的方程称为抛物线方程,一般来说很难解出解析表达式,但是对这样的边界条件下刚好能求出解析解; 最简单的抛物线方程是热方程
∂s∂y(s,v)−∂v2∂2y(s,v)=0y(0,v)=y0(v)⇒解得:y(s,v)=2πv1∫−∞∞y0(v−w)exp(−4sw2)dw=2πv1∫−∞∞y0(w)exp(−4s(v−w)2)dw
求解(∗)要利用上式的形式,故设
u(t,St)=f(t) y(s(t),v(t,St))(□)
f(t),y(s,v),s(t),v(t,St)全是待定函数,并且假设y=y(s,v)满足热方程;
- 下面利用一些假设得到f(t),s(t),v(t,St)
利用(□)式,计算偏导数
∂t∂u∂St∂u∂St2∂2u=f′(t)y(s,v)+f(t)∂s∂ys′(t)+f(t)∂v∂y∂t∂v=f(t)∂v∂y∂St∂v=f(t)[∂v2∂2y(∂St∂v)2+∂v∂y∂St2∂2v]
将偏导数代入B-S partial difference Equivalent,
0=f′(t)y(s,v)+f(t)∂s∂ys′(t)+f(t)∂v∂y∂t∂v+2σ2St2f(t)[∂v2∂2y(∂St∂v)2+∂v∂y∂St2∂2v]+rStf(t)∂v∂y∂St∂v−rf(t)y(s,v)
假设f=f(t)满足f′(t)=rf(t),f(T)=1,即f(t)=e−r(T−t),那么上述方程的f都可以提出来
0=ry(s,v)+∂s∂ys′(t)+∂v∂y∂t∂v+2σ2St2[∂v2∂2y(∂St∂v)2+∂v∂y∂St2∂2v]+rSt∂v∂y∂St∂v−ry(s,v)=∂s∂ys′(t)+∂v∂y∂t∂v+2σ2St2[∂v2∂2y(∂St∂v)2+∂v∂y∂St2∂2v]+rSt∂v∂y∂St∂v
因为y=y(s,v)满足热方程,有
∂s∂y(s,v)=∂v2∂2y(s,v)
再假设
s′(t)=−a2=−2σ2St2(∂St∂v)2
为了使得上述方程再抹掉两项,由此再假设s(T)=0,可得
s(t)=a2(T−t)
上述方程化简为
0⇒0=−∂v2∂2y(s,v)2σ2St2(∂St∂v)2+∂v∂y∂t∂v+2σ2St2[∂v2∂2y(∂St∂v)2+∂v∂y∂St2∂2v]+rSt∂v∂y∂St∂v=∂v∂y∂t∂v+2σ2St2∂v∂y∂St2∂2v+rSt∂v∂y∂St∂v=∂t∂v+2σ2St2∂St2∂2v+rSt∂St∂v
利用a2的表达式,可以得到
∂St∂v=2(σSta)v(t,St)=2(σa)log(KSt)+b(t)
带回上式,∂t∂v用b′(t)代替
2σ2St2(−St21)2(σa)+rSt2(σa)(St1)+b′(t)=0⇒b′(t)=22aσ−2r(σa)
再假设,b(T)=0,就可以得到
b(t)=2(σa)[r−2σ2](T−t)
则
v(t,St)=σa2[log(KSt)+[r−2σ2](T−t)]
小结一下
⎩⎨⎧f(t)=e−r(T−t)s(t)=a2(T−t)v(t,St)=σa2[log(KSt)+[r−2σ2](T−t)]
- 计算u(s,t)
利用u(t,St)表达式,可得
u(T,St)=f(T) y(s(T),v(T,St))=y(0,σa2log(KSt))
根据期权的边界条件
u(T,St)=y(0,k)={St−K=K[exp(a2kσ)−1],0,当k≥0其他情形
其中,k=σa2log(KSt)
接下来就套热方程的解析解
y(0,v)=y0(v)y(s,v)=2πv1∫−∞∞y0(v−w)exp(−4sw2)dw(解析解)y(s,v)=2πsK∫−∞v[exp(a2(v−w)σ)−1]exp(−4sw2)dw(套进去)
令w=−q2s,可得
y(s,v)=2πK∫−2sv∞[exp(a2σ(v+q2s))−1]exp(−2q2)dq
再利用
⎩⎨⎧f(t)=e−r(T−t)s(t)=a2(T−t)v(t,St)=σa2[log(KSt)+(r−2σ2)(T−t)]
可得
2sva2σ(v+q2s)=σa2[log(KSt)+(r−2σ2)(T−t)][a2(T−t)1]=σT−tlog(KSt)+(r−2σ2)(T−t)=d2=a2σ(σa2[log(KSt)+(r−2σ2)(T−t)]+qa2T−t)=log(KSt)+(r−2σ2)(T−t)+qσT−t
带回积分式子中可得
y(s,v)=2πK∫−2sv∞[exp(a2σ(v+q2s))−1]exp(−2q2)dq=2πK∫−d2∞exp[log(KSt)+(r−2σ2)(T−t)+qσT−t−2q2] dq−2πK∫−d2∞exp(−2q2)dq
所以将u(t,St)表示出来
u(t,St)=f(t) y(s(t),v(t,St))=e−r(T−t)2πK∫−d2∞exp[log(KSt)+(r−2σ2)(T−t)+qσT−t−2q2] dq−2πKe−r(T−t)∫−d2∞exp(−2q2)dq=2πStexp[−2σ2(T−t)]∫−d2∞exp(qσT−t)exp(−2q2)dq−2πKe−r(T−t)∫−d2∞exp(−2q2)dq
再做变量替换p=−q,那么有
u(t,St)=2πSt∫−∞d2exp(−2σ2(T−t)−pσT−t−2p2)dp−Ke−r(T−t)∫−∞d22π1exp(−2p2)dp=2πSt∫−∞d2exp(−2σ2(T−t)−pσT−t−2p2)dp−Ke−r(T−t)N(d2)
令z=p+σT−t,则
2πSt∫−∞d2exp(−2σ2(T−t)−pσT−t−2p2)dp=2πSt∫−∞d2exp(−21(p+σT−t)2)dp=St∫−∞d2+σT−t2π1exp(−2z2)dz=StN(d1)
所以,得到u(t,St)的表达式
u(t,St)=StN(d1)−Ke−r(T−t)N(d2)⎩⎨⎧d1=d2+σT−t=σT−tlog(KSt)+(r+2σ2)(T−t)d2=σT−tlog(KSt)+(r−2σ2)(T−t)
推导完了,可以看出里面有很多假设,然后似乎是人为凑出来的结果,接下来的鞅方法推导会更简洁...
Black-Scholes公式的鞅方法推导
股票及债权价格的偏微分方程
{dSt=μStdt+σStdZtdBt=rBtdt
股票价格
d(logSt)左右两边积分⇒∫0Td(logSt)⇒logST−logS0⇒ST=St1dSt−21St21(dSt)2(Taylor)=μdt+σdZt−21St21(μStdt+σStdZt)2=μdt+σdZt−21σ2dt=(μ−21σ2)dt+σdZt=∫0T(μ−21σ2)dt+σ∫0TdZt=(μ−21σ2)T+σ∫0TdZt(随机积分)=S0 exp[(μ−21σ2)T+σ∫0TdZt]
因为(μ−21σ2)T+σ∫0TdZt∼Φ((μ−21σ2)T,σ2T),而前面计算对数正态的期望,有
logX∼Φ(μ,σ2)⇒E(ex)=eμ+21σ2E(ST)=S0eμT
显然,这里的股票价格并不符合鞅性,即 E(ST)=S0erT。这是在真实世界的概率测度下求取的期望,自然不存在鞅性的结论。不过我们知道,当市场中不存在套利机会时,一定存在一个等价鞅测度,股票价格在这个测度下符合鞅性。也就是说,
No Arbitrage⇒∃ ! EMME~(ST)=S0erT
这里我们在期望符号上加上了一个波浪号,以表示这是在等价鞅测度下求取的期望。基于前面对 ST的推导,我们可以知道在等价鞅测度下,股价 ST 应该满足
ST=S0 exp[(r−21σ2)T+σ∫0TdZt~]⇒logST∼Φ(logS0+(r−21σ2)T,σ2T)设logST=a+bu,u∼Φ(0,1)⇒{a=logS0+(r−21σ2)Tb=σT⇒ea+21b2=S0erT(后面要用)
这里我们在 dZt 头上加上了波浪符号,以表示它是等价鞅测度下的布朗运动。之所以可以这么做,是基于格萨诺夫(Girsanov)定理,这个定理告诉我们,当我们在做概率测度变换的时候(比如从真实世界概率换到风险中性概率),资产价格收益率的均值一般会发生变化,但其波动率却不变。
接下来,在等价鞅测度下,这个期权 0 时刻的价格表示为
C0=e−rTE~[max{ST