当前位置:首页 >> 金融/投资 >>

MATLAB实现二叉树期货定价


第二次投资银行学小组作业
曾志涛 方润开 莫子皓 周建荣 朱伟舜 陈洁毅 蔡海彬 潘永全 1. 我们组是用 matlab 软件编写函数来实现的。以上不分红的欧式看涨期权为例,函数的编 写如下:
function [price,la]=laeucall(S0,K,r,T,sigma,N) deltaT=T/N;u=exp(sigma*sqrt(deltaT));d=1/u; %S0 is the current price of the underlying asset, K is the exercise price %of the option, r is the risk-free rate, T is the maturity length, sigma %is the volatility of the asset price, and N is the interval number. p=(exp(r*deltaT)-d)/(u-d);la=zeros(N+1,N+1); for j=0:N la(N+1,j+1)=max(0,S0*(u^j)*(d^(N-j))-K); end for i=N-1:-1:0 for j=0:i la(i+1,j+1)=exp(-r*deltaT)*(p*la(i+2,j+2)+(1-p)*la(i+2,j+1)); end end price=la(1,1)

注释里面已经解释了各个参数的含义。 以下例子中,标的资产现在价格 S0=100,执行价格 K=100,无风险利率 r=0.05,期权期 限 T=1,价格的波动率 sigma=0.3,区间数目 N 和计算结果如下表所示。其中 B-S 公式计算 结果运用 matlab 本身的 blsprice 函数计算。 区间数 1 2 5 10 20 50 100 200 500 1000 10000 B-S 公式结果:14.2313 计算结果 16.9640 12.8905 14.7893 13.9408 14.0849 14.1725 14.2018 14.2165 14.2254 14.2283 14.2310

图形如下

18.00 16.00 14.00 12.00 10.00 8.00 6.00 4.00 2.00 0.00 1 2 5 10 计算结果 20 50 100 200 500 1000 10000 BS公式计算结果

可以看出,随着区间的细分程度提高,二项式模型的计算结果越来越趋近于 B-S 公式的 计算结果。 附:以下分别是编写的欧式看跌期权、美式看涨期权和欧式看涨期权的函数,均为不分 红的情况下。 欧式看跌期权:
function [price,la]=laeuput(S0,K,r,T,sigma,N) deltaT=T/N;u=exp(sigma*sqrt(deltaT));d=1/u; p=(exp(r*deltaT)-d)/(u-d);la=zeros(N+1,N+1); for j=0:N la(N+1,j+1)=max(0,-S0*(u^j)*(d^(N-j))+K); end for i=N-1:-1:0 for j=0:i la(i+1,j+1)=exp(-r*deltaT)*(p*la(i+2,j+2)+(1-p)*la(i+2,j+1)); end end price=la(1,1)

美式看涨期权:
function [price,la]=laamcall(S0,K,r,T,sigma,N) deltaT=T/N;u=exp(sigma*sqrt(deltaT));d=1/u; p=(exp(r*deltaT)-d)/(u-d);la=zeros(N+1,N+1); for j=0:N la(N+1,j+1)=max(0,S0*(u^j)*(d^(N-j))-K); end for i=N-1:-1:0 for j=0:i la(i+1,j+1)=max(exp(-r*deltaT)*(p*la(i+2,j+2)+(1-p)*la(i+2,j+1)),-K+S 0*u^j*d^(1-j));

end end price=la(1,1)

美式看跌期权:
function [price,la]=laamput(S0,K,r,T,sigma,N) deltaT=T/N;u=exp(sigma*sqrt(deltaT));d=1/u; p=(exp(r*deltaT)-d)/(u-d);la=zeros(N+1,N+1); for j=0:N la(N+1,j+1)=max(0,-S0*(u^j)*(d^(N-j))+K); end for i=N-1:-1:0 for j=0:i la(i+1,j+1)=max(exp(-r*deltaT)*(p*la(i+2,j+2)+(1-p)*la(i+2,j+1)),K-S0 *u^j*d^(1-j)); end end price=la(1,1)

2. 期望形式的 APT 证明。 证明: 符号说明: 投资组合比例向量: w ? ( w1 , w2 , ???, wn )T 资产 i 对因素 j 的敏感性系数: ? ij 资产 i 收益率: Ri

? ?11 ? B?? ?? ? n1

? ? ? nk ? ?

?1k ?

T

资产收益向量: R ? ( R1 , R2 , ???, Rn )T 资产期望收益向量: E (R) ? ( E ( R1 ), E ( R2 ), ???, E ( Rn ))T

1 ? (1,1, ???,1)T ,元素有 n 个
投资组合收益: RP

1 ? i ? n ,1 ? j ? k
(线性规划对偶理论)

问题本质上是下列的线性规划问题:

