第17章 数值方法

第17章    数值方法

若衍生证券估值没有精确解析公式时,可用数值方法,在本章中我们讨论可用于衍生证券估值的三种数值方法。第一种方法是第11章中介绍过的以树图表示资产价格变化的方法。第二种方法是第12章中解释随机过程时,简单叙述过的蒙特卡罗模拟方法。第三种方法是有限差分方法。

当衍生证券的收益依附于标的变量的历史数据或衍生证券依附于多个标的变量时,可用蒙特卡罗方法对该衍生证券进行估值。对于美式期权和持有者在到期前可做出提前执行决策的其他衍生证券,可用树图方法和有限差分方法来计算该衍生证券的价格C,除了估值衍生证券,上述各种方法也可以用来计算诸如delta、gamma和vega等套期保值参数。

本章中讨论的基本方法可以用来解决绝大部分衍生证券的估值问题。但是有些时候,需要修改这些过程来处理一些特殊情况。我们将在第24章中对此进行讨论。

17.1    二叉树图

在第11章中我们介绍了二叉树模型,并说明了如何利用它们对欧式和美式期权进行估值。第13章与14章中的Black-Scholes公式及其扩展形式给出了欧式期权的解析解。美式期权的定价没有解析公式.所以,对这种期权进行估值时,二叉树是非常有用的方法。

如第11章中所述,二叉树估值方法中将期权有效期分为很多很小的时间间隔△t。假设在每一个时间段内股票价值从开始的S运动到两个新值Su和Sd中的-个.这一模型可用图17.1说明。一般情况下,u>1,d<1。因此S到Su是价格“上升”运动,S到Sd是价格“下降”运动:假设价格上升的概率是p,下降的概率则为1-P。

风险中性估值

在第11章和第13章中我们介绍了所谓的风险中性定价原理。它可以表述如下:任何期权(或其他衍生证券)都可以在风险中性世界的假设基础上进行估值。它意味着我们可以使用如下的估值过程:

1.假设所有可交易证券的期望收益都是无风险利率

2.通过计算损益的期望值并按无风险利率贴现,可以估值衍生证券损益应用二叉树图模型时,这个原理是非常重要的。

p、u和d的确定

对于时间间隔△t内,对于股票价格变化的均值和标准差,参数p、u和d必须给出相应的正确值。由于我们在考虑风险中性世界,资产的期望收益是无风险利率r。假设资产支付红利收益率q,那么期望资本收益为r-q,因此在时间间隔△t段末的资产期望值为Se(r-q)△t其中S为该时间间初始股票价格。因此:

在13.4节中解释过,在一个小时间段△t内股票价格变化率的方差是σ2△t。变量Q的方差被定义为E(Q2)-[E(Q)]2。价格变化率为u的概率是p,价格变化率为d的概率是1一p。期望变化率为e(r-q)△t。则

方程(17.2)和方程(17.3)给出了p、u和d的两个条件。Cox、Ross和Rubin-stein(1979)使用的第三个条件是:

变量a有时被称为增长因子(growth factor)。方程(17.4)〜方程(17.9)和11.9节中的结果一样。

资产价格树图

使用二叉树图模型时的资产价格完整树图如图17.2所示。时间为0时,已知资产价格为S0;时间为△t时,资产价格有两种可能:S0u和S0d;时间为2△t时,资产价格有三种可能:S0u2、S0和S0d2。依此类推。一般情况下,i△t时刻,资产价格有,+1种可能,它们是

注意在计算图17.2中每个节点的股票价格时,使用了u=1/d的关系。例如,S0u2d=S0u。还要注意的是资产价格先上升再下降,与先下降再上升得出的值是一样的,也就是树图的节点是重合的。这样就大大减少了树图的节点个数。

通过树图倒推计算

期权的计算是从树图的末端(时刻T)开始向前倒推进行的。T时刻期权的价值是已知的。例如,一个看跌期权价值为max(K-ST,0),而一个看涨期权价值为max(ST-K,0),其中ST是T时刻的股票价格,K是执行价格。由于假设在风险中性世界中,T-△t时刻的每个节点上的期权价值都可以用T时刻期权价值的期望值以△t时间内对应的利率r贴现求得。同理,r-2△t时刻的每个节点的期权价值可用T-△t时刻的期望值以△t时间内对应的利率r贴现求出,其他节点依此类推。如果期权是美式的,则必须检查二叉树图的每个节点,以确定提前执行期权是否比将期权再持有△t时间更有利。最后,向前倒推处理所有的节点就可得到。时刻的期权值。

[例17.1]    考虑一个不付红利股票的5个月期美式看跌期权,股票价格为$50,执行价格为$50,无风险利率为每年10%,波动率为每年40%。用我们常用的符号来表示就是,S0=50,K=50,r=0.10,σ=0.40,T=0.4167,q=0。为构造一个二叉树,假如我们把期权的有效期分成5个时间段,每段长度1个月(=0.0833年),则△t=0.0833。运用公式(17.4)〜公式(17.7)可得:

图17.3所示的是本例中的二叉树图,由DerivaGem生成,在每个节点上有两个数字。上面的数字表示该节点的股票价格,下面的数字表示该节点的期权值。上升的概率总是0.5073;下降的概率总是0.4927。

