matlab期货期权
❶ 如何用matlab求解Black and Scholes期权定价模型的隐含波动率
其实实现起来不是很难的,利用matlab中的financial组件就行了。本没有什么难得,还需要知道一些金融的参数即可。
❷ 如何在matlab中用蒙特卡洛模拟计算欧式期权价格
function [c,p]=ucoption(S,X,sigma,r,T,M)
sig2=sigma^2;
srT=sqrt(T);
srTa=sigma*srT;
c=0;
p=0;
for i=1:M
ST=S*exp((r-0.5*sig2)*T+srTa*randn);
c=c+max(ST-X,0);
p=p+max(X-ST,0);
end
c=c/M;
p=p/M;
[Call,Put] = blsprice(S, X, r, T, sigma);
error=[c,p]-[Call,Put]
%可以试试 [c,p]=ucoption(10,10,0.3,0.05,0.5,10^4*100);
❸ 如何使用matlab计算期权价格
参考论文
期权定价理论是现代金融学中最为重要的理论之一,也是衍生金融工具定价中最复杂的。本文给出了欧式期权定价过程的一个简单推导,并利用Matlab对定价公式给出了数值算例及比较静态分析,以使读者能更直观地理解期权定价理论。
关键词:Matlab;教学实践
基金项目:国家自然科学基金项目(70971037);教育部人文社科青年项目(12YJCZH128)
中图分类号:F83文献标识码:A
收录日期:2012年4月17日
现代金融学与传统金融学最主要的区别在于其研究由定性分析向定量分析的转变。数理金融学即可认为是现代金融学定量分析分支中最具代表性的一门学科。定量分析必然离不开相应计算软件的应用,Matlab就是一款最为流行的数值计算软件,它将高性能的数值计算和数据图形可视化集成在一起,并提供了大量内置函数,近年来得到了广泛的应用,也为金融定量分析提供了强有力的数学工具。
一、Black-Scholes-Merton期权定价模型
本节先给出B-S-M期权定价模型的简单推导,下节给出B-S-M期权定价模型的Matlab的实现。设股票在时刻t的价格过程S(t)遵循如下的几何Brown运动:
dS(t)=mS(t)dt+sS(t)dW(t)(1)
无风险资产价格R(t)服从如下方程:
dR(t)=rR(t)dt(2)
其中,r,m,s>0为常量,m为股票的期望回报率,s为股票价格波动率,r为无风险资产收益率且有0<r<m;dW(t)是标准Brown运动。由式(1)可得:
lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■](3)
欧式看涨期权是一种合约,它给予合约持有者以预定的价格(敲定价格)在未来某个确定的时间T(到期日)购买一种资产(标的资产)的权力。在风险中性世界里,标的资产为由式(1)所刻画股票,不付红利的欧式看涨期权到期日的期望价值为:■[max(S(T)-X,0)],其中■表示风险中性条件下的期望值。根据风险中性定价原理,不付红利欧式看涨期权价格c等于将此期望值按无风险利率进行贴现后的现值,即:
c=e-r(T-1)■[max{S(T)-X,0}](4)
在风险中性世界里,任何资产将只能获得无风险收益率。因此,lnS(T)的分布只要将m换成r即可:
lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■](5)
由式(3)-(4)可得欧式看涨期权价格:
c=S(t)N(d1)-Xe-r(T-1)N(d2)(6)
这里:
d1=■(7)
d2=■=d1-s■(8)
N(x)为均值为0标准差为1的标准正态分布变量的累积概率分布函数。S(t)为t时刻股票的价格,X为敲定价格,r为无风险利率,T为到期时间。欧式看跌期权也是一种合约,它给予期权持有者以敲定价格X,在到期日卖出标的股票的权力。
下面推导欧式看涨期权c与欧式看跌期权p的联系。考虑两个组合,组合1包括一个看涨期权加上Xe-r(T-1)资金,组合2包含一个看跌期权加上一股股票。于是,在到期时两个组合的价值必然都是:
max{X,S(T)}(9)
欧式期权在到期日之前是不允许提前执行的,所以当前两个组合的价值也必相等,于是可得欧式看涨期权与看跌期权之间的平价关系(put-call parity):
c+Xe-r(T-t)=p+S(t)(10)
由式(10)可得,不付红利欧式看跌期权的价格为:
p=Xe-r(T-t)N(-d2)-S(t)N(-d1)(11)
二、Black-Scholes-Merton模型的Matlab实现
1、欧式期权价格的计算。由式(6)可知,若各参数具体数值都已知,计算不付红利的欧式看涨期权的价格一般可以分为三个步骤:先算出d1,d2,涉及对数函数;其次计算N(d1),N(d2),需要查正态分布表;最后再代入式(6)及式(11)即可得欧式期权价格,涉及指数函数。不过,欧式期权价格的计算可利用Matlab中专有blsprice函数实现,显然更为简单:
[call,put]=blsprice(Price,Strike,Rate,Time,Volatility)(12)
只需要将各参数值直接输入即可,下面给出一个算例:设股票t时刻的价格S(t)=20元,敲定价格X=25,无风险利率r=3%,股票的波动率s=10%,到期期限为T-t=1年,则不付红利的欧式看涨及看跌期权价格计算的Matlab实现过程为:
输入命令为:[call,put]= blsprice(20,25,0.03,0.1,1)
输出结果为:call=1.0083put=5.9334
即购买一份标的股票价格过程满足式(1)的不付红利的欧式看涨和看跌期权价格分别为1.0083元和5.9334元。
2、欧式期权价格的比较静态分析。也许纯粹计算欧式期权价格还可以不利用Matlab软件,不过在授课中,教师要讲解期权价格随个参数的变化规律,只看定价公式无法给学生一个直观的感受,此时可利用Matlab数值计算功能及作图功能就能很方便地展示出期权价格的变动规律。下面笔者基于Matlab展示欧式看涨期权价格随各参数变动规律:
(1)看涨期权价格股票价格变化规律
输入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1;
c=blsprice(s,x,r,t,v);
plot(s,c,'r-.')
title('图1看涨期权价格股票价格变化规律');
xlabel('股票价格');ylabel('期权价值');grid on
(2)看涨期权价格随时间变化规律
输入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v);
plot(t,c,'r-.')
title('图2看涨期权价格随时间变化规律');
xlabel('到期时间');ylabel('期权价值');grid on
(3)看涨期权价格随无风险利率变化规律
s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v);
plot(r,c,'r-.')
title('图3看涨期权价格随无风险利率变化规律');
xlabel('无风险利率');ylabel('期权价值');grid on
(4)看涨期权价格随波动率变化规律
s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v);
plot(v,c,'r-.')
title('图4看涨期权价格随波动率变化规律');
xlabel('波动率');ylabel('期权价值');grid on
(作者单位:南京审计学院数学与统计学院)
主要参考文献:
[1]罗琰,杨招军,张维.非完备市场欧式期权无差别定价研究[J].湖南大学学报(自科版),2011.9.
[2]罗琰,覃展辉.随机收益流的效用无差别定价[J].重庆工商大学学报(自科版),2011.
[3]邓留宝,李柏年,杨桂元.Matlab与金融模型分析[M].合肥工业大学出版社,2007.
❹ 付费代做MATLAB期权定价作业
你可以在威客网上发布要求啊
❺ 如何使用matlab实现Black-Scholes期权定价模型
参考论文 期权定价理论是现代金融学中最为重要的理论之一,也是衍生金融工具定价中最复杂的。本文给出了欧式期权定价过程的一个简单推导,并利用Matlab对定价公式给出了数值算例及比较静态分析,以使读者能更直观地理解期权定价理论。 关键词:Matlab;教学实践 基金项目:国家自然科学基金项目(70971037);教育部人文社科青年项目(12YJCZH128) 中图分类号:F83文献标识码:A 收录日期:2012年4月17日 现代金融学与传统金融学最主要的区别在于其研究由定性分析向定量分析的转变。数理金融学即可认为是现代金融学定量分析分支中最具代表性的一门学科。定量分析必然离不开相应计算软件的应用,Matlab就是一款最为流行的数值计算软件,它将高性能的数值计算和数据图形可视化集成在一起,并提供了大量内置函数,近年来得到了广泛的应用,也为金融定量分析提供了强有力的数学工具。 一、Black-Scholes-Merton期权定价模型 本节先给出B-S-M期权定价模型的简单推导,下节给出B-S-M期权定价模型的Matlab的实现。设股票在时刻t的价格过程S(t)遵循如下的几何Brown运动: dS(t)=mS(t)dt+sS(t)dW(t)(1) 无风险资产价格R(t)服从如下方程: dR(t)=rR(t)dt(2) 其中,r,m,s>0为常量,m为股票的期望回报率,s为股票价格波动率,r为无风险资产收益率且有0<r<m;dW(t)是标准Brown运动。由式(1)可得: lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■](3) 欧式看涨期权是一种合约,它给予合约持有者以预定的价格(敲定价格)在未来某个确定的时间T(到期日)购买一种资产(标的资产)的权力。在风险中性世界里,标的资产为由式(1)所刻画股票,不付红利的欧式看涨期权到期日的期望价值为:■[max(S(T)-X,0)],其中■表示风险中性条件下的期望值。根据风险中性定价原理,不付红利欧式看涨期权价格c等于将此期望值按无风险利率进行贴现后的现值,即: c=e-r(T-1)■[max{S(T)-X,0}](4) 在风险中性世界里,任何资产将只能获得无风险收益率。因此,lnS(T)的分布只要将m换成r即可: lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■](5) 由式(3)-(4)可得欧式看涨期权价格: c=S(t)N(d1)-Xe-r(T-1)N(d2)(6) 这里: d1=■(7) d2=■=d1-s■(8) N(x)为均值为0标准差为1的标准正态分布变量的累积概率分布函数。S(t)为t时刻股票的价格,X为敲定价格,r为无风险利率,T为到期时间。欧式看跌期权也是一种合约,它给予期权持有者以敲定价格X,在到期日卖出标的股票的权力。 下面推导欧式看涨期权c与欧式看跌期权p的联系。考虑两个组合,组合1包括一个看涨期权加上Xe-r(T-1)资金,组合2包含一个看跌期权加上一股股票。于是,在到期时两个组合的价值必然都是: max{X,S(T)}(9) 欧式期权在到期日之前是不允许提前执行的,所以当前两个组合的价值也必相等,于是可得欧式看涨期权与看跌期权之间的平价关系(put-call parity): c+Xe-r(T-t)=p+S(t)(10) 由式(10)可得,不付红利欧式看跌期权的价格为: p=Xe-r(T-t)N(-d2)-S(t)N(-d1)(11) 二、Black-Scholes-Merton模型的Matlab实现 1、欧式期权价格的计算。由式(6)可知,若各参数具体数值都已知,计算不付红利的欧式看涨期权的价格一般可以分为三个步骤:先算出d1,d2,涉及对数函数;其次计算N(d1),N(d2),需要查正态分布表;最后再代入式(6)及式(11)即可得欧式期权价格,涉及指数函数。不过,欧式期权价格的计算可利用Matlab中专有blsprice函数实现,显然更为简单: [call,put]=blsprice(Price,Strike,Rate,Time,Volatility)(12) 只需要将各参数值直接输入即可,下面给出一个算例:设股票t时刻的价格S(t)=20元,敲定价格X=25,无风险利率r=3%,股票的波动率s=10%,到期期限为T-t=1年,则不付红利的欧式看涨及看跌期权价格计算的Matlab实现过程为: 输入命令为:[call,put]= blsprice(20,25,0.03,0.1,1) 输出结果为:call=1.0083put=5.9334 即购买一份标的股票价格过程满足式(1)的不付红利的欧式看涨和看跌期权价格分别为1.0083元和5.9334元。 2、欧式期权价格的比较静态分析。也许纯粹计算欧式期权价格还可以不利用Matlab软件,不过在授课中,教师要讲解期权价格随个参数的变化规律,只看定价公式无法给学生一个直观的感受,此时可利用Matlab数值计算功能及作图功能就能很方便地展示出期权价格的变动规律。下面笔者基于Matlab展示欧式看涨期权价格随各参数变动规律: (1)看涨期权价格股票价格变化规律 输入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1; c=blsprice(s,x,r,t,v); plot(s,c,'r-.') title('图1看涨期权价格股票价格变化规律'); xlabel('股票价格');ylabel('期权价值');grid on (2)看涨期权价格随时间变化规律 输入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v); plot(t,c,'r-.') title('图2看涨期权价格随时间变化规律'); xlabel('到期时间');ylabel('期权价值');grid on (3)看涨期权价格随无风险利率变化规律 s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v); plot(r,c,'r-.') title('图3看涨期权价格随无风险利率变化规律'); xlabel('无风险利率');ylabel('期权价值');grid on (4)看涨期权价格随波动率变化规律 s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v); plot(v,c,'r-.') title('图4看涨期权价格随波动率变化规律'); xlabel('波动率');ylabel('期权价值');grid on (作者单位:南京审计学院数学与统计学院) 主要参考文献: [1]罗琰,杨招军,张维.非完备市场欧式期权无差别定价研究[J].湖南大学学报(自科版),2011.9. [2]罗琰,覃展辉.随机收益流的效用无差别定价[J].重庆工商大学学报(自科版),2011. [3]邓留宝,李柏年,杨桂元.Matlab与金融模型分析[M].合肥工业大学出版社,2007.
❻ matlab中用二叉树方法求欧式期权价格的script,求各位大神把脚本求出来啊,在线等挺急的
function EXS()
S=input('30:\n');%请输入当前股价
K=input('35:\n');%请输入股票执行价格
r=input('0.03:\n');%请输入无风险利率
theta=input('0.01:\n');%请输入波动率
T=input('2:\n');%请输入到期时间
bc=input('0.1:\n');%请输入步长
q=input('0.1:\n');%请输入股息率
KZ=input('1\n');%是否为看涨期权?若是请输入1,若不是请输入其他任意值
u=exp(theta*(T/bc)^0.5);
❼ 怎么用Matlab实现三叉树期权定价
自己去看John C Hull的期货期权以及其他金融衍生品啊,现在谁还在用二叉树对冲资产啊
❽ matlab 可以画期权盈亏图吗
期权的盈亏的图非常简单,首先纵轴和横轴,标好权利金,行权价,实值点,盈亏点然后进行连线或者随时间进行变化的一种规律曲线,详细的图形状态你可搜下期权就能看到很多期权盈亏图甚至期权套利组合图,我们大学都用手工尺子直接就能画出,你用一般的办公软件也可以搬到比如excel等。你说的这个matlab也行
网络介绍MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。