max E ( RP ) ? E (R)T w
s.t.

1T w ? 0

Bw ? 0 w :取值范围无限制
用 ?t 表示其对偶问题的变量,由于原问题有 k ? 1 个约束条件,向量 λ ? (?0 , ?1 , ?2 , ???, ?k ) 共有 k ? 1 个元素。 其对偶问题为
T

min z ? 0T λ ? 0
s.t.
T B1 λ ? E (R)

λ :取值范围无限制
其中

? ???????11 ? B ? ? ????? ? ??????? n1 ?
T 1

? ? ? nk ? ?

?1k ?

即对偶问题的解为 0,而且 λ ? (?0 , ?1 , ?2 , ???, ?k ) 可以取任何值,则原问题的最大值不大于 0。由于 w ? (0,0,

,0) 是原问题的一个可行解,此时目标函数值为 0,因此也是最优解。

对偶问题的约束条件第 i 个方程就是

E ( Ri ) ? ?0 ? ?i1?1 ? ?i 2?2 ?

? ?ik ?k

(线性空间方法) 沿用上述记号。如果资产组合满足如下条件

1T w ? 0
Bw ? 0
则由无套利假设,必须有 E (R) w ? 0 。向量组 {1, β1 , β2 ,
T

, βk } 线性无关,由这 k ? 1 个向
?

量作为基生成一个 k ? 1 维子空间 V 。与这个子空间 V 中任何向量均正交的所有向量构成的 正交子空间记为 V ,则显然 w ? ( w1 , w2 , ???, wn ) 是正交子空间 V 的元素,这两个子空间
T

?

的 维 数 相 加 为 n 。 而 由 E ( R ) w ? 0可 知 , E ( R ) ? V , 故 存 在 唯 一 k ? 1 维 向 量
T

T λ ? (?0 , ?1 , ?2 ? , ? ? ,? ) ,使得 E (R) ? ?0 1 ? ?1β1 ? ?2β2 ? k

? ?k βk ,写成分量形式就是

E ( Ri ) ? ?0 ? ?i1?1 ? ?i 2?2 ?

? ?ik ?k


赞助商链接
相关文章:
MATLAB二叉树美式期权定价编程
MATLAB二叉树美式期权定价编程_金融/投资_经管营销_专业资料。MATLAB为美式期权定价...MATLAB实现二叉树期货定... 4页 1下载券 二叉树期权定价模型在欧... 57页 ...
二叉树模型对结构性产品定价_图文
陈晓东[8]利用 6 类 GARCH 族模型对上海期货...4.采用二叉树定价模型对期权的初始理论价值进行...通过Matlab2012a编程计算得到:执行价格为1.01S0...
欧式看涨期权二叉树定价
0 实现的过程。 19. 2 实验目的 (1)了解二叉树定价机理; (2)掌握用 MATLAB7. 0 生成股票价格二叉树格子方法; (3)掌握欧式期权和美式期权的二叉树定价...
第七章二叉树和三叉树的期权定价方法
第七章二叉树和三叉树的期权定价方法_经管营销_专业资料。期权定价第...首先,我们建立一个函数对给定 P 条件下的 期望进行估计;MATLAB 代码在图 7.7...
基于matlab构造最优二叉树
MATLAB实现二叉树期货定... 4页 1下载券 MATLAB二叉树美式期权定... 1页 1...欧式期权二叉树定价模型... 暂无评价 3页 免费 CELTS-22.1:网络课程评... ...
MATLAB金融计算试题
MATLAB 金融计算试题(2014 级研究生用) (上机操作使用)一、利率期限结构(20 ...dividentrate,divident,exdiv) 运行结果: 得出二叉树每个交点处的资产价格和...
求最优二叉树的matlab算法(霍夫曼算法)
%%最优二叉树的霍夫曼算法 p=[0.35 0.1 0.2 0.1 0.2 0.05]; n=length(p);q=p; a=zeros(n-1,n); %生成一个 n-1 行 n 列的数组 for i...
CRR二叉树模型及例题
二叉树模型中,期权定价从树形图末端开始,采用倒推定价进行。 由于在 T ...方法一: 在 MATLAB 中执行如下命令: [Price,Option]=binprice(0.000881,0....
第一章 第二章 期货市场的运作机制
260 17.5 期货期权的下限………260 17.6 采用二叉树对期货期权定价………261 17.7 期货价格在风险中性世界的漂移率.262 17.8 对于期货期权定价的布莱克模型...
期权定价实验报告(M101613110黄清霞)
试构造二叉树模型,确定期权的价格并与求解公式所得解进行比较。 C.实验过程 在 Matlab 中可以直接利用二叉树定价函数确定期权价格,函数名称为 binprice。 调用方式...
更多相关标签: