您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 实验三Black-Scholes期权定价方法
实验三Black-Scholes期权定价方法一、实验概述本试验用Matlab7.0工具绘制期权到期收益图,在此基础上进一步了解欧式期权的特征。进一步利用Black-Scholes期权定价对看涨期权进行定价过程。二、实验目的1.理解欧式期权的形态特征2.掌握欧式期权的参数估计方法3.利用国泰安和锐思数据库对股票的收益率进行参数估计。4.培养学生利用数据库和相关软件进行金融计算的能力。三、实验工具天琪期货据库和锐思数据库,MATLAB7.0软件。四、实验原理4.1欧式看涨期权的到期收益计算()ST表示股票在交割日的价格,K表示交割价,看涨期权到期收益为max{(),0}STK。4.2欧式看跌期权的到期收益计算()ST表示股票在交割日的价格,K表示交割价,看涨期权到期收益为max{(),0}KST。4.3二元期权和备兑认购期权的到期收益计算()ST表示股票在交割日的价格,K表示交割价,二元期权到期收益为1,()1,()ifSTKifSTK。备兑认购期权的到期收益()max{(),0}STKST4.4Black-Scholes股票期权定价股票价格服从对数正态分布;在期权有效期内,无风险利率和股票资产期望收益变量和价格波动率是恒定的;市场无摩擦,即不存在税收和交易成本;股票资产在期权有效期内不支付红利及其它所得(该假设可以被放弃);该期权是欧式期权,即在期权到期前不可实施;金融市场不存在无风险套利机会;金融资产的交易可以是连续进行的;可以运用全部的金融资产所得进行卖空操作。股票的价格为20exp/2ttSSzt对上述方程两边取自然对数可得,20ln2ttSztS其中右边的表达式是一个均值为2(/2)t,方差为t2的正态随机变量,波动率是,漂浮率是。我们将用股票价格的几何布朗运动模型对欧式看涨期权进行定价。F.Black和M.Scholes(1973年)假设股票价格是几何布朗运动,股票的现价是0S,执行价是X,到期时间为,无风险利率是r,利用ˆIto引理,推导出欧式看涨期权的价格V的解析表达式是012()()rVSNdXeNd其中,1()Nd和2()Nd是标准正态分布函数,201ln/(/2)SXrd(),21dd。V被称为Black-Schole公式五、实验内容第一步、利用Matlab绘制欧式期权的收益图subplot(1,2,1)%生成1行2列子图;数字(1,2,1)分别表示为在同一幅图有1行2列子图,最后一个1表示第1列将会显示后面生成的“看涨期权的到期收益”子图s=[0:1:99];%生成股票的向量:从0到99共100个样本点,0到99之间的间隔距离为1E=50;%执行价格call=zeros(size(s));%生成和向量s一样长度的向量call(看涨期权),并全部初始赋值为0;size()为返回指定数组的行数或列数的函数fori=1:100%循环语句,执行100次call(i)=max(s(i)-E,0);%将看涨期权到期收益赋值给call数组(赋值了100次)end%赋值结束plot(s,call)%画看涨期权到期收益图,x轴为股票向量,y轴为看涨期权到期收益ylim([-1050]);%设置y的上下界xlim([090]);%设置x轴的上下界xlabel('股票到期价格S(T)');%给x轴作标签ylabel('看涨期权的到期收益');%给y轴作标签supplot(1,2,2)%在上述同一幅图中第2列将会显示后面生成的“看跌期权的到期收益”子图S=[0:1:99];%生成股票的向量:从0到99共100个样本点,0到99之间的间隔距离为1put=zeros(size(S));%生成和向量s一样长度的向量put(看跌期权),并全部初始赋值为0;size()为返回指定数组的行数或列数的函数fori=1:100%循环语句,执行100次put(i)=max(E-S(i),0);%将看涨期权到期收益赋值给call数组(赋值了100次)end%循环语句结束plot(S,put);%画看跌期权到期收益图,x轴为股票向量,y轴为看跌期权到期收益ylim([-1050]);%设置y的上下界xlim([090]);%设置x轴的上下界xlabel('股票到期价格S(T)');%给x轴作标签ylabel('看跌期权的到期收益');%给y轴作标签程序运行如下:table1看涨期权到期收益和看跌期权到期收益第二步、二元期权的到期收益图%binaryplot.m%建立一个m文件S=[0:1:99];%生成股票的向量:从0到99共100个样本点,间隔距离为1E=45;%执行价格payoff=zeros(size(S,2),1);%生成一个size(S,2)行1列全为0的数组payoffsize(S,2)表示数组S的列数fori=1:size(S,2)%循环语句,执行100次ifS(i)E%选择语句,若S(i)E,则将1复制给payoff(i),否则,执行-1赋值给payoff(i)payoff(i)=1;elsepayoff(i)=-1;end%选择语句结束end%循环语句结束plot(S,payoff);%绘二元期权到期收益图ylim([-22]);%设置y的上下界xlabel('二元期权的到期收益')%给x轴作标签ylabel('看涨期权的到期收益')%给y轴作标签table2二元期权到期收益第三步、利用Matlab软件编程,计算影响期权价格的参数估计。%对时间序列缺失的日数据进行线性插值functionsp=chazhi(SPrice)%建立chazhi函数z=SPrice(size(SPrice,1),1)-SPrice(1,1)+1;%计算数据行数,SPrice函数的第一个列的最后一个数减去第一个数p=zeros(z,2);%初始化P矩阵,生成z行2列全为0矩阵的p矩阵p(1,:)=SPrice(1,:);%将SPrice矩阵第一行的数全部赋值给p矩阵的第一行k=1;fori=1:(size(SPrice,1)-1)%外循环语句m=SPrice(i+1,1)-SPrice(i,1);%将SPrice数组的前一个数减去后一个数forj=1:m%内循环语句p(k+j-1,:)=[SPrice(i,1)+j-1,…SPrice(i,2)+(j-1)*(SPrice(i+1,2)-SPrice(i,2))/m];%对原数据SPrice进行线性插值,并重新赋值给p矩阵end%内循环语句结束k=k+m;end%外循环语句结束%p(z,:)=SPrice(size(SPrice,1),:);0102030405060708090100-2-1.5-1-0.500.511.52二元期权的到期收益看涨期权的到期收益sp=p;%p矩阵全部赋值给sp矩阵在命令窗口输入以下程序,计算收益率SPrice=[1500,1600;1700,1800];%数据输入chazhi(SPrice)%调用上述chazhi插值函数SP=ans;%将计算结果赋值给SP矩阵pp=zeros(size(SP));%初始化PP数组(全为0),生成和矩阵SP一样大小pp(:,1)=SP(:,2);%将矩阵SP的第2列元素全部赋值到矩阵PP的第一列fori=1:size(SP,1)-1%循环语句,执行次数为(矩阵SP行数-1)次pp(i+1,2)=SP(i,2);%矩阵SP的第二列元素全部赋值给PP矩阵的第2列rr(i,1)=log(pp(i+1,1)/pp(i+1,2));%计算收益率end%循环语句结束rr%显示出收益率的数据h=jbtest(rr)%jb检验(默认显著性水平)h=1hs=adftest(rr)%ADF检验hs=1第四步、计算Black-Scholes期权价格function[CallPut]=bsprice(S0,K,r,T,sigma)%call:看涨期权%put:看跌期权%S0:股票的现价%K:期权执行价格%r:无风险利率%T:期权存续期%sigma:波动率d1=(log(S0/K)+(r+0.5*sigma^2)*T)/(sigma*sqrt(T));%d1的计算d2=d1-(sigma*sqrt(T));%d2的计算Call=S0*normcdf(d1)-K*exp(-r*T)*normcdf(d2);%利用Black-Schole公式计算看涨期权价格Put=K*exp(-r*T)*normcdf(-d2)-S0*normcdf(-d1);%计算看跌期权价格、将以上代码,保存为m文件%在命令窗口,输入相关参数的值[Call,Put]=bsprice(7.5,7,0.022,1,0.45)运行计算得出的结果如下:Call=1.6288Put=0.9765六、课堂实验任务在锐思数据库,下载我国某个期权(权证)的相关信息,完成下面的试验任务:第一、用Matlab编程,绘制欧式看跌期权和二元期权的收益和盈亏图;第二、利用试验原理中的Black-Scholes期权定价公式,计算在给定相关参数时的欧式看涨期权价格;第三、根据上述内容完成试验报告,其主要包括实验名称、实验原理、实验目的、实验内容、实验过程及实验结果分析等。
本文标题:实验三Black-Scholes期权定价方法
链接地址:https://www.777doc.com/doc-2458095 .html