在i△t(i=0,1,…,5)时刻计算出的第j(j=0,1,…,j)个节点的股票价格为S0uidi-j。例如,A节点(i=4,j=1)(即第4个时间步的价格向上的第2个节点)的股票价格是50x1.1224x0.89093=$39.69。最后面的节点的期权价格用max(K-ST,0)来计算。例如,在G节点的期权价格是50-35.36=14.64。从最后节点的期权价格可以计算出倒数第2个节点的期权的价格。首先,我们假设在这些节点期权没有执行。这意味着所计算的期权价格是一个时间步后△t时间内期权价格期望值的现值。例如,E节点期权价格的计算是:

然后,我们检查提前执行是否比等待更有利。在E节点,提前执行将使期权的值为0,因为股票价格和执行价格都是$50。显然,最好等一等。因此E节点上正确的期权值是$2.66。A节点则不然。期权如果执行,价值就是$50.00-$39.69,即$10.31,大于$9.90。如果到达A节点,期权就应执行,从而A节点上正确的期权值为$10.31。

前面节点的期权价格也用类似的方法计算。注意当期权是处于实值状态时提前执行并不总是最好的。考虑节点B,期权如果执行,它的价值是$50.00-$39.69,即$10.31。然而,如果继续持有,期权值为:

因此在这个节点上不应执行期权,因此该节点正确的期权值为$10.36。

从树图的最后向前倒推,我们得到了初始节点上的期权值是$4.49。这就是期权现值估计值。实际中所使用的△t会更小,节点数会更多。利用DeriveGem软件,可以得出使用30、50、100以及500个时间步,我们分别可以得到期权值为4.263、4.272、4.278以及4.283。

二叉树图方法的代数表达式

假设一个不付红利股票的美式看跌期权的有效期被分成N个长度为△t的小段。设(i,j)为i△t时刻第j个节点,其中0≤i≤N,0≤j≤i。定义fi,j为节点(i,j)的期权值。在节点(i,j)的股票价格为S0uidi-j。由于美式看跌期权在到期日的价值为max(K-ST,0),我们知道:

在i△t时刻从节点(i,j)向(i+1)△t时刻的节点(i+1,j+1)移动的概率为P,在i△t时刻从节点(E,j)向(i+1)△t时刻的节点(i+1,j)移动的概率为(1-P)。假设不提前执行,风险中性估价公式给出:

注意,因为计算是从T时刻倒推回来的,所以i△t时刻的期权价值不仅反映了在i△t时刻提前执行这种可能性对期权价值的影响,而且也反映了在随后的时间里提前执行对期权价值的影响。

当△t取趋于0的极限时,可以获得准确的美式看跌期权价值。实际上,N=30通常就可以得到合理的结果。图17.4给出了我们例子中的期权值的收敛状态。该图是利用DerivaGem软件中的Application Builder函数(参见Sample Application A)计算得出的。

估计Delta和其他套期保值参数的值

回顾一下,期权的delta(△)是期权价格变化与标的股票价格变化的比率。它的计算公式为

其中△S是股票价格的微小改变,△f是相应的期权价格的微小变化。△t时刻,在股票价格为S0u时,估计出期权值f11;在股票价格为S0d时,估计出期权值f10。换句话说,当△S=S0u-S0d时,△f=f11-f10。△t时刻的delta估计值为:

以上计算过程给出了△t时刻的delta估计值和2△t时刻的gamma估计值。实际中以上这些值常常作为0时刻的delta和gamma估计值。

从二叉树图中可进一步直接估计的套期保值参数是theta()。它是当其他条件不变时,期权价格随时间的变化率。如果树图从0时刻开始,则的估计值为:

为计算vega,可对波动率做微小的改变,即△σ,然后构造新的二叉树图,得到的新期权值(时间步长△t应保持相等)。vega估计值为:

其中f和f'分别是从最初的二叉树图和新建的二叉树图得出的期权价格估计值。rho可以类似计算。

[例17.2]    再考虑例17.1的情况,从图17.3可得f1.0=6.95和f1.1=2.16。式(17.8)给出delta的估计值:

即-0.012每日历天(calendar day)。这些当然只是粗略的估计。如果用更小的△t、更多的时间步数来构造-个树图,就能得到更准确的估计值。使用50个时间步,DerivaGem软件计算的delta、gamma和theta估计值分别为-0.415、0.034和-0.0117。对参数做微小的改变,再计算vega和rho,估计值分别为0.123和-0.072。

17.2    指数期权、货币期权和期货期权的二叉树法估值

在第11章与第14章中讲述过,估值期权的时候,股票指数、外汇以及期货合约可以看作是支付已知收益率的资产。对于股票指数,相应收益率就是计算股票指数的股票组合的红利收益率;对于外汇来说,收益率是国外无风险利率;对于期货合约,收益率是国内无风险利率。因此,通过以相应收益率代替公式(17.7)中的q,二叉树法就可以用来对股票指数、外汇和期货期权进行估值了。

[例17.3]    考虑一个4个月期的指数期货的美式看涨期权,当前期货的价格是300点,执行价格是300点,无风险利率是年利率8%,指数的波动率为年利率30%。为了构造二叉树图,我们把期权的有效期分成4个时间段,每个时间段为1个月。在这种情况下,F0=300,K=300,r=0.08,σ=0.3,T=0.3333,△t=0.0833。由于期货合约可以看作是一个以利率r支付连续红利,因此式(17.7)中的q就应该等于r。这也就使得a=1。构造二叉树图所需的其他参数为:

