当前位置:文档之家› 期权定价模型及其求解

期权定价模型及其求解

看涨期权定价为10.5193,看跌期权定价为9.2770
【实验小结】(收获体会)
通过这次期权定价模型与数值方法综合实验,加深了对Black-Schole期权定价公式的理解,同时培养了运用软件工具解决期权定价问题的应用和动手能力。
三、指导教师评语及成绩:
评语
评语等级



及格
不及格
1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强
(7)可以运用全部的金融资产所得进行卖空操作。
无收益欧式看涨期权的定价公式:
无收益资产欧式看跌期权的定价公式:
其中 ,
算例:股票的价格为100,股票的波动率标准差为0.25,无风险利率为5%,期权的执行价格为100,存续期为0.25年,试计算该股票欧式期权的价格。
【实验环境】
MATLAB2010b
Windows10
2.实验方案设计合理
3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)
4实验结论正确.
成绩:
指导教师签名:
批阅日期:
附录1:源程序
欧式期权的收益图程序:
subplot(1,2,1)
s=[0:1:99];
E=50;
call=zeros(size(s));
for i=1:100
call(i)=max(s(i)-E,0);
【实验原理】
1.BSM期权价格微分方程
2.看跌期权定价的显性差分法
(1)BSM微分方程中偏导数的差分近似
; ;
(2)差分方程
其中
(3)边界条件
T时刻看跌期权的价值为
下边界 上期权价值为
上边界 上期权价值为
(4)期权的价值
对于差分方程和边界条件

解出每个 的期权值,然后再与每个格点的期权内在价值 进行比较,判断是否提前执行,从而得到 时刻每个格点的期权价格。
end
plot(S,put);
ylim([-10 50]);
xlim([0 90]);
xlabel('到期价格S(T)');
ylabel('看跌期权的到期收益');
计算期权定价:
function [Call Put]=bsprice(S0,K,r,T,sigma)
% call:看涨期权
% put:看跌期权
数学与计算科学学院
实验报告
实验项目名称期权定价模型及其求解
所属课程名称微分方程数值解
实验类型验证型
实验日期4月8日
班级
学号
姓名
成绩
一、实验概述:
【实验目的】
(1)通过期权定价模型与数值方法综合实验,使学生加深对期权模型的理解;
(2)熟练掌握运用Matlab软件计算期权价格的有限差分法。
(4)培养学生运用软件工具解决期权定价问题的应用和动手能力。
二、实验内容:
【实验方案】
编写m文件,存储函数和需要求解的方程,在命令窗口输入相关命令调用函数即可得到结果。
【实验过程】(实验步骤、记录、数据、分析)
第一步.利用Matlab绘制欧式期权的收益图
2,计算Black-Scholes期权价格:
(call:看涨期权put:看跌期权
S0:股票的现价K:期权执行价格
(1)在期权有效期内,无风险利率和股票资产期望收益变量和价格波动率是恒定的;
(2)市场无摩擦,即不存在税收和交易成本;
(3)股票资产在期权有效期内不支付红利及其它所得(该假设可以被放弃);(4)该期权是欧式期权,即在期权到期前不可实施;
(5)金融市场不存在无风险套利机会;
(6)金融资产的交易可以是连续进行的;
Put=K*exp(-r*T)*normcdf(-d2)-S0*normcdf(-d1); %利用Black-Schole公式计算看跌期权价格、
依此类推,可以计算出 ,当 等于初始资产价格时,该格点对应的 就是所求的期权价值。
1.参量与符号
(1) :标的资产的价格;(2) :行权价格;(3) :到期期限;
(4) :标的资产价格波动率;(5) :连续复利的无风险利率。
2.Black-Schole期权定价公式
在满足以下条件下,可以有新的计算公式。
% S0:股票的现价
% K:期权执行价格
% r:
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公式计算看涨期权价格
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.5193
Put =
9.2770
【实验结论】(结果)
end
plot(s,call)
ylim([-10 50]);
xlim([0 90]);
xlabel('到期价格S(T)');
ylabel('看涨期权的到期收益');
subplot(1,2,2)
S=[0:1:99];
put=zeros(size(S));
for i=1:100
put(i)=max(E-S(i),0);
相关主题