歐式看漲期權二叉樹定價(含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份看漲期權合約 3c0150
買人兩股**100 50200
借人現金405050
總計000
由一價定律3c-100+40=0,可得c= 20元,即為期權的**。這個例子說明,可以用乙個相當簡單的方法為期權定價,唯一需要做的是假設對投資者而言不存在套利機會。我們可以通過某種方式構造一**票和期權的組合,使得在4月份該組合的價值是確定的。
於是我們可以說該組合無風險,它的收益率一定等於無風險收益率。二叉樹方法正是基於上述思想構造了二項分布下的風險中性概率。
2)二叉樹模型
考慮乙個不支付紅利的**期權**估值。我們把期權的有效期分為很多很小的時間間隔 δt。假設在每乙個時間段內****從開始的**s以概率p上公升到su,以概率1-p下降到sd,其中,u>1,osusu3
psu2su2
susu
ssss
sdsd
1-psd2sd2
sdsd3 sd4
圖19. 1**價值變化的可能性圖19. 2 二叉樹模型
例如,我們假定將期權的有效期分成4個時期,在任何乙個時期,**都有兩種可能的價值,即每個時間段都假定是乙個兩狀態過程。當n=4時,我們有以下結點圖19. 2。
在風險中性概率q下,p=
且有,f0= [pfu+(1-p)fd]
其中fu和fd是在△t期後的期權可能的**分布,分別為期權**高點和低點。
令u=1/d,根據**回報率的方差,我們有u=和d=
若每**票**路徑的樣本點個數為n+1,那麼歐式看漲期權的到期收益的樣本路徑為:f n, = max [0,sujdn-j-x], j=0,1,…,n
向後遞迴可得:fij= [pfi+1,j+1+(1-p)fi+1,j]
相應歐式看跌期權的到期收益表示:fn,j =max[0,x-sujdn-j], j=0,1,…,n
美式看漲期權的到期收益與歐式看漲期權是一致的,因此我們下面僅考慮美式看跌期權的格仔(lattice): fn,j =max[0,x-sujdn-j], j=0,1,…,n
向後遞迴可得: max。
i=n-1,n-2,…,0;j=0,1,…i
19. 5 實驗過程
我們首先給出歐式期權的二叉樹定價的matlab**,然後給出美式期權的二叉樹定價的**。
19. 5. 1 歐式看漲期權
1)歐式看漲期權的二叉樹定價
下面的函式latticeeurcall( )給出了利用二叉樹的方法給歐式看漲期權定 %歐式看漲期權的二叉樹定價價:
%function [price, lattice]=lattceeurcall(so,e,r,t,sigma, n)
%s0:**現價,e:執行**,r:利率,t:期權的有效期限,sigma:波動率,n:結點數
deltat=t/n; %日期步長
u=exp(sigma*sqrt(deltat);
d=1/u;
p=(exp(r*deltat)/(u-d); %鳳險中性概率
lattice=zeros(n+ 1, n+1)
for j=0,n
lattice(n+1,j+1)=max(0,s0*(u^j)*(d^(n-j))-e);
endfor i=n-1:-1:0
for j=0:i
lattice(i+1,j+1)=exp(-r*deltat)*…
p* lattice(i+2,j+2)+(1-p)* lattice(i+2,j+1));
endendprice= lattice1,1);
假設存在有效期為1年的歐式看漲期權,**初始**為50,利率為0. 03,波動率為0. 2,執行**為40,且令結點數n為10,在命令視窗中輸人:
[price, lattice]=latticeeurcall(50,40,0. 03,1,0. 2,10)
就可以得到乙個以下三角矩陣表示二叉樹的格仔以及歐式看漲期權的**11. 614 5,如圖19. 3所示。
2)歐式看漲期權的二叉樹的收斂性質
gox, ross & rubinstein (1979)證明了二叉樹收斂於black-scholes期權定價公式。
取當前時刻為t一△t,在給定引數p, u和d的條件下將二叉樹公式:
f(s,t一△t)=[pf(su,t)+(1-p)f(sd,t)]
在(s, t)處進行泰勒展開,可以得到:
當△t→0時,二叉樹模型收斂於black-scholes偏微分方程。下面給出乙個二叉樹收斂的直觀結果,給出**complatticebls. m。
%二叉樹期權定價的收斂性質
%complatticebls. m
s0=50;
e=50; %執行**
r=0.1; %年利率
sigma=0.4; %波動率
t=5/12; %有效期限為5個月
n=50;
blasc=blsprice(s0,e,r,t,sigma);
latticec=zeros)1,n);
for i=1:n
latticec(i)=latticeeurcall(s0,e,r,t,sigma,i);
endplot(1:n,ones(1,n)*blsc);
hold on;
plot(1:n,latticec);
xlabel('n')
ylabel('二叉樹**')
執行可以得到圖19. 4。
從圖19. 4可以看出,隨著區間長度的縮小,二叉樹定價收斂於b一s公式確定的**。
19. 5. 2 歐式看跌期權
與歐式看漲期權類似,我們只需將歐式看漲期權的**稍做改動即可。
%歐式看跌期權的二叉樹定價
%function[price,lattice]=latticeeurput(s0,e,r,t,sigma,n)
%s0:**現價,e:執行**,r:年率,t:期權的有效期限,sigma:波動率,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 j= 0:n
lattice(n+1,j+1)=max(0,e-s0*(u^j)*(d^(n-j)));
endfor i=n-1:-1:0
for j =0:i
lattice (i+1,j+1)=exp(-r*deltat)*…
p*lattice(i+2,j+2)+(1-p)*lattice(i+2,j+1));
二叉樹遍歷技巧
二叉樹先根序 後根序 中根序遍歷的速演算法 解題技巧 經過研究我找出了一種不用畫圖,由先 後 根序遍歷和中根序遍歷迅速確定遍歷結果的辦法。謹以此文獻給智商與我同級而又不得不研究演算法的朋友。抽象思維太差,用例子來說明吧。下面這個是後根遍歷的演算法。例1 已知某二叉樹的先根序遍歷為abcdefg,中根...
3最優二叉樹
計算機演算法的設計與分析實驗報告 1 描述 在權為wl,w2,wn的n個葉子所構成的所有二叉樹中,帶權路徑長度最小 即代價最小 的二叉樹稱為最優二叉樹或哈夫曼樹。例 給定4個葉子結點a,b,c和d,分別帶權7,5,2和4。構造如下圖所示的三棵二叉樹 還有許多棵 它們的帶權路徑長度分別為 a wpl ...
二叉樹的遍歷
飛機票訂票系統 二 一四年六月 二叉數的遍歷 1 問題陳述 二叉樹的中序 前序 後序的遞迴 非遞迴遍歷演算法,層次序的非遞迴遍歷演算法的實現,應包含建樹的實現。限1 人完成 二叉樹的前序 後序的遞迴 非遞迴遍歷演算法,層次序的非遞迴遍歷演算法的實現,應包含建樹的實現。先序遍歷二叉樹演算法 若二叉樹為...