DerivaGem中得到的二叉树图如图17.5所示(上面的数字是期货价格;下面的数字是期权价格)。期权的估计值为19.16。用更多的时间步来构造一个树图,就会得到更准确的估计值。使用50个时间步,DerivaGem软件计算的估计值为20.18;使用100个时间步,估计值为20.22。

[例17.4]    考虑一个1年期英镑美式看跌期权。当前的汇率是$1.6100,执行价格是$1.6000,美国的无风险利率是8%/年,英镑的无风险利率是9%/年,英镑汇率的波动率为每年12%。这种情况下,S0=1.61,K=1.60,r=0.08,rf=0.09,σ=0.12,T=1.0。为了构造二叉树图,我们把期权的有效期分成4个时间段,每个时间段为3个月期,所以△t=0.25。此时,q=rf,因此式(17.7)给出:

DerivaGem中得到的二叉树如图17.6所示(上面的数字是汇率;下面的数字是期权价格)。期权的估计值为$0.0710。使用50个时间步,DerivaGem软件计算的估计值为0.0738;使用100个时间步,估计值也为0.0738。

17.3    支付已知红利的股票期权的二叉树模型

现在我们转向一个更棘手的问题,就是如何将二叉树图模型应用于支付红利的股票。与第13章一样,为了便于讨论,红利一词指在除息日,由于支付红利而导致的股票价格下降幅度。

已知红利收益率

假设在未来某一确定时间将支付一次红利,且已知红利率(即红利与股票价格之比),那么,二叉树图的形状如图17.7所示,分析方法与刚才描述的方法类似。如果时刻i△t在除息日之前,则树图上这些节点相应的股票价格为:

其中u和d与式(17.5)和(17.6)中的定义相同。如果时刻i△t在除息日之前,则树图上这些节点相应的股票价格为:

其中δ是红利收益率。如果在期权有效期内有多个已知红利收益率时,可以进行同样处理。若δ1为0时刻到i△t时刻之间所有除息日的总红利收益率,则i△t时刻节点的相应的股票价格为:

已知红利数额

在某些情况下,最现实的假设莫过于事先已知红利数额而非红利收益率。如果假设股票的标准差σ是常数,则二叉树图的形状如图17.8所示。树枝不再重合,这意味着如果股票支付多次红利的话,所要估算的节点的数量可能变得很大。假如只有惟——次红利,除息日T在K△t到(K+1)△t之间,而且红利数额为D。当i≤k,在时刻i△t树图中节点对应的股票价格为:

其中j=0,1,2,…,i-1,因此将有2i而不是i+1个节点。当i=k+m时,将有m(k+2)个而不是k+m+1个节点。

如第13.12节中的欧式期权分析一样,上述问题可以进行如下的简化。假设股票价格由两部分组成:一部分是不确定的,而另一部分是期权有效期内所有未来红利的现值。跟从前一样,假设在期权有效期内只有一个除息日T,而且K△t≤T≤(k+1)△t。在i△t也时刻,股价不确定部分的价值S*为:

其中D是红利。设σ*为S*的波动率,假设σ*是常数。用σ*代替式(17.4)、(17.5)、(17.6)和式(17.7)中的σ可计算出参数p、u和d,这样就可按常规方法构造模拟S*的二叉树图了。通过把未来红利(如果有的话)的现值加在每个节点的股票价格上,就会使原来的二叉树图转化为另一个模拟S的二叉树图。假设S0*是0时刻S*的值。在i△t时刻,当i△t<T时,这个树图上的节点所对应的股票价格为:

这种方法的优点是,它与第13.12节欧式期权处理方法相互一致,成功地恢复了树枝重合的状态,这样在i△t时刻就只有i+1个节点了。这种方法可以直接推广到处理多个红利的情况。

[例17.5]    考虑一个有效期为5个月期的股票看跌期权,预计在期权有效期内该股票支付一次$2.06红利。初始的股票价格是$52,执行价格是$50,无风险利率为每年10%,波动率为每年40%,除息日是在3个半月的那天。

我们首先构造一个树图来模拟S*,S*为股票价格减去期权有效期内未来红利的现值。首先,在零时刻红利的现值是:

因此S*的初始值为$50.0。假设S*的波动率为每年40%,则图17.3给出了一个S*的二叉树图(S*的初始值和波动率与构成图17.3的股票价格的初始值和波动率是一样的)。给每个节点加上红利的现值就得到了一个如图17.9所示的S的二叉树图模型。与图17.3一样,在每个节点上价格上升的概率是0.5073,下降的概率是0.4927。按通常的方法通过二叉树向后倒推就可得到期权的价格是$4.44。使用50个时间步,DerivaGem软件计算的期权估计值为4.202;使用100个时间步,估计值为4.212。

当期权的有效期比较长(3年或3年以上)的时候,更恰当的假设是已知红利收益率而不是已知红利数额,因为未来股票价格未知的情况下,很难正确知道红利数额。假设已知连续支付的红利率通常是为了方便。这样,对支付红利股票的期权估值和对股票指数的期权估值是类似的。

控制变量的技术

进行美式期权定价时,我们可采用所谓的控制变量技术(conlrol variatetech-nique)方法。也就是用同一个树图分别计算出美式期权的价值fA和与其对应的欧式期权的价值fE,并用Black-Scholes公式计算出欧式期权的价格扁。假设用树图方法计算出的欧式期权价值的误差等于用树图方法计算出的美式期权价值的误差,则美式期权的价值估计值可由下式给出:

