第九章期权定价的有限差分方法.doc

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第九章期权定价的有限差分方法

在本章中,我们将给出几个简单的例子来说明基于偏微分方程(PDE)框架的期权定价方法。具体的方法的是利用第五章中讲述的有限差分方法来解决Black-scholes偏微分方程。在9.1节中,我们会回顾衍生品定价的数值解法以及指出如何利用适当的边界条件来模拟一个特定的期权。在9.2节中我们将会应用简单的显式(差分)方法来求解一个简单的欧式期权。正如你已熟知的那样,这种方法只能解出一些可以从金融角度来解释的不稳定的数值解。在9.3节中我们将可以看到使用完全的隐式方法可以解决这种不稳定问题。在9.4节中我们将介绍Crank-Nicolson方法在障碍期权定价中的应用,它可以看做是一种显式与完全隐式方法的混合。最后,在9.5节中,我们会看到迭代松弛方法可以用于解决使用全隐式方法来解决美式期权定价时由于存在提前执行的可能性而导致的自由边界问题。

9.1 使用有限差分法解BS方程

在2.6.2节中,我们给出了一个标的资产在时间t的价格为)(t

S的期权,该期权的价格是一个函数),

S

(t

f满足偏微分方程

(t

S

f,且),

(9.1)通过不同的边界条件可以让这个方程刻画不同的期权的特征。在某些地方可能因为假设的改变或者对路径依赖的改变而导致方程式的具体形式改变,但是此处仅仅作为一个起点,帮助读者了解如何应用基于有限差分方法来解决期权定价的问题。

正如我们在第五章中遇到的情况那样,要用有限差分方法来解偏微分方程,在此处我们必须建立资产价格和时间的离散网格。设T是

期权的到期日,而Smax是一个足够大的资产价格,在我们所考虑的时间范围内,)(t

S的数值不能超过Smax。设定Smax是因为偏微分方程的区域关于资产价格是无边界的。但是为了达到计算的目的,必须要求它是有界的。Smax相当于+∞。网格通过点(S,t)取得,其中(S,t)满足

δ,

M=

S

=

S

S,Sδ,Sδ2,……,max

δ。

t

N=

t, tδ,tδ22,……,T

=

本章中使用网格符号为,我们回顾一下(9.1)方程式的几种不同解法:

向前差分

向后差分

中心(或对称)差分

对于第二个差分式子,有

至于究竟采用哪种方法进行离散化,我们将在后面的实际操作过程中对显式和隐式的方法作出详细的阐述说明。

另一个值得我们注意的问题是如何设置边界条件。对于执行价格

为K 的欧式看涨期权,其终值条件为

对于执行价格为K 的欧式看跌期权,其终值条件为

但是当我们涉及到资产价格的边界问题时,这个问题就变得复杂了。因为在数学上要求必须在一个有界区域里来解这个方程,而资产价格的区域是无界的。我们可以通过一些例子来说明这个问题。

例9.1 我们首先考虑一支简单的欧式看跌期权。当资产的价格)(t S 非常大时,看跌期权几乎是一文不值,因为我们几乎可以肯定的是其执行价低于现价:

Smax 的值必须足够大才能使得假设的边界条件是合理的。当资产的价格0)(=t S 时,鉴于资产的价格符合几何布朗运动的动力学模型,我们可以认为资产的价格会保持为0;因此到期收益为K ,在时间t 贴现值为

其边界条件可以写为:

例9.2 我们可以从9.1推导出处理普通欧式看涨期权的方法。不妨设资产的价格0)(=t S ,那么在任何时刻t ,我们都可以知道该期权价值为0:

而对于一个足够大的资产价格)(t

S,我们可以肯定的是该期权一定为价内期权,即具有大于零的价值的期权,那么期满行权我们可以得到收益为K

(。将终值K贴现到t时刻,并且考虑标的资产的价

)

S

T

格是一个函数)(t

S,那么我们根据无套利定价原理可以得到其边界条件如下:

具体条件可以写为:

对于资产价格S较大时,需要一个替代的边界条件,但这时候必须要求期权的Δ为1;在这种情况下,我们所提出的边界条件一般针对未知函数的倒数,而非函数本身。这便是数学物理方程中所谓的Neumann边界条件。我们不会采取这种做法,因为这将使得数值解法复杂化了。

当我们面对障碍式期权时,事情可能就变得简单了。对敲出期权来说,例如一个向下触及失效看跌期权,在标的资产价格触碰到障碍时期权作废,价值为0。向上触及失效看涨期权的情况也是类似的,它们的优点都在于我们计算必须涉及到的边界即域是自然有界的(显然存在的)。美式期权的定价就显得更加复杂难以处理了,因为这涉及到了提前执行边界的问题。我们必须考虑什么水平的资产价格和在什么时间是期权的最佳实施点。因此,在我们解决问题的过程中必然产生一个自由边界。这就需要为不同的奇异期权设定不同的边界条件。如何计算出正确的边界条件以及使用数值方法逼近正确的结果,这依赖于对具体期权的选择。

利用显式法求解欧式期权

由于初次尝试解方程(9.1),我们不妨考虑一个简单的欧式看跌期权。我们分别用中心差分对S 进行求导,用向后差分对时间进行求导来逼近求解。这并不是唯一的方法,但是无论采取什么样的方法都必须保证边界条件是符合特定期权模型的。例9.1中的边界条件差分后的结果可以用以下的方程式来表示:

(9.2)

需要特别指出说明的是,由于存在终点条件的假设,因此方程必须适当地用回推法求解。不妨设(9.2)式中有j=N ,由于存在给定的终点条件,我们有一个未知量,1i N f ,可以认为它是关于三个已知量的函数。对其他的每个时间层(i )作同样的考虑。整理方程,我们可以得到:

(9.3)

此时有

function price=EuPutExpl(S0,K,r,T,sigma,Smax,dS,dt)

%建立网格,并且在必要时调整增量

M=round(Smax/dS);

dS=Smax/M;

N=round(T/dt);

dt=T/N;

matval=zeros(M+1,N+1);

vetS=linspace(0,Smax,M+1);

veti=0:M;

vetj=0:N;

%建立边界条件

matval(:,N+1)=max(K-vetS,0);

matval(1,:)=K*exp(-r*dt*(N-vetj));

matval(M+1,:)=0;

%建立三对角矩阵

a=0.5*dt*(sigma^2*veti-r).*veti;

b=1-dt*(sigma^2*veti.^2+r);

c=0.5*dt*(sigma^2*veti+r).*veti;

%求解方程

for j=N:-1:1

for i=2:M

matval(i,j)=a(i)*matval(i-1,j+1)+b(i)*matval(i,j+1)+...

相关文档
最新文档