永发信息网

如何使用matlab实现Black-Scholes期权定价模型

答案:1  悬赏:0  手机版
解决时间 2021-10-18 07:55
如何使用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.0083 put=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.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
卧室不用主灯好吗?
有什么比较好的胎教故事?
平顶山怎么走啊??
我要买二手电脑,到哪里好呢?沈阳三好街卖二
国庆马上到了送什么礼物给家人呢?
德美瓷砖80x80的价格多高?谁清楚?
嘴唇发红是什么原因
关于台湾的解决问题
清明节儿歌
汉庭酒店(上海四川中路店) 套房有无线网吗
三亚属于热带雨林?
锡林浩特体育中心2016年女篮中国和新西兰
还没满月的宝宝老吐奶怎么办?还没满月的宝贝
哪位了解房贷违约金怎么算?房贷可以提前还款
黑糖姜茶怎么样?经期可以用吗?
推荐资讯
重庆水泥仿木栏杆哪家好?
邻居同居ldk什么时候更新漫画
爱丽斯蚕丝被价格多少钱
新生儿换尿布要怎么换?网上有什么教程?
哪位朋友知道电脑linux文件恢复的方法?
功能全运动服套装你有吗?2016春季新款运动服
谁晓得广州金沙洲二手房的房价是多少?
无锡中央车站周边有哪些旅馆
有谁清楚电脑如何查看路由器密码
微博一直闪退什么鬼
屎的由来
家庭年收入40~50万,年支出约20万,适合买什
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?