为了说明控制变量技术,我们沿用图17.3的例子,并假设期权是欧式期权。这时的期权定价如图17.10所示,所得价格为$4.32。用Black-Scholes公式计算出真正的欧式期权价格是$4.08。图17.3中美式期权的估计值是$4.49。因此用控制变量技术估计的美式期权价格为:

4.49+4.08-4.32=4.25

使用100个时间步计算得到的更为精确的美式期权价格是$4.278。因此,在本例中,控制变量方法得到的结果比二叉树图方法得到的估计值$4.49,确实有了明显的改进。

控制变量方法实际上是利用树图来计算欧式期权与美式期权价格之间的差值,而不是美式期权价格本身。在下面讨论的蒙特卡罗模拟方法中,我们还要进-步运用该方法。

17.4    构造树图的几种方法

Cox、Ross和Rubinstein方法并不是构造二叉树图的惟一方法。我们还可以令p=0.5,以代替式(17.2)和式(17.3)中u=1/d的假设。当△t的高阶小量可以忽略时,我们可以得到下面一组解:



这样,我们可以令p=0.5来构造指数、外汇、期货合约的二叉树图模型。

与Cox、Ross和Rubinstein的方法相比,这一方法的优点在于,无论σ和时间步是多少,概率值总为0.5。该方法的缺点是不能够直接地计算delta、gamma和rho,因为树图不再以初始股票价格为中心了。

[例17.6]    考虑一个9个月期的加元美式看涨期权。当前汇率为0.7900,执行价格为0.7950,美国无风险利率为每年6%,加拿大市场上的无风险利率为每年10%,汇率的波动率为4%。用符号表示就是:S0=0.79,K=0.795,r=0.06,rf=0.10,σ=0.04,T=0.75。为构造二叉树图,我们将该期权有效期等分成3个时间段,每个时间段为期3个月,因此△t=0.25。令二叉树的每个分支概率等于0.5,则

该汇率的二叉树图如图17.11所示。由二叉树方法得出该期权的价值为$0.0026。


三叉树图

另一种替换二叉树图的方法是三叉树图法。该树图的通常形状如图17.12所示。假设△t为时间步的长度,pu和pm、pd分别为每个节点价格上升、持平和下降的概率。对不付红利股票,当△t的高阶小量可忽略时,满足股票价格变化均值和方差的那些参数分别为:

三叉树图中的计算过程类似于二叉树图方法中的计算过程。从树图的末端开始向前进行倒推计算。在每个节点上,我们计算提前执行时的价值和不提前执行时的价值。不提前执行时的价值为

其中,fu、fm和fd分别为后一上、中、下节点上的期权价值。可以证明,三叉树图方法与第17.8节中介绍的显性有限差分方法一致。

Figlewski和Gao提出了三叉树方法的改进形式,并称它为自适应Mesh模型。在该模型中,高分辨(即△t小)的树图被嫁接到低分辨(即△t大)的树图。对普通的美式期权进行估值时,对接近到期日执行价格的树图部分使用高分辨是非常有用的。

17.5    依赖时间变量的参数

到现在为止,我们假定了r、q、rf和σ是常数。实际应用当中,它们更多被假定为依赖于时间。假设t至t+△t之间的时间段内,这些变量的价值等于它们的远期价值。

在Cox-Ross-Rubinstein二叉树模型中,可以将r和q(或rf)表示成时间的函数。我们设t时刻的节点上

其中,f(t)是t至t+△t时刻之间的时间段内的远期利率,g(t)是这个时间段内的q的远期价值。由于u和d并不随a的变化而改变,所以该二叉树图模型的几何形状也不会改变。在△t时刻节点分支的概率为:

除了对于t和t+△t之间的时间段使用贴现率f(t),余下过程和我们之前利用二叉树图的过程完全一样。

