二叉树和三叉树的期权定价方法

二叉树和三叉树的期权定价方法
二叉树和三叉树的期权定价方法

第七章期权定价的二叉树和三叉树方法在这一章中,我们利用二叉树和三叉树方法为期权定价。在第2.1节中我们已经介绍了利用基础途径的二叉树方法解决期权价格不确定性的模型。二叉树方法依赖于对相关随机过程的离散化并利用计算和内存的结合以满足易于管理的要求。我们也在,我们必须把原来的单步格方法扩展到多步格方法,但是我们必须校对格使它能够反映出相关模型,且这个模型是连续时间、连续状态的随机微分方程。然后我们就可以推广到多步的二叉树格和三叉树格。

在7.1节中,我们从如何利用在离散概率分布的时刻下随机价格波动校准简单的二叉树格。从这点来看,弄清楚网格技术和蒙特卡洛模拟之间的联系是非常重要的,而利用时刻匹配技术缩减方差可以看作一种快捷的抽样排序。然后我们讨论内存效率的实现是如何设计的,美式期权定价是7.2节的主题。同时,还是要注重它和其他技术方法的联系。现在我们要做的本质上是一个非常简单满足动态规划原则的程序,我们将在第10章程序中进一步拓展。在7.3节中,我们把上述方法推广到双标的资产的情形,虽然这是一个最简单的情形,但是我们可以从这个情形中看出内存控制是这一情形的基础。另一种一般化的代表是三叉树格方法,三叉树格方法可以作为一种更普遍的有限差分方法(具体将在,最后,我们在7.5节中具体讨论网格化方法的优势和劣势。

期权定价的二叉树和三叉树格方法

图7.1 单时期二叉树格

7.1 二叉树定价方法

在,我们已经考虑过单步二叉树方法在无套利情况下的期权定价,

这里我们为了方便直接利用图7.1。其主要思想是复制两个资产,一

个是无风险资产,另一个是相关股票。利用这两项资产,我们可以通

过它们的组合塑造任何收益率的资产。如果我们令u 和d 为任意两个

价格的角标,我们可以看到期权的价格应该为0f 则,

])1([0d u t r f p pf e f -+=-δ (7.1)

在公式7.1中u f 和d f 是标的资产在涨跌两种情况的期权价格,p 是风

险中性前提下相关资产升值的概率。

为了寻找一个更好的不确定性模型,我们可以增加分类的情况,

复制期权收益,甚至我们可以使用更多的资产,或允许中间日期交易。

第二种可能性更为实际,并且也是必不可少的,例如,对于在期权的

存续期内可以随时执行的美式期权来说。对其求极限,就会得到连续

时间模型,并且其最后收敛于Black —sholes 方程。当Black —sholes

方程没有解析解的时候,我们必须采取一些离散化的途径,比如说可

以通过蒙特卡洛模拟从而估计出风险中性条件下预期收益,或者建立

一个自适应网格的有限差分方法去解决相应的PDE 模型。就像我们

在图7.2中展示的一样,多级二叉树格方法就是一种可以选择的离散

化方法。我们也可以考虑利用树图,但是要注意使计算方法易于控制。

二叉树格定价

图7.2 新生成的二叉树图

这里我们为了方便令d u /1=。虽然这个不是必须的,但是在后面

我们可以看到,这个假设令模型简化了很多即每上一步紧接着下一步

都会得到相同的初始价格。

正如我们从图中看到的一样,我们仅用了有限个价格步。这个有

可能就是实施该方法的优势。但是,我们该怎么恰当的确定u 和d 的

值呢,我们应该利用近似相关的连续过程去校对网格。

二叉树格方法应该是风险中性过程一个良好的相似。

因此,我们应以这样的方式参数设置晶格,即保持着连续时间模型的

一些基本属性,这一过程就叫做校准。从t S 开始,经过一个小的时间

步t δ,从2.5节我们可以看到新价格是一个随机变量t t S δ+,且

利用对数正态对数分布的特性,我们得到

t r t t t e S S E δδ=+]/[ (7.2)

)1(]/[22-=+t t r t t t e e S S Var δσδδ (7.3)

一个合理的要求是这些离散的动态点必须和它们的时刻相匹配。要注

意的是,我们只有两个个等式,却有3个参数,p,u 和d,所以三个变

量有一个为自由变量,我们令d u /1=,这样做是为了计算简便,但不

是必须的。在网格点上,我们有:

t t t t S d p S pu S E .)1(.][-+=+δ,

和(7.2)联立得

注意,p 是风险中性条件下的概率,它不依赖于真实浮动,为了和方

差匹配,在晶格上我们看到

从(7.3)中我们也可以看到

把最后两个等式联立可得

最终得到

将p 带入最后一个等式的右侧,化简得

最后我们得到这样的等式

其中,利用d u /1=,可以转化为二次方程:

方程的一个跟为

利用一阶条件拓展,只受t δ的影响,我们可以简化表达式,对平方根

近似化简可得

因此 但是对于二阶条件,我们对t e δσ

拓展,最终获得参数 t e u δσ=, t e d δσ-=, d

u d e p t r --=δ, (7.4) 这就是著名的CRR 公示

这里强调一下:这个方法以及文献中所用的参数都不是唯一的,

例如我们可以取5.0=p ,经计算可得:

5.0=p , t t r e u δσδσ+-=)2(2

, t t r e d δσδσ--=)2(2

这就是杰诺-拉德参数,此外,我们一直在努力结束涉及计算以

及线性方程组的计算,通过对数转换的方法,我们尽量的避免这些困

难。在以后,我们都将采用这个方法。

假设无风险利率和波动是时间常数,我们所得的结果适用于整个

晶格参数,为一个期权定价,我们需要对标的资产制定一个网格,然

后从以往的时间倒推。事实上,期权价格在到期日的时候已经知道了,

那时已经给出了期权的收益。因此,我们利用方程(7.1)按每一个时

间步倒推递归,直到到达我们的初始节点。二叉树格方法在欧式看涨

期权得到最佳的应用。

例7.1

假设我们假设为一个欧式看涨期权定价500==K S ,1.0=r ,

4.0=σ,存续期为5个月,利用B-S 模型,我们知道结果是:

>>)4.0,12/5,1.0,50,50(blsprice call =

>>1165.6=call

如果我们想用二叉树格方法逼近结果的话,我们首先就要定义格

参数,假定每个时间步为一个月,然后

对股票价格产生的格和选项值显示在图7.3,在晶格的最右面是期权

的价格,为了便于计算,让我们考虑如何从最后一层至第二层逐层倒

推:

在递归后,我们看到,由此计算出的期权价格大约为 6.36,结果不

太接近确切价格,一个更好的改进近似就是缩小时间步长。

为了更好的在MATLAB 中实现这一方法,我们需要一个向前倒推的

代数式。令ij f 为在节点的期权的价值,其中j 为第j 个时期

)~0(N j =,i 表示为在j 时期内上升了i 。我们利用倒推思想,N 是我

们考虑的时间步,因此总共有N+1格,T t N =δ,即整个期权存续期。

在这样的定义下,晶格点的标的资产价格即为i j i d Su -,在存续期内,

我们有:

},0max{,K d Su f i N i N i -=- , N i ,...,1,0=

时间逆推(下降时间标j ),我们得到

].)1([1,1,1+++--+=j i j i t r ij f p pf e f δ (7.5)

这些工作在MATLAB 中生成非常简单,代码在图7.4给出,唯一要注

意的一点是,矩阵索引在MATLAB中要从一开始,这需要一个微小的调整。

7.3 欧式看涨期权的二叉树格

function [price, lattice] = LatticeEurCall(SO,K,r,T,sigma,N)

deltaT = T/N;

u=exp(sigma * sqrt (deltaT)) ;

d=l/u;

p=(exp(r*deltaT) - d)/(u-d) ;

lattice = zeros(N+l,N+l);

for i=O:N

end

for j=N-1 : -1 : 0

for i=O:j

lattice(i+l,N+l)=max(O , SO*(u-i)*(d-(N-i)) - K);

lattice(i+l,j+l) = exp(-r*deltaT) * ...

(p * lattice(i+2,j+2) + (1-p) * lattice(i+l,j+2));

end

end

price = lattice(1,l) ;

图7.4 MATLAB代码—为欧式看涨期权定价

欧式看涨期权接收到通常我们所定义的参数和在此情况下的时间步N,通过增加最后一个参数,我们得到了更为精确的价格(同一计算时间的增加)。

>>)5,4.0,

call

(

call=

latticeEur

50

12

50

/5,1.0,

,

>>=

call

6.3595

>>)

50

(

latticeEur

call=

call

50

500

,4.0,

12

/5,1.0,

,

>>=

call

6.1140

更有趣的是探讨二叉树方法计算的价格如何收敛于正确价格的。我们可以通过图7.5的代码和图7.6的结果输出来看出。在这种情况下,我们看到随着时间步的增加的震荡情况。

我们刚才讨论的执行结果也有一些缺陷。首先,它使用的是一个大型的矩阵存储格,但是其中近一半为空,我们把返回的整个存储格作为一个输出参数,这个也许对与之相关的图7.3非常有用,但是可能在实际运用中毫无作用,实际上为我们只需要连续的两个存储层存储所需资料就能有所改善。在内循环中,我们用贴现系数乘以时间的风险中性概率,我们可以通过循环外计算节省时间。我们将努力在7.3节中进行改进,在下一节中,我们将把二叉树方法运用到其它非标准型期权定价中。

C0mpLatticeBLS.m

SO = 50;

K = 50;

r = 0.1;

sigma = 0.4;

T = 5/12;

N=50 ;

BlsC = blsprice (SO,K,r ,T, Sigma) ;

LatticeC = zeros(1,N);

for i=(l:N)

end

plot(l:N, ones(l,N)*BlsC);

hold on;

plot(l:N, LatticeC);

Latt iceC (i) = Latt iceEurCal1 (SO, K , r , T, sigma, i)

图7.5 脚本检查减少t 的二叉树格的精确性

图7.6 二叉树方法中精确价格和增加了时间步后相似价格的差距

7.1.2 把俩者结合起来,为后付费期权定价

在这里,我们无红利股票的付费后期权1。后付费期权的特点是预先不支付担保金,当合约成立以后,将在以后支付。如果期权的存期满后,则期权必须执行,并归还担保金,否则期权就毫无价值可言,因为没有担保金。请注意,期权持有者的净盈利可以是负数,当期权1这个例子是建立在(参考文献5 第13章练习11)

的收益小于担保金的时候就会出现净盈利为负。在无套利的情况下,如果净回报总是为负,我们不能拥有一份在0

t时刻价值为0的合约,

=

我们怎么样才能找到公平的担保金价值呢?

给出一个担保金为P,则回报是:

对于每一个给定的价格P,我们都可以利用二叉树方法算出期权价格,现在我们必须寻找到一个值P,使得在风险中性的前提下,于

S相关的期望回报为0:

T

注意这里的贴现因子,因为利率是恒定的,因此贴现因子并没有任何作用。为了解决这个含P的方程,我们对晶格利用二分法解决非线性方程组(见,我们建立一个函数对给定P条件下的期望进行估计;MATLAB代码在图7.7中给出。让我们考虑一个标的资产为股票的期权,股票的价格为12美元,波动率为20%;无风险利率为10%;执行价格为14美元;存续期为10个月。我们用二叉树方法为其定价,取时间步长为一个月,所以总共有10个时间步。当P给定的时候,我们可以建立匿名函数返回贴现后的回报。然后我们利用二分法,以fzero为出发点进行探讨。

>>f = @(PI Lll(P,12,14,0.1, 0.2, 10/12, 10)

f =

@(P) Lll(P,l2,14,0.1, 0.2, 10/12, 10)

>> fzero(f ,2)

ans=

2.0432

exercise 11 chapter 13 from Luenberger, Investment Science

% exercise 11, chapter 13, from Luenberger, Investment Science

function ExpPayoff = L11(premium,S0,K,r,sigma,T,N)

deltaT = T/N;

u=exp(sigma * sqrt(deltaT));

d=1/u;

p=(exp(r*deltaT) - d)/(u-d);

lattice = zeros(N+1,N+1);

for i=0:N

if (S0*(u^i)*(d^(N-i)) >= K)

lattice(i+1,N+1)=S0*(u^i)*(d^(N-i)) - K - premium;

end

end

for j=N-1:-1:0

for i=0:j

lattice(i+1,j+1) = p * lattice(i+2,j+2) + (1-p) * lattice(i+1,j+2);

end

end

ExpPayoff = lattice(1,1);

图7.7 用二叉树方法为后支付期权定价的MATLAB代码

7.1.3 二叉树方法的一个执行改进

我们原来使用过的改进后的二叉树方法现在也可以改进了(从CPU运行时间和内存要求上)。首先,循环中没有必要重复计算贴现的概率,我们可以乘以贴现因子和概率一次来计算。此外,我们可以看到,随着对二叉树晶格的校准,即令ud=1,我们可以使用向量而不是二维矩阵来记忆资产价格从而节约存储。例如在图7.3中,我们看到只有11个不同的值用于标的资产价格。用此种格校准,如果有N个时间步,则我们就有了2N+1个不同的价格。因此,他们可以存储在单一列中,可以节省相当大的存储空间。如果我们需要1000步来准确估计,那么1000*1000的矩阵就和2001项的向量有了很大的差距。一个可行性方案存储价格的方法可以见图7.8。这些数字如图所示是在矢量的位置。1是存储中的最小值,造成步骤序列是下跌序列。我们可以看到奇数项对应的是最后一层,偶数项对应的是倒数第二层。在格上是奇数还是偶数取决于时间步。

图7.8 节省存储的二叉树格

同样方法可以用来存储期权价值。原则上,我们应该使用俩个向

量对应时间的连续俩个层。但是,我们可以利用让偶数的元素一层,

奇数的元素另一层,这样就可以使用含有2N+1个元素的向量了。由

此产生的代码可以看图7.9。下面是我们上述工作的一些评论。

*我们预先计算的,包括贴现概率等等的数量不变(在代码第一部

分)。

*当我们编写标的资产价格的载体SVals 时,我们从最小的元素

开始,即N d S 0;然后乘以u;为了更好的准确性,最好把0S 存到中间

元素SVals (N+1)中,然后继续正推或者倒推。

*注意的是我们在与调用值(通过索引)计算的时候分为2步,

其数额为交替奇数和偶数索引值连续对应层。

*当到期时间为T 的时候,我们只须考虑CVals 数组中的2(N-T )

+1个核心元素。期权的价格是储存在格中的,它对应的是与之相对

应的格位置。

我们可以检查一下一个计算上更有效率的版本。

blsprice(50,50,0.1,5/12,0.4)

ans = function price = SmartEurLattice(S0,K,r,T,sigma,N)

% Precompute invariant quantities

deltaT = T/N;

u=exp(sigma * sqrt(deltaT));

d=1/u;

p=(exp(r*deltaT) - d)/(u-d);

discount = exp(-r*deltaT);

p_u = discount*p;

p_d = discount*(1-p);

% set up S values

SVals = zeros(2*N+1,1);

SVals(1) = S0*d^N;

for i=2:2*N+1

SVals(i) = u*SVals(i-1);

end

% set up terminal CALL values

CVals = zeros(2*N+1,1);

for i=1:2:2*N+1

CVals(i) = max(SVals(i)-K,0);

end

% work backwards

for tau=1:N

for i= (tau+1):2:(2*N+1-tau)

CVals(i) = p_u*CVals(i+1) + p_d*CVals(i-1);

end

end

price = CVals(N+1);

SVals(i) = u*SVals(i-l);

CVals(i) = max(SVals(i)-K,O) ;

for i= (tau+l):2: (2*N+l-tau)

end

CVals(i) = p-u*CVals(i+l) + p-d*CVals(i-l) ;

end

price = CVals(N+l);

6.1165

>> tic,LatticeEurCa11(50,50,0.1,5/12,0.4,2000~,toc)

ans =

6.1159

Elapsed time is 0.262408 seconds.

>> tic,SmartEurLattice(50,50,0.1,5/12,0.4,2000),toc

ans =

6.1159

Elapsed time is 0.069647 seconds.

图7.9 欧式看涨期权二叉树方法的改进代码

我们可以通过矢量代码寻求进一步的改善,或者采取不同的方法。我们不会追求这样的方法以避免模糊的代码,但是我们把握容易的方法以寻求进一步改进。也许在节省CPU处理时间上效果并不明显,但是当处理多维期权定价的时候对内存的节省就显得非常必要。

7.2 用二叉树方法对美式期权定价

利用二叉树技术为美式期权定价我们已经在上一节讲过,是相当简单的。唯一个关键点就是如何解释早期的运动2。在这里,我们解2相对应的看涨期权我们不敢兴趣,因为我们可以证明,美式看涨期权提前执行时没有意义的,除非在期

决的是标的资产为无红利支付股票的普通美式看跌期权的定价问题。

考虑在最后一个晶格层的点(1,N )。如果期权获利,这显然是最佳的

执行点。因此,在最后一层我们有:

i N i iN d Su S -=是该节点的标的资产价格。

现在我们考虑一个在倒数第二层的点。如果期权没有获利即K S N i >-1,,我们就不执行。如果期权已

经盈利,我们就想知道是现在立即执行好,还是将来在某个机会执行

获取更大的收益更好。换句话说,我们必须解决一个最优停止问题,

在每个时间步上,我们必须观察这个动态系统,从而决定是否应该立

即执行,以保持现有收益,或者继续存有期权。

解决这个问题有个简单的方法,就是通过比较直接的回报(期权

的内在价值)和继续持有的价值。如果我们继续持有资产,我们拥有

的资产价值为:

(备注:相应的看涨期权我们不感兴趣,因为可以证明,提前执行是

从来没有最优选择的,除非股息在期权的存续期支付。)

这里u p 和d p 都是风险中性概率,我们应该执行,如果内在价值大于

继续持有的价值。因此期权在从第二到最后一层节点上的价值为

同样的事情会在任意层的递归过程中发生。这意味着,我们应该从最

后一层开始,在那里期权的价值就是期权的收益。然后我们应该对时

间倒推通过对通常期望稍加修改的方程(7.5) )}.)1((,max{1,1,1,+++--+-=j i j i t r ij j i f p pf e S K f δ (7.6)

这种想法看似简单,但它是一个所谓动态规划原则的普遍运用。我们

权存续期内存在股息支付。

将会在第10章看到动态规划原则在理论上多么的有效,但是有时却由于”维数灾”而很难运用。在二叉树格中,我们使用了一个对相关随机过程的简单离散化,动态规划看起来微不足道。事实上,我们的推理有些误导,因为我们已经采取了期权持有的观点是愿意行使其期权的最佳状态。但我们要问为什么我们只注重预期价值,而忽略风险厌恶。一个严谨的理由其实没那么简单,它应该包括无套利理论和期权卖方应该也关系他最糟糕的情况,就是期权持有人最优化执行他的期权。

撇开理论的问题,其实很容易采用我们已经做出来的欧式看涨期权和美式看跌期权。结果代码显示在图7.10.我们以不同的方式轻微初始化晶格,但唯一显著的变化就是后面的时间步长,我们比较了持有价值和内在价值。

金融工具箱为我们提供了一个binprice函数,利用该函数可以给普通美式看涨和看跌期权定价且允许连续红利。我们可以通过比较美式看跌期权格定价和binprice去检验我们的实现:

>> SO = 50;

>> K = 50;

>> r = 0 . 0 5 ;

>> T = 5/12;

>> sigma = 0.4;

>> N = 1000;

>> price = AmPut Lattice (SO, K, r , T , sigma, N)

price =

>> [p, 01 = binprice(SO,K,r,T,T/N,sigma,O);

4.6739 416

OPTION PRICING BY BINOMIAL AND TRINOMIAL LATTICES

function price = AmPutLattice(SO,K,r,T,sigma,N)

% Precompute invariant quantities

deltaT = T/N;

u=exp(sigma * sqrt(de1taT)) ;

d=l/u;

p=(exp(r*deltaT) - d)/(u-d) ;

discount = exp(-r*deltaT);

p-u = discount*p;

p-d = discount*(l-p) ;

% set up S values

SVals = zeros (2*N+1,1> ;

SVals(N+l) = SO;

for i=l:N

SVals(N+l+i) = u*SVals(N+i);

SVals (N+l-i) = d*SVals (N+2-i) ;

end

% set up terminal values

PVals = zeros (2*N+1,1) ;

for i=1:2:2*N+1

end

% work backwards

for tau=l:N

PVals(i) = max(K-SVals(i) ,O) ;

for i= (tau+l) :2: (2*N+l-tau)

hold = p-u*PVals(i+l) + p-d*PVals(i-l);

PVals(i) = max(hold, K-SVals(i));

end

end

price = PVals(N+l);

图7.10 二叉树方法为美式看跌期权定价的matlab代码。

>> o ( l , l )

ans =

4.6739

该函数binprice需要一个标志,表明如果选择看跌(标志设置为0)或选择看涨(标志设置为1)。此条件为上面条件的一个快速反应。这里计算函数binprice需要期权的存续期T和时间步长,令N

dt/

T

我们忽略了可用于分红比例的期权参数。输出的binprice是俩个价格,一个是标的资产的价格,一个是期权的价值;重要的一点是当时间步很小的时候,利用分号控制屏幕上的输出。

7.3利用二叉树方法为双标的期权定价

为了说明晶格技术扩展到多维期权,这里我们考虑两种资产的美式利差期权。这种期权的回报为:

基本方法可以推广到许多种期权,但是不包括强依赖路径的期权。为了进一步推广,我们也考虑持续股息收益率1q 和2q 。其实我们并没有

对问题进行很大的改变,因为我们只是调整了风险中性的动态,这里我们关于它的方程(2.42)。

这里两个维纳过程是相互关联的,且dt dW dW ρ=21(见

为了避免我们在校准过程中涉及到非线性问题所遇到的困难,我们对资产价格进行对数化处理。令i i S x log = ,利用伊藤引理,我们

得到两个随机微分方程:

这里2,1,2/2=--=i q r v i i i σ

现在,作为典型的二叉树格,我们假设这两个资产上升或者下降在价格方面的对数数额为i x δ,校准格。我们对一 ,二阶的距进行匹

配。这两只股票可能上行或者低走。因此每个节点有4个数值和4个概率uu p ,ud p ,du p ,dd p 。我们首先需要一个关于增量i X δ预期的匹配

条件:

这里我们要区别随机变量i X δ和他们的现值i x δ+。然后我们需要一个相

似的二阶条件:

t t v t x p p p p X E dd du ud uu δσδδσδδ22222222222)())((])[(≈+=+++=,

这里我们用到了常用恒等式][][)(22X E X E X Var -=,我们也忽略了高阶无穷小的t δ。当概率趋近于1的时候,这些方程将被极大的简化:

t x δσδ11=, t x δσδ22=

我们还应该说明协方差,以及与它等价的交叉向量:

现在我们对4个未知概率有4个等式:

这些方程可以通过反转矩阵解决,或者通过适当的线性方程组组合。得出:

这些条件有个直观的解释。就是当相对波动较大的时候,与其正相关的概率也跳跃较大。例如在

S向上浮动,2S向下浮动的概率下,2p即

1

成为一个负标志(即向上浮动越大,就越向下跳),并呈负相关关系,使得这一联动成为可能,类似的考虑也适合于p, d ,u 。即当p,d,u越小,正相关的浮动就越大。

二叉树格方法的需要仔细的内存管理控制,因为我们不能随意的存储一个多维矩阵。由于上线俩个资产的浮动的绝对值是相同的,我们就可以利用我在已在,在二叉树方法中,我们运用的是价格,不是价格的对数。因此,上升的价格为:

。概率的百分号在主循环之外。两个相关资产的价这里2,1

d

u

,

/1=

=i

i

i

值存储在两个向量S1val和S2vals,这个定价的方法完全相似于对普通期权的定价。期权的价格将存储于二叉树格矩阵中,这个矩阵经过期权收益的初始化,这里令i指资产1,j指资产2。我们可以用两个连续的一次矩阵,因此奇数层和偶数层都是连续层且交替使用。因为这是一个美式期权,我们在风险中性的前提下计算出来的继续持有的价值要和与期权的内在价值进行比较。

为了检测执行的具体情况,我们用下面这个例子3

>> s10 = 100;

3该例子引用于(藏考文献一p47-51)

>> s20 = 100;

>> K = 1;

>> r = 0 . 0 6 ;

>> sigmal = 0.2;

>> sigma2 = 0.3;

>> rho = 0.5;

>> q l = 0.03;

>> q2 = 0.04;

>> AmSpreadLattice (S10 ,S20 ,K,r ,T, sigmal , sigma2,rho ,ql .q2,N)

>> T = 1;

>> N = 3 ;

ans =

10.0448

function price = AmSpreadLattice 610, S20 ,K ,r ,T, sigma1 , sigma2 ,rho ,ql, q2, N) 1 Precompute invariant quantities

deltaT = T/N;

nu1 = r - ql - 0.5*sigmal-2;

nu2 = r - q2 - 0.5*sigma2-2;

ul = exp(sigmal*sqrt(deltaT)) ;

dl = l / u l ;

u2 = exp(sigma2*sqrt(deltaT));

d2 = l/u2;

discount = exp(-r*deltaT) ;

p-uu = discount*O.25*(1 + sqrt(deltaT)*(nul/sigmal + nu2/sigma2) + rho); p-ud = discount*O.25*(1 + sqrt(deltaT)*(nul/sigmal - nu2/sigma2) - rho);

p-du = discount*0.25*(1 + sqrt(deltaT)*(-nul/sigmal + nu2/sigma2) - rho); p-dd = discount*O.25*(1 + sqrt(deltaT)*(-nul/sigmal - nu2/sigma2) + rho);

% set up S values

Slvals = zeros(2*N+l,l);

S2vals = zeros(2*N+1,1) ;

Slvals(1) = SlO*dl-N;

S2vals(l) = S20*d2-N;

for i=2:2*N+1

Slvals(i) = ul*Slvals(i-l) ;

S2vals(i) = u2*S2vals(i-l) ;

end

% set up terminal values

Cvals = zeros(2*N+1,2*N+i);

for i=1:2:2*N+1

for j=1: 2 : 2*N+1

end

end

% roll back

for tau= 1 : N

Cvals(i, j) = max(Slvals(i)-S2vals(j)-K,O);

for i= (tau+l) :2: (2*N+l-tau)

for j= (tau+l) :2: (2*N+l-tau)

hold = p-uu * Cvals(i+l,j+l) + p-ud * Cvals(i+l,j-1) + ...

p-du * Cvals(i-l,j+l) + p-dd * Cvals(i-1,j-1);

Cvals(i,j) = max(ho1d. Slvals(i) - S2vals(j) - K);

end

end

end

price = Cvals(N+l,N+l);

图7.11 利用二叉树方法给美式利差期权定价的matlab代码

显然,三个步骤是不够获得可以接受的近似结果的,但是通过层与层检查,并通过这个例子了解矩阵Cvals管理存储格。在matlab 中,我们可以逐步调试,就可以显示我们得到的基本信息。最初的晶格是为清晰度准备的,我们用一个星号标记其中无关的数据(当显示与调试你会看到一些数字有Cvals):

经过一次循环,一次次逼近结果,相关数据是:

请注意,新的价值是作为临近4个值的平均值获得的,其中存储的数据在下一时间层,然后回到一个步骤,我们有:

格中最后的结果为:

我们可以看到,我们正在处理一个金字塔结构的递归排序工作,我们经历了一个比较小的可以接受的内存浪费。

图7.12单时段三叉树

7.4三叉树方法定价

在二叉树上衍生三叉树想法是十分自然的。每个节点有3个下节点,即价格向上,向下和保持不变(这只是一种可能的选择)。晶格的校准以这样一种方式以便重组和匹配基本连续随机变量的前两个时刻。增加的新自由度,可用于改善衔接或提出额外条件。这种方法

的最大作用是对障碍期权,我们可以在晶格中求障碍值。

这里非常方便的处理随机微分过程。经过一个小的时间步,我们有3个方向移动,相对应的价格对数增量形式为x δ+,0, x δ- 三种,与之相应的价格本身的乘法。这三种等价的方向对应的风险中性概率为u p ,m p 和d p 。树图的结构见图7.12。这里给出一般方程:

dW vdt dX σ+= ,

这里2/2σ-=r v ,我们写出这时刻相对应的方程为:

求解得:

图7.12 单步三叉树

图7.13 三叉树方法的全例

我们看到更多的自由度来决定x δ。事实上,这证明了我们可以独立的选择x δ和t δ。通常我们取t x δδ3=。这种关系在我们处理有限差分的时候非常好用。我们也应该注意到,一个随意的取值会导致负的概率。作为一个例子,我们考虑给一个标的资产为无红利支付股票的偶是看涨期权定价:1000=S ,100=K ,06.0=r ,1=T ,以及3.0=σ。如果我们建一个2.0=x δ的三叉树格,我们得到图7.13,这里:

3878.0=u p , 2494.0=m p , 3628.0=d p

实现这一三叉树算法的MATLAB 代码见图7.14.像往常一样,概率的百分比不计入主循环。这里我们有个观察数据是必需的,不像二叉树,我们必须储存俩个连续的时间层,因为在奇数列和偶数列之间没有互换。从此,我们使用的是两列数组有2n + 1行,其中的列的作用可能在现在或将来。我们利用增量模2交换的作用两个层次:是由变量索引了解和kthen ,对值1和2交替。下面是改进后格计算:

>> S O =100 ;

>> K=100;

>> r=0.06;

>> T = l ;

>> sigma=0.3;

>> deltaX = 0.2;

>> EuCallTrinomial(SO,K,r,T,sigma,N,deltaX)

ans =

>> N=3;

14.6494

function price = EuCallTrinomial(SO,K,r,T,sigma,N,deltaX)

% Precompute invariant quantities

deltaT = T/N;

nu = r - 0.5*sigma-2;

discount = exp(-r*deltaT) ;

p-u = discount*0.5*((sigma^2*deltaT+nu^2*deltaT-2)/deltaX^2 + ...

nu*deltaT/deltaX) ;

p-rn = discount*(l - (sigma^2*deltaT+nu^2*deltaT-2)/deltaX-2);

p-d = discount*0.5*((sigma^2*deltaT+nu^2*deltaT^2)/deltaX^2 - . . .

% set up S values (at maturity)

Svals = zeros(2*N+l, 1) ;

Svals(1) = SO*exp(-N*deltaX);

exp-dX = exp(de1taX);

for j=2: 2*N+1

Svals(j) = exp-dX*Svals(j-1) ;

end

% set up lattice and terminal values

Cvals = zeros(2*N+1,2);

t = mod(N,2)+1;

for j=1:2*N+1

end

for t=N-1 : -1 : 0 ;

nu*delt aT/delt ax) ;

Cvals(j ,t) = rnax(Svals(j)-K,O);

know = mod(t.2)+1;

knext = mod(t+l,2)+1;

for j = N-t+l:N+t+l

Cvals(j ,know) = p-d*Cvals(j-l,knext)+p-m*Cvals(j,knext)+. . .

p-u*Cvals(j+l,knext);

end

end

price = Cvals(N+1,1);

图7.14 利用三叉树为欧式看涨期权定价的MATLAB代码我们注意到对x 的选择是为了方便应用。如下看到的经验法则

欧式看涨期权二叉树定价

欧式看涨期权二叉树定价(含m a t l a b代码和结果图)实验概述 本实验首先介绍了二叉树方法的来源和主要理论基础,然后给出期权的二叉树定价方法的基本过程和MATLAB7. 0实现的过程。 19. 2 实验目的 (1)了解二叉树的定价机理; (2)掌握用MATLAB7. 0生成股票价格的二叉树格子方法; (3)掌握欧式期权和美式期权的二叉树定价方法。 19. 3 实验工具 MATLAB 7. 0。 19. 4 理论要点 构造二叉树图(Binomial Tree)是期权定价方法中最为常见的一种。这个树图表示了在期权有效期内股票价格可能遵循的路径。二叉树定价方法与风险中性定价理论是紧密联系的。Cox, Ross & Rubinstein (1979)首次提出了构造离散的风险中性概率可以给期权定价,在此基础上他们给出了二叉树定价方法。 1)一个简单的例子 假设当前(3月份)股票的价格So =50元,月利率是25%。4月份股票价格有两种可能:S高=100元,S低=25元。有一份看涨期权合约,合约约定在4月份可以以50元价格买进一股股票。现在考虑一个投资组合,进行几项操作:以价格C卖出3份看涨期权合约;以50元购入2股股票;以25%的月利率借人40元现金,借期为一个月。 根据上述组合,我们可以得到以下到期收益分布表,如表19. 1所示。 表19.1 投资组合的到期收益分布表 四月份 三月份

S低=25元S高=100元 卖出3份看涨期权合约3C 0 -150 买人两股股票-100 50 200 借人现金40 -50 -50 总计0 0 0 由一价定律3C-100+40=0,可得C= 20元,即为期权的价格。这个例子说明,可以用一个相当简单的方法为期权定价,唯一需要做的是假设对投资者而言不存在套利机会。我们可以通过某种方式构造一个股票和期权的组合,使得在4月份该组合的价值是确定的。于是我们可以说该组合无风险,它的收益率一定等于无风险收益率。二叉树方法正是基于上述思想构造了二项分布下的风险中性概率。 2)二叉树模型 考虑一个不支付红利的股票期权价格估值。我们把期权的有效期分为很多很小的时间间隔Δt。假设在每一个时间段内股票价格从开始的价格S以概率p上升到Su,以概率1-p下降到Sd,其中,u>1,O

二叉树期权定价法22222

二叉树期权定价法 摘要上世纪七十年代以来金融衍生品得到了蓬勃的发展,在这之中,期权的地位尤为受到重视,居于核心地位,很多的新创的衍生品,都包含了期权的成分。所以一直以来,期权的定价问题受到了大量经济学家的探索。实物期权的定价模式的种类较多,理论界和实务界尚未形成通用的定价模型,主要估值方式有两种:一是B l a c k-S c h o l e s期权定价模型;二是二叉树期权定价模型。 1973年,布莱克和斯科尔斯(B l a c k a n d C s c h o l e s)提出了 B l a c k-S c h o l e s期权定价公式,对标的资产的价格服从正态分布的期权进行定价。随后,罗斯开始研究标的资产的价格服从非正态分布的期权定价理论。1976年,约翰·考克斯(J o h n C a r r i n g t o n C o x)、斯蒂芬·罗斯(S t e p h e n A.R o s s)在《金融经济学杂志》上发表论文“基于另类随机过程的期权定价”,提出了风险中性定价理论。1979年,约翰·考克斯(J o h n C a r r i n g t o n C o x)、斯蒂芬·罗斯(S t e p h e n A.R o s s)、马克·鲁宾斯坦(M a r k R u b i n s t e i n)在《金融经济学杂志》上发表论文“期权定价:一种简单的方法”,该文提出了一种简单的对离散时间的期权的定价方法,被称为C o x-R o s s-R u b i n s t e i n二项式期权定价模型。 关键词 B l a c k-S c h o l e s期权定价模型虽然有许多优点,但是它的推导过程却是难以为人们所接受;二叉树期权定价模型假设股价波动只有

二叉树定价模型

.. 期权定价的二叉树模型 Cox、Ross和Rubinstein 提出了期权定价的另一种常用方法二叉树(binomialtree )模型,它假设 标的资产在下一个时间点的价格只有上升和下降两种可能结果,然后通过分叉的树枝来形象描述标的资产 和期权价格的演进历程。本章只讨论股票期权定价的二叉树模型,基于其它标的资产如债券、货币、股票 指数和期货的期权定价的二叉树方法,请参考有关的书籍和资料。 8.1 一步二叉树模型 我们首先通过一个简单的例子介绍二叉树模型。 例8.1假设一只股票的当前价格是$20,三个月后该股票价格有可能上升到$22,也有可能下降到$18.股 票价格的这种变动过程可通过图8.1直观表示出来。 在上述二叉树中,从左至右的节点(实圆点)表示离散的时间点,由节点产生的分枝(路径)表示可能 出现的不同股价。由于从开始至期权到期日只考虑了一个时间步长,图 8.1表示的二叉树称为一步 (one-step)二叉树。这是最简单的二叉树模型。 一般地,假设一只股票的当前价格是,基于该股票的欧式期权价格为。经过一个时间步(至到期 日T)后该股票价格有可能上升到相应的期权价格为;也有可能下降到 相应的期权价格为. 这种过程可通过一 步( one- step )二叉树表示出来, 如图 8.2

所示。我们的问题是根据这个二叉树对该欧式股票期权定价。

.. 为了对该欧式股票期权定价,我们采用无套利(noarbitrage)假设,即市场上无套利机会存 在。构造一个该股票和期权的组合(portfolio),组合中有股的多头股票和1股空头期权。 如果该股票价格上升到,则该组合在期权到期日的价值为;如果该股票价格下降到,则该组 合在期权到期日的价值为。根据无套利假设,该组合在股票上升和下降两种状态下的价值应 该相等,即有 由此可得 (8.1) 上式意味着是两个节点之间的期权价格增量与股价增量之比率。在这种情况下,该组合是无风险的。以表示无风险利率,则该组合的现值(thepresent value)为,又注意到该组合 的当前价值是,故有 即 将(8.1) 代入上式,可得基于一步二叉树模型的期权定价公式为 (8.2) (8.3) 需要指出的是,由于我们是在无套利(noarbitr age )假设下讨论欧式股票期权的定价,因此无风险利率

第九章 期权估价-二叉树期权定价模型

2015年注册会计师资格考试内部资料 财务成本管理 第九章 期权估价 知识点:二叉树期权定价模型 ● 详细描述: 一、单期二叉树模型 关于单期二叉树模型,其计算结果与前面介绍的复制组合原理和风险中性原理是一样的。 以风险中性原理为例: 根据前面推导的结果: 代入(1)式有: 二、两期二叉树模型 如果把单期二叉树模型的到期时间分割成两部分,就形成了两期二叉树模型。由单期模型向两期模型的扩展,不过是单期模型的两次应用。 三、多期二叉树模型

原理从原理上看,与两期模型一样 ,从后向前逐级推进 乘数确定期数增加以后带来的主要问题 是股价上升与下降的百分比如 何确定问题。期数增加以后 ,要调整价格变化的升降幅度 ,以保证年收益率的标准差不 变。把年收益率标准差和升降 百分比联系起来的公式是: u=1+上升百分比= d=1-下 降百分比= 其中:e=自然常 数,约等于2.7183 σ=标的资 产连续复利收益率的标准差 t=以年表示的时间长度(每期 时间长度用年表示) 做题程序: (1)根据标准差和每期时间间隔确定每期股价变动乘数(应用上述的两个公式) (2)建立股票价格二叉树模型 (3)根据股票价格二叉树和执行价格,构建期权价值的二叉树。 构建顺序由后向前,逐级推进。——复制组合定价或者风险中性定价。 (4)确定期权的现值 例题: 1.如果股票目前市价为50元,半年后的股价为51元,假设没有股利分红,则 连续复利年股票投资收益率等于()。 A.4% B.3.96% C.7.92% D.4.12% 正确答案:B 解析:r=ln(51/50)/0.5=3.96%

基于二叉树模型的期权定价

目录 摘要 (1) ABSTRACT (2) 第一章绪论 (3) 1.1 背景介绍 (3) 1.2 本文的主题 (4) 第二章预备知识 (5) 2.1 期权 (5) 2.2二叉树方法 (6) 2.2.1 方法概述 (6) 2.2.2 二叉树方法的优点和缺点 (9) 2.2.3 风险中性定价 (9) 2.3 Black-Scholes 期权定价模型 (11) 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。

第三章本论 (14) 3.1期权定价的二叉树模型 (14) ................................................ 错误!未定义书签。 ................................................ 错误!未定义书签。 ................................................ 错误!未定义书签。 ................................................ 错误!未定义书签。 3.2 例子模拟计算和结果分析 (18) 3.3 模型改进——三叉树 (19) 第四章结论...................................... 错误!未定义书签。谢辞及参考文献 (23) 谢辞 (23) 参考文献 (23) 附录 (25) 计算过程中涉及算法 (25)

摘要 Black-Scholes 期权定价模型为期权定价尤其是欧式期权定价提供了良好的解析结果,而Black-Scholes 公式是此模型的核心,但是此公式并不能很好地求解出在很多衍生模型例如亚式期权以及美式期权中的解析解。二叉树方法作为一种数值方法,同时也是图论中一种重要方法,应用于期权定价问题中,它有了更特别的演变。本文利用二叉树方法计算期权定价的数值解,用二叉树方法迭代多次,求出较为准确的期权价格。通过B-S公式得出的结果与二叉树方法得到的结论对比,分析二叉树方法模拟的优点和缺点。同时,我们还要研究二叉树模拟的步数与预测结果和精度间的关系,从而更加深入了解二叉树方法。然而,我们在模型中设立了许多条件,这些都使模型离真实情况越来越远,我们必须不断发展模型,完善模型。三叉树方法正是二叉树方法的合适补充。 关键词:二叉树方法,Black-Scholes 模型,风险中性定价

金融工程-二叉树模型——期权定价方法试验报告---用于合并

期权定价(二叉树模型)实验报告1204200308 学号:1201 姓 名:郑琪瑶班级:创金 一、实验目的计算出支付连续红利率资产Excel 本实验基于二叉树模型对 期权定价。利用的期权价格,并探究输入参数(如无风险利率、波动率、期限、时间区间划分方从而巩固二叉树模型这种期权定价的数对于期权价格的影响,式、收益率等等)值方法的相关知识。 二、实验原理的红利时,在风险中性条件下,证券价格的当标的资产支付连续收益率为q应该满足以下,因此参数(股票价格上升的概率)、、增长率应该为pq?r u d式子:tq)?(r?dpe)(?pu?1?;同时在一小段时间内股票价格变化的方差 满足下式:2222?]p1?)p)dd?[pu?(?t?pu?(1?;1,将三式联列,可以解考克斯、罗斯和鲁宾斯确定参数的第三个条件是?u d)得(*(r?q)?t??edp?? u?d????t u?e????t?d?e???t?0?三、实验内容 1.假定有一支付连续红利率股票的美式看涨期权,有效期期限为5个月,目前 的股票价格和期权执行价格都为50元,无风险利率为10%,波动率为40%,连续收益率为3%,为了使得估计的期权价格比较准确,把时间区间划分成30步,即N=30,利用excel加载宏可以计算得到相应美式和欧式期权的价格 2.探究基于不同红利支付类型:支付已知收益率和支付已知红利数额,计算出相应的美式和欧式期权价格。 3.以支付已知收益率模式下分析期权价格。使资产连续复利收益率在[1%,10%]变化,保持其余变量不变,分别计算出相应美式f和欧式f期权的价格21 4.以支付已知红利数额模式下分析期权价格。探究下一期的红利支付数额为常数、递增及递减情况下,保持其余变量不变,分别计算出相应美式和欧式期权的价格。 5.根据上述每一步计算得到的当期期权价格的数据绘制折线图,观察折线图,得出结论。 四、实验过程:步骤一:输入已知参数输入参数支付连续收TRSX N 步数无风险利率波动率σ股票价格期限期权执行价格0RC益率9.00% 5 50.00

期权定价

第八章期权定价的二叉树模型 8.1 一步二叉树模型 我们首先通过一个简单的例子介绍二叉树模型。 例8.1 假设一只股票的当前价格是$20,三个月后该股票价格有可能上升到$22,也有可能下降到$18. 股票价格的这种变动过程可通过图8.1直观表示出来。 在上述二叉树中,从左至右的节点(实圆点)表示离散的时间点,由节点产生的分枝(路径)表示可能出现的不同股价。由于从开始至期权到期日只考虑了一个时间步长,图8.1表示的二叉树称为一步(one-step)二叉树。这是最简单的二叉树模型。 一般地,假设一只股票的当前价格是,基于该股票的欧式期权价格为。经过一个时间步(至到期日T)后该股票价 格有可能上升到相应的期权价格为;也有可能下降到相应的期权价格为. 这种过程可通过一步(one-step)二叉树表示出来,如图8.2所示。我们的问题是根据这个二叉树对该欧式股票期权定价。为了对该欧式股票期权定价,我们采用无套利(no arbitrage)假设,即市场上无套利机会存在。构造一个该股票和期权 的组合(portfolio),组合中有股的多头股票和1股空头期权。如果该股票价格上升到,则该组合在期权到期 日的价值为;如果该股票价格下降到,则该组合在期权到期日的价值为。根据无套利假设,该组合在股票上升和下降两种状态下的价值应该相等,即有 由此可得 (8.1) 上式意味着是两个节点之间的期权价格增量与股价增量之比率。在这种情况下,该组合是无风险的。以表示无风险 利率,则该组合的现值(the present value)为,又注意到该组合的当前价值是,故有

即 将(8.1)代入上式,可得基于一步二叉树模型的期权定价公式为 (8.2) (8.3) 需要指出的是,由于我们是在无套利(no arbitrage)假设下讨论欧式股票期权的定价,因此无风险利率应该满足: . 现在回到前面的例子中,假设相应的期权是一个敲定价为$21,到期日为三个月的欧式看涨权,无风险的年利率为12%,求该期权的当前价值。 已知:且在期权到期日, 当时,该看涨权的价值为而当时,该看涨权的价值为 根据(8.3)和(8.2),可得 . 上述期权定价公式(8.2)和(8.3)似乎与股价上升或下降的概率无关,实际上,在我们推导期权价值时它已经隐含在股票价 格中了。不妨令股价上升的概率为,则股价下降的概率就是,在时间的期望股票价格为

二叉树定价模型

二项式期权定价模型 1.实验名称: 二项式期权定价模型 2.实验目的: 利用二叉树期权定价模型公式Excel 模板计算期权价格。 3.基本原理 计算到期时资产价值的分布,求出资产的期望值,用适当的贴现率计算现值,得到资产的当前价值。 (1) 计算n 期中上升i 次的概率: ()(1 )i i n i i n P n C p p -=-; (2) 计算在终期时的价格分布: ()0i n i ni S S u d -= (3) 计算期权的价值: ()0max(,0)i n i ni Call S u d K -=-,()0max(,0)i n i ni Put K S u d -=-; (4)计算终期时的期望值:0()n n ni i ECall P i Call == ∑,0()n n ni i EPut P i put ==∑; (5)计算期权在起初时刻的价值: ()00 (1)max(,0)n RT RT i i n i i n i n i Call e ECall e C p p S u d K ----===--∑ ()00(1)max(,0)n RT RT i i n i i n i n i Put e EPut e C p p K S u d ----===--∑。 4. 实验数据域内容 已知股票价格为50,执行价格为50,时间为半年,无风险利率为5%,波动率为20%,分为10个时间段,利用二叉树定价模型计算看涨看跌期权的价格。 5. 操作过程与结果 (1)定义变量的符号 在单元格B2—B14中分别输入S 、K 、T 、R 、VOL 、n 、dt 、u 、d 、G-factor 、D-factor 、p 分别表示股票价格、期权执行价格、期权有效期、无风险利率、股价波动率、时段数、时段、上升因子、下降因子、增长因子、贴现因子、风险中性概率。如图:

二叉树和三叉树的期权定价方法

第七章期权定价的二叉树和三叉树方法在这一章中,我们利用二叉树和三叉树方法为期权定价。在第2.1节中我们已经介绍了利用基础途径的二叉树方法解决期权价格不确定性的模型。二叉树方法依赖于对相关随机过程的离散化并利用计算和内存的结合以满足易于管理的要求。我们也在,我们必须把原来的单步格方法扩展到多步格方法,但是我们必须校对格使它能够反映出相关模型,且这个模型是连续时间、连续状态的随机微分方程。然后我们就可以推广到多步的二叉树格和三叉树格。 在7.1节中,我们从如何利用在离散概率分布的时刻下随机价格波动校准简单的二叉树格。从这点来看,弄清楚网格技术和蒙特卡洛模拟之间的联系是非常重要的,而利用时刻匹配技术缩减方差可以看作一种快捷的抽样排序。然后我们讨论内存效率的实现是如何设计的,美式期权定价是7.2节的主题。同时,还是要注重它和其他技术方法的联系。现在我们要做的本质上是一个非常简单满足动态规划原则的程序,我们将在第10章程序中进一步拓展。在7.3节中,我们把上述方法推广到双标的资产的情形,虽然这是一个最简单的情形,但是我们可以从这个情形中看出内存控制是这一情形的基础。另一种一般化的代表是三叉树格方法,三叉树格方法可以作为一种更普遍的有限差分方法(具体将在,最后,我们在7.5节中具体讨论网格化方法的优势和劣势。 期权定价的二叉树和三叉树格方法 图7.1 单时期二叉树格 7.1 二叉树定价方法

在,我们已经考虑过单步二叉树方法在无套利情况下的期权定价, 这里我们为了方便直接利用图7.1。其主要思想是复制两个资产,一 个是无风险资产,另一个是相关股票。利用这两项资产,我们可以通 过它们的组合塑造任何收益率的资产。如果我们令u 和d 为任意两个 价格的角标,我们可以看到期权的价格应该为0f 则, ])1([0d u t r f p pf e f -+=-δ (7.1) 在公式7.1中u f 和d f 是标的资产在涨跌两种情况的期权价格,p 是风 险中性前提下相关资产升值的概率。 为了寻找一个更好的不确定性模型,我们可以增加分类的情况, 复制期权收益,甚至我们可以使用更多的资产,或允许中间日期交易。 第二种可能性更为实际,并且也是必不可少的,例如,对于在期权的 存续期内可以随时执行的美式期权来说。对其求极限,就会得到连续 时间模型,并且其最后收敛于Black —sholes 方程。当Black —sholes 方程没有解析解的时候,我们必须采取一些离散化的途径,比如说可 以通过蒙特卡洛模拟从而估计出风险中性条件下预期收益,或者建立 一个自适应网格的有限差分方法去解决相应的PDE 模型。就像我们 在图7.2中展示的一样,多级二叉树格方法就是一种可以选择的离散 化方法。我们也可以考虑利用树图,但是要注意使计算方法易于控制。 二叉树格定价 图7.2 新生成的二叉树图 这里我们为了方便令d u /1=。虽然这个不是必须的,但是在后面 我们可以看到,这个假设令模型简化了很多即每上一步紧接着下一步 都会得到相同的初始价格。

金融工程-二叉树模型——期权定价方法实验报告---用于合并

期权定价(二叉树模型)实验报告 班级: 创金1201 姓名: 郑琪瑶 学号: 08 一、实验目的 本实验基于二叉树模型对期权定价。利用Excel 计算出支付连续红利率资产的期权价格,并探究输入参数(如无风险利率、波动率、期限、时间区间划分方式、收益率等等)对于期权价格的影响,从而巩固二叉树模型这种期权定价的数值方法的相关知识。 二、实验原理 当标的资产支付连续收益率为q 的红利时,在风险中性条件下,证券价格的增长率应该为q r -,因此参数p (股票价格上升的概率)、u 、d 应该满足以下式子: d p pu e t q r )1()(-+=?-; 同时在一小段时间内股票价格变化的方差满足下式: 2222])1([)1(d p pu d p pu t -+--+=?σ; 考克斯、罗斯和鲁宾斯确定参数的第三个条件是d u 1 =,将三式联列,可以解 得(*) 三、实验内容 1. 假定有一支付连续红利率股票的美式看涨期权,有效期期限为5个月,目前 的股票价格和期权执行价格都为50元,无风险利率为10%,波动率为40%,连续收益率为3%,为了使得估计的期权价格比较准确,把时间区间划分成30步,即N=30,利用excel 加载宏可以计算得到相应美式和欧式期权的价格 2.探究基于不同红利支付类型:支付已知收益率和支付已知红利数额,计算出相 应的美式和欧式期权价格。 3.以支付已知收益率模式下分析期权价格。使资产连续复利收益率在[1%,10%]变 化,保持其余变量不变,分别计算出相应美式f 1和欧式f 2期权的价格 4.以支付已知红利数额模式下分析期权价格。探究下一期的红利支付数额为常 数、递增及递减情况下, 保持其余变量不变,分别计算出相应美式和欧式期权的价格。 5.根据上述每一步计算得到的当期期权价格的数据绘制折线图,观察折线图,得出结论。 四、实验过程: 步骤一:输入已知参数 步骤二:根据已知参数及式(*)原理,计算如下参数

欧式看涨期权二叉树定价

欧式看涨期权二叉树定价(含matlab代码和结果 图) 实验概述 本实验首先介绍了二叉树方法的来源和主要理论基础,然后给出期权的二叉树定价方法的基本过程和MATLAB7.0实现的过程。 19. 2 实验目的 (1)了解二叉树的定价机理; (2)掌握用MATLAB7. 0生成股票价格的二叉树格子方法; (3)掌握欧式期权和美式期权的二叉树定价方法。 19.3实验工具 MATLAB7. 0。 19. 4理论要点 构造二叉树图(Binomial Tree)是期权定价方法中最为常见的一种。这个树图表示了在期权有效期内股票价格可能遵循的路径。二叉树定价方法与风险中性定价理论是紧密联系的。Cox,Ross&Rubinstein(1979)首次提出了构造离散的风险中性概率可以给期权定价,在此基础上他们给出了二叉树定价方法。 1)一个简单的例子 假设当前(3月份)股票的价格So =50元,月利率是25%。4月份股票 价格有两种可能:S 高=100元,S 低 =25元。有一份看涨期权合约,合约约定在4月份

可以以50元价格买进一股股票。现在考虑一个投资组合,进行几项操作:以价格C卖出3份看涨期权合约;以50元购入2股股票;以25%的月利率借人40元现金,借期为一个月。 根据上述组合,我们可以得到以下到期收益分布表,如表19.1所示。 表19.1投资组合的到期收益分布表 四月份 三月份 =25元 S 低=100元 S 高 卖出3份看涨期权合约3C 0 -150 买人两股股票-10050 200 借人现金40 -50 -50 总计0 00 由一价定律3C-100+40=0,可得C=20元,即为期权的价格。这个例子说明,可以用一个相当简单的方法为期权定价,唯一需要做的是假设对投资者而言不存在套利机会。我们可以通过某种方式构造一个股票和期权的组合,使得在4月份该组合的价值是确定的。于是我们可以说该组合无风险,它的收益率一定等于无风险收益率。二叉树方法正是基于上述思想构造了二项分布下的风险中性概率。 2)二叉树模型 考虑一个不支付红利的股票期权价格估值。我们把期权的有效期分为很多很小的时间间隔Δt。假设在每一个时间段内股票价格从开始的价格S以概率p 上升到Su,以概率1-p下降到Sd,其中,u>1,O

期权定价的数值方法

期权定价的数值方法 小结 1.当不存在解析解时,可以用不同的数值方法为期权定价,其中主要包括二叉树图方法、蒙特卡罗模拟和有限差分方法。 2.二叉树图方法用离散的随机游走模型模拟资产价格的连续运动在风险中性世界中可能遵循的路径,每个小的时间间隔中的上升下降概率和幅度均满足风险中性原理。从二叉树图的末端开始倒推可以计算出期权价格。 3.蒙特卡罗方法的实质是模拟标的资产价格在风险中性世界中的随机运动,预测期权的平均回报,并由此得到期权价格的一个概率解。 4.有限差分方法将标的变量满足的偏微分方程转化成差分方程来求解,具体的方法包括隐性有限差分法、显性有限差分法、“跳格子方法”和 Crank-Nicolson方法等。 5.树图方法和有限差分方法在概念上是相当类似的,它们都可以看成用离散化过程解出偏微分方程的数值方法,都适用于具有提前执行特征的期权,不太适合路径依赖型的期权。其中二叉树模型由于其简单直观和容易实现,是金融界中应用得最广泛的数值定价方法之一;有限差分方法则日益受到人们的重视。 6.蒙特卡罗方法的优点在于应用起来相当直接,能处理许多盈亏状态很复杂的情况,尤其是路径依赖期权和标的变量超过三个的期权,但是不擅长于处理美式期权,而且往往所需计算时间较长。 二叉树定价方法的基本思想:假设资产价格的运动是由大量的小幅度二值运动构成,用离散的随机游走模型模拟资产价格连续运行可能遵循的路径。模型中隐含导出的概率是风险中性世界中的概率p,从而为期权定价。 蒙特卡洛模拟的基本思想:由于大部分期权的价值都可以归结为期权到期回报的期望值的贴现,因此尽可能地模拟风险中性世界中标的资产价格的多种运动路径,计算每种结果路径下的期权回报均值,之后贴现就可以得到期权价值。 蒙特卡洛模拟的优点:在大多数情况下,人们可以很直接地应用蒙特卡洛模拟,而无需对期权定价模型有深刻的认识;蒙特卡洛模拟的适用情形相当广泛。 蒙特卡洛模拟的缺点:只能为欧式期权定价,难以处理提前执行期权的的定价情形;为了达到一定的精准度,需要大量的模拟运算。 有限差分方法的基本思想:将衍生证券所满足的偏微分方程转化为一系列近似的差分方程,即用离散算子逼近偏微分方程中的各项,之后用迭代法求解以得到期权价值。

_二叉树期权定价模型

财务成本管理(2019)考试辅导 第十三章++产品成本计算 第1页 (二)二叉树期权定价模型 1.单期二叉树定价模型 期权价格=×+× U:上行乘数=1+上升百分比 d:下行乘数=1-下降百分比 【理解】 风险中性原理的应用 其中: 上行概率=(1+r-d )/(u-d ) 下行概率=(u-1-r )/(u-d ) 期权价格=上行概率×C u /(1+r )+下行概率×C d /(1+r ) 【教材例7-10】假设ABC 公司的股票现在的市价为50元。有1股以该股票为标的资产的看涨期权,执行价格为52.08元,到期时间是6个月。6个月以后股价有两种可能:上升33.33%,或者降低25%。无风险利率为每年4%。 【答案】 U=1+33.33%=1.3333 d=1-25%=0.75 =6.62(元) 【例题?计算题】假设甲公司的股票现在的市价为20元。有1份以该股票为标的资产的看涨期权,执行价格为21元,到期时间是1年。1年以后股价有两种可能:上升40%,或者降低30%。无风险利率为每年4%。 要求:利用单期二叉树定价模型确定期权的价值。 【答案】期权价格=(1+r-d )/(u-d )×C u /(1+r )=(1+4%-0.7)/(1.4-0.7)×7/(1+4%)=3.27(元) 2.两期二叉树模型 (1)基本原理:由单期模型向两期模型的扩展,不过是单期模型的两次应用。 【教材例7-11】继续采用[例7-10]中的数据,把6个月的时间分为两期,每期3个月。变动以后的数据如下:ABC 公司的股票现在的市价为50元,看涨期权的执行价格为52.08元,每期股价有两种可能:上升22.56%或下降18.4%;无风险利率为每3个月1%。 【解析】 P=(1+1%-0.816)/(1.2256-0.816)=0.47363 C U =23.02×0.47363/(1+1%)=10.80 C d =0 C 0=10.80×0.47363/(1+1%)=5.06 (2)方法: 先利用单期定价模型,根据C uu 和C ud 计算节点C u 的价值,利用C ud 和C dd 计算C d 的价值;然后,再次利用单期定价模型,根据C u 和C d 计算C 0的价值。从后向前推进。 3.多期二叉树模型 (1)原理:从原理上看,与两期模型一样,从后向前逐级推进,只不过多了一个层次。

欧式看涨期权二叉树定价

欧式看涨期权二叉树定价(含matlab代码和结果图)实验概述 本实验首先介绍了二叉树方法的来源和主要理论基础,然后给出期权的二叉树定价方法的基本过程和MATLAB7. 0实现的过程。 19. 2 实验目的 (1)了解二叉树的定价机理; (2)掌握用MATLAB7. 0生成股票价格的二叉树格子方法; (3)掌握欧式期权和美式期权的二叉树定价方法。 19. 3 实验工具 MATLAB 7. 0。 19. 4 理论要点 构造二叉树图(Binomial Tree)是期权定价方法中最为常见的一种。这个树图表示了在期权有效期内股票价格可能遵循的路径。二叉树定价方法与风险中性定价理论是紧密联系的。Cox, Ross & Rubinstein (1979)首次提出了构造离散的风险中性概率可以给期权定价,在此基础上他们给出了二叉树定价方法。 1)一个简单的例子 假设当前(3月份)股票的价格So =50元,月利率是25%。4月份股票价 格有两种可能:S 高=100元,S 低 =25元。有一份看涨期权合约,合约约定在4月份 可以以50元价格买进一股股票。现在考虑一个投资组合,进行几项操作:以价格C卖出3份看涨期权合约;以50元购入2股股票;以25%的月利率借人40元现金,

借期为一个月。 根据上述组合,我们可以得到以下到期收益分布表,如表19. 1所示。 表19.1 投资组合的到期收益分布表 四月份 三月份 S低=25元S高=100元 卖出3份看涨期权合约3C 0 -150 买人两股股票-100 50 200 借人现金40 -50 -50 总计0 0 0 由一价定律3C-100+40=0,可得C= 20元,即为期权的价格。这个例子说明,可以用一个相当简单的方法为期权定价,唯一需要做的是假设对投资者而言不存在套利机会。我们可以通过某种方式构造一个股票和期权的组合,使得在4月份该组合的价值是确定的。于是我们可以说该组合无风险,它的收益率一定等于无风险收益率。二叉树方法正是基于上述思想构造了二项分布下的风险中性概率。 2)二叉树模型 考虑一个不支付红利的股票期权价格估值。我们把期权的有效期分为很多很小的时间间隔Δt。假设在每一个时间段内股票价格从开始的价格S以概率p 上升到Su,以概率1-p下降到Sd,其中,u>1,O

股票期权二叉树定价-excel-VBA程序

Sub 期权定价() Dim i As Long '将输入的参数的值赋给相应的变量 s0 = Worksheets(1).Cells(1, 2) x = Worksheets(1).Cells(2, 2) r = Worksheets(1).Cells(3, 2) s = Worksheets(1).Cells(4, 2) t = Worksheets(1).Cells(5, 2) n = Worksheets(1).Cells(6, 2) '生成表格 Worksheets(1).Cells(1, 4) = "期数" Worksheets(1).Cells(2, 4) = "时间(年)" Worksheets(1).Cells(3, 4) = "上行乘数" Worksheets(1).Cells(4, 4) = "下行乘数" Worksheets(1).Cells(5, 4) = "股票价格" Worksheets(1).Cells(n + 6, 4) = "执行价格" Worksheets(1).Cells(n + 7, 4) = "上行概率" Worksheets(1).Cells(n + 8, 4) = "下行概率" Worksheets(1).Cells(n + 9, 4) = "买入期权价格"

'合并相应单元格 Set rr1 = Range("D5") For i = 1 To n Set rr1 = Union(Range("D" & (5 + i)), rr1) Next rr1.Select With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlBottom .WrapT ext = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With '设置格式居中 With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapT ext = False

欧式期权二叉树定价MATLAB代码

调用函数代码 function Price=EuroOption(S0,K,T,r,M,type,sigma) dt = T/M; u=exp(sqrt(dt)*sigma); d=1/u; p = (exp(r*dt)-d)/(u-d); S=zeros(M+1,M+1); S(1,1)=S0; for j=1:M for i=0:j S(i+1,j+1)= S0*u^(j-i)*d^i; end end V=zeros(M+1,M+1); for i=0:M switch type case'call' V(i+1,M+1)=max(S(i+1,M+1)-K,0); case'put' V(i+1,M+1)=max(K-S(i+1,M+1),0); case'stra' V(i+1,M+1)=max(S(i+1,M+1)-K,0)+max(K-S(i+1,M +1),0); case'bino' V(i+1,M+1) =(S(i+1,M+1)>K); end end

for j=M-1:-1:0 for i=0:j V(i+1,j+1)=exp(-r*dt)*(p*V(i+1,j+2)+(1-p)*V( i+2,j+2)); end end Price=V(1,1); 数据作图 S0 = 6; K = 5; T = 1; r = 0.05; sigma = 0.20; for M=1:100 type='call'; Price=EuroOption(S0,K,T,r,M,type,sigma); Vec(M)=Price; end for M=1:100 type='put'; Price=EuroOption(S0,K,T,r,M,type,sigma); Vep(M)=Price; end for M=1:100 type='call'; Price=AmOption(S0,K,T,r,M,type,sigma); Vac(M)=Price; end for M=1:100 type= 'put'; Price=AmOption(S0,K,T,r,M,type,sigma);

期权定价二叉树多步推导

期权定价的二叉树模型 Cox、Ross和Rubinstein提出了期权定价的另一种常用方法-----二叉树(binomial tree)模型,它假设标的资产在下一个时间点的价格只有上升和下降两种可能结果,然后通过分叉的树枝来形象描述标的资产和期权价格的演进历程。这里只讨论股票期权定价的二叉树模型 1一步二叉树模型 我们首先通过一个简单的例子介绍二叉树模型。 例1 假设一只股票的当前价格是$20,三个月后该股票价格有可能上升到$22,也有可能下降到$18.股票价格的这种变动过程可通过图8.1直观表示出来。 在上述二叉树中,从左至右的节点(实圆点)表示离散的时间点,由节点产生的分枝(路径)表示可能出现的不同股价。由于从开始至期权到期日只考虑了一个时间步长,图8.1表示的二叉树称为一步(one-step)二叉树。这是最简单的二叉树模型。 一般地,假设一只股票的当前价格是,基于该股票的欧式期权价格为。经过一个时间步(至到期日T) 后该股票价格有可能上升到相应的期权价格为;也有可能下降到 相应的期权价格为.这种过程可通过一步(one-step)二叉树表示出来,如图8.2所示。我们的问题是根据这个二叉树对该欧式股票期权定价。 为了对该欧式股票期权定价,我们采用无套利(no arbitrage)假设,即市场上无套利机会存在。构造一个该股票和期权的组合(portfolio),组合中有股的多头股票和1股空头期权。如果该股票价格上升到 ,则该组合在期权到期日的价值为;如果该股票价格下降到,则该组合在期权到 期日的价值为。根据无套利假设,该组合在股票上升和下降两种状态下的价值应该相等,即有 由此可得

bs期权定价与二叉树期权定价

第三节Black-Scholes期权定价模型一与期权定价有关的基本假设: (一).关于金融市场的基本假设 假设一:市场不存在摩擦.这就是说金融市场没有交易成本(包括佣金费用,买卖价差,税赋,市场冲击等),没有保证金要求,也没有买空的限制.提出市场无摩擦的假设在于简化金融资产定价的分析过程,其主要理由有以下两点:第一,对于大的金融机构来说,这一假设是一个较好的近似,因为他们的交易成本很低,他们在保证金要求和卖空方面受的约束很少,他们能够以买卖差的中间价进行交易等.由于金融机构是市场价格的制定者,所以从描述性角度出发,上述假设是一个较为现实的假设.第二,对于小的市场参与者来说,他们首先需要了解的是无摩擦条件下金融市场将如何运作.在此基础上,才能对复杂场合下的市场规律进行进一步深入分析.因此,从规范性角度出发,上述假设也是绝对必要的. 假设二:市场参与者不承担对家风险.这就是说,对于市场参与者所涉及的任何一个金融合同交易,合同对家不存在违约的可能. 假设三:市场是完全竞争的这就是说,金融市场上任何一位参与者都是价格的承受者,而不是价格的制定者.此假设被现代财务金融学普遍采纳,相当于一条标准的公理.任何参与者都可以根据自己的愿望买入和卖出任何数量的证券,而不至于影响该证券的市场价格.显然市场规模越大,竞争性市场假设就越接近于现实. 假设四:市场参与者厌恶风险,而且希望财富越多越好.

假设五:市场不存在套利机会.如果市场上存在套利的机会,价 格会迅速准确的进行调整,使得这种套利机会很快消失. (二).关于股利的假设 股利是影响期权价值的一个重要因素.不过,在研究期权定价问题时,股利是一个广义概念.首先,这一概念包含了通常意义上的股利,即发行标的股票公司向其股东定期支付的现金股利,我们称之为离散股利对于标的资产为股票的合同其大小一般用D 表示.一般来说,离散股利的支付发生在期权有效期内某些特定的时刻,它们往往是可以预先知道的.例如,公司将在每个季度末或每隔半年发放一定的股利.另一方面,对于标的资产为货币,股票指数,期货等的非股票期权来讲,所谓的的股利是指标的资产所有者在一段时间内,按一定的收益率所得到的报酬,如利息收入,因此它是一种连续的支付,我们称之为连续股利,其大小通常用股利支付率 二 模型假设与概述 (一)模型假设 Black 和Scholes 在推导B-S 模型时做了以下假设: (1)无风险利率r 已知,且为一个常数,不随时间变化. (2)标的资产为股票,其价格t s 的变化为一几何布朗运动,即 或者说,t s 服从正态分布 21/20exp{(0.5)},0t t s s t t e t T μσσ=-+<<……… 由(18)式容易得到 其中t e 为标准正态分布N(0,1),且不同时刻的t e 相互独立. (3)标的股票不支付股利.

相关文档
最新文档