MATLAB程序设计 BS公式与二叉树模型期权定价与分析Word下载.docx
- 文档编号:15723542
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:24
- 大小:278.64KB
MATLAB程序设计 BS公式与二叉树模型期权定价与分析Word下载.docx
《MATLAB程序设计 BS公式与二叉树模型期权定价与分析Word下载.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计 BS公式与二叉树模型期权定价与分析Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
为瞬时期望漂移率,
为瞬时标准差,它们都是给定的参数,
是连续的维纳过程。
生成布朗运动的随机序列,作者编写了函数BrownM可以生成一维或者二维的随机序列,具体使用方法为:
functiondata=BrownM(Npoints,Mean,Std,Opt)
输入参数:
Npoints:
生成序列的节点数
Mean:
正态分布均值
Std:
正态分布标准差
Opt:
选择项Opt=1生成一维随机数,Opt=2生成二维随机数
输出参数:
Data:
服从布朗运动一维或者二维的随机序列
BrownM源码:
%codebyariszheng@
%2009-6-13
dt=1;
%dt时间变化
%选择项Opt=1生成一维随机数,Opt=2生成二维随机数
ifOpt==1
%%
%standardBrownianmotion
data=[0cumsum(dt^0.5.*random('
Normal'
Mean,Std,1,Npoints))];
%random('
Mean,Std,1,Npoints)
%生成服从正态分布的随机数,Mean均值,Std方差,1,Npoints一行Npoints个
%cumsum为累加函数
%画图
figure
plot(0:
Npoints,data);
elseifOpt==2
data=cumsum([zeros(1,3);
dt^0.5*random('
Mean,Std,Npoints-1,3)]);
plot3(data(:
1),data(:
2),data(:
3),'
k'
);
%根据数值设定画图点的颜色
pcol=(data-repmat(min(data),Npoints,1))./...
repmat(max(data)-min(data),Npoints,1);
%叠加画图
holdon;
scatter3(data(:
2),data(:
3),...
10,pcol,'
filled'
%显示网格
gridon;
holdoff;
else
error('
Opt=1orOpt=2'
)
end
注视:
累加运算Cumsum例如A=[1,2,3,4];
Cumsum(A)=[1,3,6,10]
BrownM使用实例:
M文件BrownMtest.M
%testBrownM
%生成1000个数据
Npoints=1000;
%均值为0
Mean=0;
%方差为1
Std=1;
%生成一维随机数
Opt=1;
dataA=BrownM(Npoints,Mean,Std,Opt);
%Opt=2;
%dataB=BrownM(Npoints,Mean,Std,Opt);
结果图:
布朗运动一维随机序列与布朗运动二维随机序列
图1布朗运动一维随机序列图
图2布朗运动二维随机序列图
1.2B-S定价模型
即著名的Black-Scholes期权定价公式,欧式买权或卖权解的表达式:
其中,
Black-Scholes期权定价模型将股票期权价格的主要因素分为五个:
:
标的资产市场价格
执行价格
无风险利率
标的资产价格波动率
距离到期时间。
Matlab提供了Black-Scholes期权定价模型函数
函数名称
函数功能
blsdelta
Black-Scholessensitivitytounderlyingpricechange
Delta计算
blsgamma
Black-Scholessensitivitytounderlyingdeltachange
Gamma值计算
blslambda
Black-Scholeselasticity
blsprice
Black-Scholesputandcalloptionpricing
BS公式期权价值计算
blsrho
Black-Scholessensitivitytointerestratechange
利率变化rho计算
blstheta
Black-Scholessensitivitytotime-until-maturitychange
剩余期限theta值计算
blsvega
Black-Scholessensitivitytounderlyingpricevolatility
标的资产的波动率Vage值计算
blkimpv
ImpliedvolatilityforfuturesoptionsfromBlack'
smodel
Black模型隐含波动率计算
表1Black-Scholes期权定价模型函数
1.期权价格函数blsprice
[Call,Put]=blsprice(Price,Strike,Rate,Time,Volatility,Yield)
Price:
Strike:
Rate:
Time:
距离到期时间
Volatility:
Yield:
(可选)资产连续贴现利率,默认为0
Call:
Calloption价格
Put:
Putoption价格
假设欧式股票期权,三个月后到期,执行价格95元,现价为100元,无股利支付,股价年化波动率为50%,无风险利率为10%,则期权价格为:
%标底资产价格
Price=100;
%执行价格
Strike=95;
%无风险收益率(年化)10%
Rate=0.1
%剩余时间
Time=3/12=0.25;
%年化波动率
Volatility=0.5
[Call,Put]=blsprice(100,95,0.1,0.25,0.5)
>
Call=13.70%买入期权
Put=6.35%卖出期权
若要分析期权价格与波动率关系,我们可以根据一系列波动率计算,一系列看涨期权与看跌期权的价格,可以编写blsprice_Vol.m程序
%无风险收益率(年化)
Rate=0.1;
%10%
Time=3/12;
%=0.25;
%年化波动率从0.1到0.5间隔0.01共41个数据点
Volatility=0.1:
0.01:
0.5;
%数组Volatility的元素个数
N=length(Volatility)
Call=zeros(1,N);
Put=zeros(1,N);
fori=1:
N
[Call(i),Put(i)]=blsprice(Price,Strike,Rate,Time,Volatility(i));
End
%看涨期权为虚线
plot(Call,'
b--'
holdon
%看跌期权为实现,‘b’表示蓝色
plot(Put,'
b'
%横坐标
xlabel('
Volatility'
%纵坐标
ylabel('
price'
%线标
legend('
Call'
'
Put'
结果如图
图3期权价格与波动率关系
2.Greeks计算
期权的Greeks为期权价格对市场变量的敏感程度即定价公式的导数
(1)delta为期权价格对标的物市场价格的敏感度(S的一阶导数),计算函数为blsdelta
(2)gamma为期权Delta对标的物市场价格的敏感度(S的二阶导数),计算函数为blsgamma
(3)lambda为期权杠杆水平的一个比率,显示标的资产的价格每变动一个百分点,可导致期权价格变动的百分比.,计算公式为blslambda
(3)rho为期权对市场利率的敏感度(r的一阶导数),计算函数为blsrho
(4)theta为期权对剩余期限的敏感程度(T-t的一阶导数),计算函数为blstheta
(5)vega为期权对标底物价格波动率的敏感度(σ的一阶导数),计算函数为blsvga
以blsdelta函数语法为例,其他Greeks的语法与blsdelta基本相同
[CallDelta,PutDelta]=blsdelta(Price,Strike,Rate,Time,Volatility,Yield)
CallDelta:
看涨期权的Delta
PutDelta:
看跌期权的Delta
假设欧式股票期权,三个月后到期,执行价格95元,现价为100元,无股利支付,股价年化波动率为50%,无风险利率为10%,则期权Delta为:
Volatility=0.5;
[CallDelta,PutDelta]=blsdelta(Price,Strike,Rate,Time,Volatility)
计算结果:
CallDelta=
0.6665
PutDelta=
-0.3335
若要分析期权Detla与标的资产价格、剩余期限的关系,即不同的Price与Time计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB程序设计 BS公式与二叉树模型期权定价与分析 MATLAB 程序设计 BS 公式 二叉 模型 期权 定价 分析
![提示](https://static.bdocx.com/images/bang_tan.gif)