在二叉树图,假设波动率σ为时间的函数,则扩展过程更为复杂。一种办法是对时间步长度除以方差率。那么,u和d的值总是相同,树图被重合了。假设σ(t)是t期限的波动率,那么到t时刻累计方差为σ(t)2t。定义V=σ(T)2T,其中T是树图的期限,并设ti为第i个时间步结束的时刻。如果总共有N个时间步,我们需要选择ti,使得σ(ti2ti=iV/N成立。那么,对于所有的i、ti-1至ti时间段内的方差等于V/N。

对于三叉树图,我们可以使用构建树图的一般过程来满足依赖时间的利率和波动率(请参考作者网站中的技术说明9)。

17.6    蒙特卡罗模拟

商业剪影17.1    用蒙特卡罗模拟计算回周率

假设图17.3中正方形的边长为1单位。如果你随机地往正方形扔5个标,那么它们都中在圆内的概率为多少呢?正方形的面积为1.0,圆的半径为0.5,面积是π乘以半径的平方,即π/4。因此,标中在圆内的概率应该是π/4。那么我们可以通过4乘以标中在圆内的概率来估计π。

我们可以利用ExcelX作表来模拟投标过程,如表17.1。我们定义单元A1和B1=RAND()。A1和B1都是0和1之间的随机数字,分别定义所投的标离图17.13中的正方形右边和底边的距离。随后,我们定义单元C1

=IF((Al-0.5)*2+(B1-0.5)^2<0.5^2,4,0)

如果标在圆内,设定C1的值为4。其他情况下都为0。

和第1行类似地定义工作表接下来的99行(这是在Excel中“选择一拉申”的操作)。定义C102=AVERAGE(C1:C100),C103=STDEV(C1:C100)。C102(表17.1中是3.04)从100次模拟运算估计的π值。C103是我们得到的结果的标准差。我们将在例17.7中看到,这可以用来评估估计值的准确程度。增加模拟运算次数,可以提高准确程度,但是往正确的值3.14162收敛的速度比较慢。

我们开始讲述蒙特卡罗模拟,它是和二叉树图很不一样的衍生品估值方法。商业剪影17.1中阐述了蒙特卡罗模拟的随机抽样思想,并且说明了如何设计简单的Excel程序来估值π。

用来估值期权时,蒙特卡罗模拟中利用风险中性估值结论。我们模拟变量的很多路径,得出风险中性世界中的期望损益,再以无风险利率贴现这个期望损益。考虑一个T时刻实现损益、只依赖于单种市场变量S的衍生证券。假设利率是常数,我们就能通过以下步骤对衍生证券进行估值:

1.模拟风险中性世界中s的一种随机抽样路径。

2.计算衍生证券的损益。

3.重复步骤1和2,得出风险中性世界中衍生证券损益的更多样本值。

4.计算样本损益值的算术平均,得到风险中性世界中期望损益的估计值。

5.以无风险利率贴现期望损益,得出衍生证券的估计值。

假设这个标的市场变量在风险中性世界中的行

其中dz服从维纳过程,是风险中性世界中的期望收益,σ是波动率。为了模拟S的路径,我们将衍生证券的有效期分成N个长度为△t的小时间段。方程(17.13)近似地变成

其中S(t)表示t时刻的S值,∈是标准正态分布中抽取的一个随机样本。这样,可以从初始的S值得到△t时刻的S值。再从△t时刻的S值得到2△t时刻的S值,依此类推。在12.3节中给出了这种过程的一个例子。一次模拟运算中需要从正态分布抽取N个随机样本并构建S的完整路径。

实际应用中,模拟lnS比模拟S本身得到的结果通常更为准确。依据伊藤定理,lnS的轨迹为

商业剪影17.2    验证Black-Scholes

一个欧式看涨期权的Black-Scholes定价公式可以用非常多时间步的二叉树图来进行验证。另一种验证方法是蒙特卡罗模拟法。我们构建的工作表可能如表17.2。单元C2、D2、E2、F2和G2分别包含S0、K、r、σ和T。单元D4、E4和F4分别计算d1、d2和Black-Sc-holes价格(工作表样本中的Black-Scholes价格为4.817)。

NORMSINV是标准正态分布函数的逆累积分布函数。因此,用NORMSINV(RAND())可以从标准正态分布抽取一个随机样本。我们定义单元A1

=$C$2*EXP(($E$2-$F$2*$F$2/2)*$G$2+$F$2*NORMSINV(RAND())*SQRT($G$2))

这是从T时刻所有股票价格集合中抽取的一个随机样本。我们定义单元B1

=EXP(-$E$2*$G$2)*MAX(A1-$D$2,0)

这是一个看涨期权损益的现值。和第一行类似地定义工作表中随后的999行(这是在Excel中“选择一拉申”的操作)。定义B1002=AVERAGE(B1:B1000),B1003=STDEV(B1:B1000)。B1002(样本工作表中的值是4.98)是期权价格的估计值。该估计值和Black-Scholes价格接近。我们将在例17.8看到,B1003可以用来评估这一估计值的准确程度。

使用lnS的一个优点是它服从广义维纳过程。也就是说,对于所有的T,下式成立:

该公式可以用来对r时刻提供非标准化损益的衍生证券估值。商业剪影17.2中可以看到,该公式也可以用来检验Black-Scholes公式。

蒙特卡罗模拟方法的主要优点在于,不管损益依赖于标的变量S的路径,还是只依赖于S终值,都可以使用这个方法(例如,损益依赖于S的平均值的时候,可以使用蒙特卡罗模拟方法)。损益很可能在衍生证券有效期内的多个时点上发生,而不是在到期时刻全部发生,对S的任意随机过程都适用。在下面部分,我们将看到该方法可以扩展到衍生证券损益依赖于多个市场变量的情况。蒙特卡罗模拟方法的缺点是计算过程花费很多时间,而且很难处理有提前执行可能性的情况。

依赖多个市场变量的衍生品

从正态分布中产生随机样本

运用下式可以从一个单变量标准正态分布中获得近似样本值。

其中Ri(1≤i≤12)是0~1之间的相互独立的随机数,∈是从Φ(0,1)中获得的所要求的样本。这一近似方法可满足大多数要求。另一种方法是在Excel中利用=NORMSINV(RAND()),如商业剪影17.2所述。

如需从标准正态分布中抽取两个相关的样本∈1和∈2则可用如下的方法。x1和x2是用前述方法从单变量标准正态分布中抽取的独立样本。则所求样本∈1和∈2的计算如下:

其中ρ是相关系数。

更为一般地,设n维正态分布中变量i和变量j之间的相关系数是ρij,我们需要从中抽取n个相关变量。我们首先从单变量标准正态分布中抽取n个独立变量xi(1≤i≤n),则所求样本∈i(1≤i≤n)可以定义如下:

模拟运算数目

运用蒙特卡罗进行模拟运算的精度取决于模拟次数的多少。通常需要计算该衍生证券模拟运算给出的贴现终值的标准差及均值。定义μ和ω分别是其均值和标准差,变量μ是模拟运算给出的衍生证券估计值。则该估计值的标准误差是:

 

上式表明,我们对该衍生证券价值的不确定性和模拟运算次数的平方根成反比。因此,若要将精确度提高一倍,模拟运算次数需提高为原来的4倍;若要将精确度提高为原有的10倍,则模拟运算次数需为原来的100倍。如此等等。


应    用

与其他方法相比,在有三个和三个以上多个随机变量时,蒙特卡罗模拟的运算是很有效率的。这是因为随变量个数的增加,蒙特卡罗模拟运算的时间近似为线性增长,而其他大多数方法随变量个数的增加其计算时间呈指数增长。蒙特卡罗模拟方法还有一个优点就是给出了估计值的标准误差,另一个优点是适用于复杂随机过程以及复杂终值的计算。特别是当损益值依赖于某个变量遵循的整个路径的函数,而不是该变量终值时,该方法也适用。

计算套期保值参数


通过一个树图采样

对于一个标的变量,除了从随机过程以随机取样的方式进行蒙特卡罗模拟之外,我们也可以利用N个时间步的二叉树图,并且模拟可能的2N个路径。考虑一个“上升”概率为0.6的二叉树。通过二叉树随机取样的步骤如下。在每个节点上,我们随机抽取0~1之间的一个数。如果这个数小于0.4,我们选择“下降”路径。如果大于0.4,则选择“上升”路径。完成初始节点到树图的最终节点的完整路径之后,我们就可以计算损益。完成了第一次模拟过程,使用同样方法得到更多的模拟过程。这些样本的损益的平均值以无风险利率贴现,得到衍生证券的估计值。

[例17.9]    用图17.3中的树图为一个损益为max(Save-50,0)的期权估值。其中Save为5个月内股票价格的平均值(包括初始和期末价格)。这就是所谓的亚式期权。表17.3中给出了模拟运算数目为10时的一种可能结果。

以无风险利率贴现损益平均值,得出期权价值。这个例子中,损益的平均值为$7.08,无风险利率为10%,得出的期权值为7.08e-0.1x5/12=6.79(这个例子只是解释了这种方法。实际应用中,我们会使用更多时间步和更多的模拟运算次数来得到更精确的结果)。

17.7    方差减少方法

如果模拟过程是按照我们以上描述的方法进行,则往往需要取很大的模拟运算数目值,才能得到精度合理的f估计值。这将消耗大量的计算时间。在本节我们介绍几种方差减少方法,可使所需计算时间显著减少。

对偶变量技术

在对偶变量技术中,一次模拟运算包括计算衍生证券的两个值,第一个值f1是用通常的方法算得的;第二个值f2是通过改变所有标准正态分布样本的符号计算出的(如果∈是用来计算f1的样本,则-∈是用来计算f2的样本)。由该模拟运算得出的衍生证券的样本值是f1和f2的平均。这种方法很有效,因为当一个值高于真实值时,则另一个值必偏低,反之亦然。

控制变量技术

在讨论美式期权的定价时,我们曾经给出过一个控制变量技术的例子(参见第17.3节)。控制变量技术适用于有两种相似衍生证券A和B的情况。衍生证券A是想要估值证券;衍生证券B是与衍生证券A相似且能得到解析解。使用相同的随机数流和相同的△t平行地进行两次模拟。第一次模拟是用来获得对A的价值的估计值f*A;第二次模拟是用来获得对B的价值的估计值f*B。用下式可以得到一个对A的价值的更好的估计值fA

其中fB是已知的衍生证券B的解析解的真实值。Hull和White曾经举例说明了如何用控制变量技术分析随机波动率对于欧式看涨期权价格的影响。在这种情况下,fA为假设波动率为随机变量时的期权价值,而fB则为假设波动率为常数时以Black-Sc-holes公式得出的该期权的价值。

重点抽样法

下面的例子可以很好地说明重点抽样法的应用。假设我们要为一个处于深度虚值状态的欧式看涨期权定价,其执行价格为K,有效期为T。如果我们还用通常的办法对T时刻标的资产价格的路径抽样,大部分路径上的损益的终值为零。由于零终值的路径对最终的期权价值影响很小,这样计算无疑是浪费很多时间。因此我们只选取那些股票价格在到期日大于K的路径,也就是只选择重要路径来进行期权定价

如果F是T时刻股票价格的无条件概率分布函数,q为到期日股票价格大于K的概率(解析值已知),那么G=F/q是以股票价格大于K为条件的股票价格概率分布。在重点抽样法下,我们是从G而不是从F抽取样本。该期权价值的最终估计值是贴现终值的平均值与q的乘积。

间隔抽样法

相比用概率分布抽取随机变量,抽取代表值可以提高准确度。间隔抽样法就是这样的方法。假设我们需要从一个概率分布抽取100。个样本,那么我们可以将分布分为1000个相同长度的间隔,并从每个间隔抽取该间隔的代表值(通常为均值或中位数)。

在将标准正态分布分为n个间隔的情况下,第i个间隔的代表值为:

这里N-1累计正态分布函数的反函数。例如,当n=4时,这4个间隔的代表值分别为N-1(0.125)、N-1(0.375),N-1(0.625)和N-1(0.875)。利用Excel的NORMSINV函数,可求得函数N-1的值。

矩匹配法

矩匹配法中对标准正态分布中抽取的样本进行调整,使其一阶、二阶或者更高阶的其他矩彼此匹配。假设为计算在某个特定时间段内某个特定变量值的变化量,我们从均值为0、标准差为1.0的正态分布取样。假设样本是∈(1≤i≤n)。为使前两个矩相匹配,我们分别计算样本值的均值m和样本值的标准差s。然后定义调整变量∈*i(1≤i≤n)为:

这些经调整的样本的均值为零,标准差为1.0。随后的所有计算中采用这些经过调整后的样本。

矩匹配法可以节省计算时间,但却加重了存储负担,因为所有的抽样值都要存储至模拟过程的最后阶段。矩匹配法又称为二次抽样法(quadratic resampling)。经常与对偶变量技术结合起来使用。因为后者可以自动使所有奇数阶矩相匹配,这样矩匹配法中只需来匹配二阶矩,可能情况下,继续匹配四阶矩。

利用拟随机数序列

拟随机数序列(quasi-random sequences),也称低差异序列(low-discrepancyse-quences),是指概率分布中的代表样本组成的序列。有关拟随机数序列的具体应用,Brotherton-Ratcliffe以及Press等人在他们相关的论文中都有阐述。2122拟随机数序列的优点在于当M表示样本大小时,其结果的标准误差与1/M正比而不是与成正比。

拟随机数序列抽样法类似于间隔抽样法,目的是抽取标的变量的代表值。间隔抽样法中我们假定了事先已知道需要抽取的样本数。而拟随机数序列抽样法更为灵活,其中抽取样本的时候,总是不断“填补”已存在样本之间的空隙。因此在模拟过程中的每个阶段,抽取的样本点总是大致均匀地分布于整个概率分布空间。

图17.14显示的是用Sobol提出的方法产生的二维随机点。可以看出,后来抽取的样本点总在试图填补前面的样本点留下的空隙。

17.8    有限差分方法

有限差分方法通过求解衍生证券所满足的微分方程为衍生证券估值。将微分方程转化为一系列的差分方程后,再用迭代法求解这些差分方程。

为了说明这种方法,我们考虑如何用它来估算一个红利收益率为q的股票的美式看跌期权的价格。根据方程(14.6),该期权必须满足的微分方程是:

隐性有限差分方法

点(i,j)的af/as的后向有限差分近似可由式(17.23)给出。(i,j+1)点的后向差分近似为:


 式(17.28)、(17.29)和式(17.30)定义了图17.15的坐标方格中三个边界的看跌期权值,其中,S=0,S=Smax和t=T。还需用式(17.27)来求出所有其他点的f值。首先求解与T-△t时刻相对应的点。利用式(17.27)和i=N-1可以给出联立方程组:

控制变量技术可与有限差分方法联系起来使用。用同一个坐标方格可以估算出某个期权的价值,该期权类似于所要求计算的那个期权,但可得到解析解。然后再用式(17.20)。

[例17.10]    表17.4表示了用上述隐性有限差分方法求解例17.1中美式看跌期权定价的结果。M、N和△S的值分别取20、10和5。因此就把股票价格从$0到$100分成了每$5一个间隔段,把期权整个有效期分成每半个月一个间隔段,由此可估算期权价格。由坐标方格得出的期权价格为$4.07。用同一个坐标方格得出的相应欧式期权价格是$3.91。用Black-Scholes-Merton公式得出真正的欧式期权价格是$4.08因此用控制变量方法估计的美式期权价格为:

$4.07+$4.08-$3.91=$4.24

显性有限差分方法

隐性有限差分方法的优点在于它很有效。当△S和△t趋于零时它总是收敛于微分方程的解。隐性有限差分方法的缺点之一是为了从fi+1,j的值计算出fi,j的值必须同时求解M-1个联立方程。如果能够假设在坐标方格上(i,j)点的af/as而值和为a2f/as2值与(i+1,j)点的值对应值相同,该方法就可以简化。于是式(17.24)和式(17.26)变成:

[例17.11]    表17.5表示了用显性有限差分方法为例17.1中美式看跌期权定价的结果。同在例17.10中一样,M、N和△S的值分别取20、10和5。由坐标方格得出期权价格是$4.26。

置换变量

使用有限差分方法时,以lnS作为标的变量而不是S,可以提高计算效率定义Z=lnS。方程(17.21)变成:

那么该坐标方格估算的就是Z的相等间隔值的衍生证券值,而不是S的相等间隔值时的衍生证券值。隐性有限差分方程变成:

与三叉树图方法的关系

显性有限差分方法等价于三叉树图方法。在式(17.34)中a*j、b*j;、c*j的表达式中,我们把以下项式解释为:

在图17.17中对这一解释进行了说明。这三个概率合起来为1。它们给出的△t时间间隔内股票价格的预期增长为(r-q)j△S△t=(r-q)S△t。这就是在风险中性世界中的预期增长值。当△t很小时,它们还给出了△t时间间隔内股票价格变化的方差是σ2△S2△t=σ2△S2△t。这满足S所遵循的随机过程。i△t时刻的f值是由(i+1)△t时刻,f在风险中性世界中的期望值以无风险利率贴现计算出的。

必须都为正。在例17.11中,当j≥13(即当S≥65)时,1-σ2j2△t也为负值。这解释了负的期权价格和表17.5左上方的其他矛盾现象的原因。这个例子说明了显性有限差分方法存在的主要问题:由于与树图有关的概率可能为负值,所以它的解有可能不收敛于微分方程的解。

当应用置换变量方法时[参见公式(17.36)~公式(17.39)],则Z=lnS。Z减少△Z、Z保持相等、Z增加△Z的概率分别为:

其他有限差分方法

人们提出了许多种其他有限差分方法,它们兼具隐性有限差分方法的某些特性和显性有限差分方法的某些特性。

从一个节点向另一个节点运动时,我们选择使用隐性方法或显性方法,这就是所谓的“跳格子方法”(hopscotch method)。图17.18说明了这种方法。在每个时刻,我们首先按通常的显性方法计算所有“显性节点”。然后,我们不用求解联立方程组就可以得到“隐性节点”,这是因为在附近节点的值已经求出来了。

Crank-Nicholson方法是求隐性有限差分方法和显性有限差分方法的平均值。隐性的有限差分方程(17.27)给出:

这说明使用Crank-Nicholson方法类似于使用隐性有限差分方法。Crank-Nicholson方法的优点是它比隐性和显性有限差分方法收敛更快。

有限差分方法的应用

在为衍生证券定价时,有限差分法可处理的衍生证券类型与树图方法相同。它们既能处理欧式又能处理美式衍生证券,但是当衍生证券损益取决于标的变量过去的历史时,却不能方便地使用这些方法。有限差分法可用于多个标的变量的情况,但代价是计算时间会大大增加。这时图17.15中的坐标方格就变成多维的了。

计算套期保值参数的方法与在树图方法中所用的计算是类似的。delta,gamma和theta可以直接用坐标方格中计算出的fi,j求出。要计算vega,首先必须让波动率有一个很小的变化,然后再用同一个坐标方格重新计算衍生证券的价值。

小    结

在本章,我们讨论了当不存在解析解时,用三种不同的数值计算方法为衍生证券估值。包括二叉树图方法、蒙特卡罗模拟方法和有限差分方法。

二叉树图方法假设在每个小的时间间隔△t内,股票价格或者按比例u上升,或者按比例d下降。u、d的大小和相应的概率经过仔细选择后,可使股票价格的变化在风险中性世界中具有正确的均值和标准差。从二叉树图的末端开始向前进行倒推计算,可以求出衍生证券的价格。对美式期权而言,在某个节点的价值是如下两个值之中的较大者:(a)它立即执行时的价值;(b)继续持有△t时间的贴现期望值。

蒙特卡罗模拟方法利用随机数对许多不同的路径进行抽样,在风险中性世界中衍生证券的标的变量遵循这些轨迹。每个路径都可计算出终值,并将这个终值按无风险利率进行贴现。贴现后的终值算术平均值是衍生证券价值的估计值,

有限差分方法将标的变量的微分方程转换成差分方程来求解。类似树图方法,计算是从衍生证券有效期最后时刻开始,倒推至衍生证券有效期的初始时刻。显性有限差分方法在功能上与三叉树图方法类似。隐性有限差分方法比显性有限差分方法更复杂,但优点是使用者不必为保证收敛性而进行任何特定的事先假设。

在实际中选择什么方法取决于被估值的衍生证券的特性以及所要求的精度。蒙特长罗模拟从证券有效期的开始到结束一直都在运作,适用于欧式衍生证券,能处理许多损益状态很复杂的情况。随着标的资产数量增加,这个方法相对而言效率提高。树图方法和有限差分方法,其计算都是从衍生证券有效期最后时刻开始,倒推至衍生证券有效期的初始时刻,能够处理美式和欧式衍生证券定价。然而,当最终的损益状态依赖于标的变量的过去历史以及它们的当前值时,应用这些方法有很大的困难。并且,当包括三个或更多变量时,计算量相当大。

参考读物

General

Clewlow,L.,and C.Strickland,Implementing Derivatives Models.Chichester:Wiley,1998.

Press,W.H.,S.A.Teukolsky,W.T.Vetterling,and B.P.Flannery,Numerical RecipesinC:The Art of Scientific Computing,2nd edn.Cambridge University Press,1992.

On Tree Approaches

Cox,J.C,S.A.Ross,and M.Rubinstein.“Option Pricing:ASimplified Approach,”Journal of Financial Economics,7(October 1979):229-64.

Figlewski,S.,and B.Gao.“The Adaptive Mesh Model:A New Approach to Efficient Option Pricing”Journal of Financial Economics,53(1999):313-51.

Hull,J.C.,and A.White,“The Use of the Control Variate Techniquein Option Pricing,”Journal of Financial and Quantitative Analysis,23(September 1988):237-51.

Rendleman,R.,and B.Bartter,“Two State Option Pricing,”Journal of Finance,34(1979):1092-1110.

On Monte Carlo Simulation

Boyle,P.P.,“Options:A Monte Carlo Approach,”Journal of Financial Economics,4(1977):323-38.

Boyle,P.P.,M.Broadie,and P.Glasserman.“Monte Carlo Methods for Security Pricing,”Journal of Economic Dynamics and Control,21(1997):1267-1322.

Broadie,M.,P.Glasserman,and G.Jain.“Enhanced Monte Carlo Estimates for American Option Prices,”Journal of Derivatives,5(Fall 1997):25-44.

On Finite Difference Methods

Hull,J.C.,and A.White,“Valuing Derivative Securities Using the Explicit Finite Difference Method,”Journal of Financial and Quantitative Analysis,25(March 1990):87-100.

Wilmott,P.,Derivatives:The Theory and Practice of Financial Engineering.Chichester:Wiley,1998.