数学与计算科学学院实验报告实验项目名称期权定价模型及其求解所属课程名称微分方程数值解实验类型验证型实验日期4月8日班级学号姓名成绩1一、实验概述:【实验目的】(1)通过期权定价模型与数值方法综合实验,使学生加深对期权模型的理解;(2)熟练掌握运用Matlab软件计算期权价格的有限差分法。(4)培养学生运用软件工具解决期权定价问题的应用和动手能力。【实验原理】1.BSM期权价格微分方程rfSfSSfSqrtf222221)(2.看跌期权定价的显性差分法(1)BSM微分方程中偏导数的差分近似tfftfjiji,,1;SffSfjiji21,11,1;2,11,11,1222SfffSfjijiji(2)差分方程jijijjijjijffcfbfa,1,1*,1*1,1*)1,,3,2,1;1,2,1,0(MjNi其中tjtjqrtraj22*21)(2111)1(1122*tjtrbjtjtjqrtrcj22*21)(2111(3)边界条件T时刻看跌期权的价值为MjSjSSXfTTjN,,1,0,),0,max(,下边界0S上期权价值为NiXfi,,1,0,0,上边界maxSS上期权价值为NifMi,,1,0,0,(4)期权的价值对于差分方程和边界条件jijijjijjijffcfbfa,1,1*,1*1,1*)1,,3,2,1;1,2,1,0(MjNi0,1MNf;XfN0,1解出每个jNf,1的期权值,然后再与每个格点的期权内在价值SjX进行比较,判断是否提前执行,从而得到tN)1(时刻每个格点的期权价格。2依此类推,可以计算出jf,0,当Sj等于初始资产价格时,该格点对应的f就是所求的期权价值。1.参量与符号(1)S:标的资产的价格;(2)X:行权价格;(3)tT:到期期限;(4):标的资产价格波动率;(5)r:连续复利的无风险利率。2.Black-Schole期权定价公式在满足以下条件下,可以有新的计算公式。(1)在期权有效期内,无风险利率和股票资产期望收益变量和价格波动率是恒定的;(2)市场无摩擦,即不存在税收和交易成本;(3)股票资产在期权有效期内不支付红利及其它所得(该假设可以被放弃);(4)该期权是欧式期权,即在期权到期前不可实施(5)金融市场不存在无风险套利机会;(6)金融资产的交易可以是连续进行的;(7)可以运用全部的金融资产所得进行卖空操作。无收益欧式看涨期权的定价公式:)()(2)(1dNXedSNctTr无收益资产欧式看跌期权的定价公式:)()(12)(dSNdNXeptTr其中tTtTrXSd))(2/()/ln(21,tTdd12算例:股票的价格为100,股票的波动率标准差为0.25,无风险利率为5%,期权的执行价格为100,存续期为0.25年,试计算该股票欧式期权的价格。【实验环境】MATLAB2010bWindows10二、实验内容:【实验方案】编写m文件,存储函数和需要求解的方程,在命令窗口输入相关命令调用函数即可得到结果。【实验过程】(实验步骤、记录、数据、分析)第一步.利用Matlab绘制欧式期权的收益图32,计算Black-Scholes期权价格:(call:看涨期权put:看跌期权S0:股票的现价K:期权执行价格r:无风险利率T:期权存续期sigma:波动率)用老师给定的数据s0=100;k=100;r=0.05;sigma=0.5;T=0.25;调用语句[Call,Put]=bsprice(100,100,0.05,0.25,0.5)得到如下结果:Call=10.5193Put=9.2770【实验结论】(结果)看涨期权定价为10.5193,看跌期权定价为9.2770【实验小结】(收获体会)通过这次期权定价模型与数值方法综合实验,加深了对Black-Schole期权定价公式的理解,同时培养了运用软件工具解决期权定价问题的应用和动手能力。三、指导教师评语及成绩:评语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,4逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确.成绩:指导教师签名:批阅日期:附录1:源程序欧式期权的收益图程序:subplot(1,2,1)s=[0:1:99];E=50;call=zeros(size(s));fori=1:100call(i)=max(s(i)-E,0);endplot(s,call)ylim([-1050]);xlim([090]);xlabel('到期价格S(T)');ylabel('看涨期权的到期收益');subplot(1,2,2)S=[0:1:99];put=zeros(size(S));fori=1:100put(i)=max(E-S(i),0);endplot(S,put);ylim([-1050]);xlim([090]);xlabel('到期价格S(T)');ylabel('看跌期权的到期收益');计算期权定价:function[CallPut]=bsprice(S0,K,r,T,sigma)%call:看涨期权%put:看跌期权%S0:股票的现价%K:期权执行价格%r:无风险利率5%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);%利用Black-Schole公式计算看跌期权价格、