参考论文

期权定价理论是现代金融学中最为重要的理论之一,也是衍生金融工具定价中最复杂的。本文给出了欧式期权定价过程的一个简单推导,并利用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.

matlab 期权图,如何使用matlab计算期权价格相关推荐

  1. matlab期权风险评估算法,使用 MATLAB 应用程序根据期权价格估算风险中性密度 (risk-neutral density, RND)...

    我们为什么选择 MATLAB 我们决定创建 MATLAB 应用程序估算 RND,因为我们希望研究成果得到广泛应用,而不是仅限于在量化经济学领域或是熟悉 MATLAB 编程的和金融研究人员使用. 我们发 ...

  2. matlab 期权图,欧式看涨期权定价作图|MATLAB 程序化交易(量化投资)|MATLAB技术论坛 - Powered by Discuz!...

    function Call_Option_Pricing_Plot(varargin) %  copyright by fantuanxiaot %  关注fantuanxiaot的量化分析新浪博客: ...

  3. matlab 期权图,期权定价matlab程序.docx

    1.三叉树法matlab程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  4. matlab 箱图 保存,[转载]Matlab图保存方法

    bar(randn(10,1)) print(gcf,'-r300','-dpdf','example1.pdf'); print(gcf,'-r300','-djpeg','example2.jpe ...

  5. matlab 车牌图识别,基于MATLAB车牌图像识别的设计与实现(附答辩记录)

    基于MATLAB车牌图像识别的设计与实现(附答辩记录)(包含选题审批表,任务书,开题报告,中期报告,毕业论文15000字,代码) 摘  要:车牌照识别是图像识别领域的重要研究课题.运用MATLAB对车 ...

  6. matlab 蛛网图,如何用MATLAB绘制雷达图(戴布拉图、螂蛛网图、玫瑰图)

    首先声明,这是一篇转载的文章. 一, 主程序命名为:radar_lee.m. 为了绘制出两条折线,编程如下: x=[0:pi/8:2*pi]; y=[10,8.2,7.5,8.5,10,7.2,7.8 ...

  7. matlab箱图所有点,MATLAB:多个不同维度的箱线图画在一起

    以下是我在使用Matlab编程时遇到的问题以及解决方法,最后彩蛋随时补充. 多个不同维度的箱线图画在一起1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

  8. matlab论文图示例代码,MATLAB数字水印 源代码+毕业论文

    [实例简介] 包含数字水印的matlab源代码和图像数字水印的方案毕业论文MATLAB(DCT+DWT) [实例截图] [核心代码] MATLAB数字水印 └── MATLAB数字水印 ├── 图像数 ...

  9. matlab动态图最新存储文件,MATLAB 动图绘制、保存

    动图有gif格式和视频的avi格式. 1.sin(x)动图 clear all h = animatedline;%动画线 axis([0 4*pi -1 1]) box on x = linspac ...

最新文章

  1. 猜测:引力与空间映射
  2. apache ii评分和死亡率_高大上的风险分层系统:APACHE评分到底是啥?
  3. OSS音频编程概述(DSP部分)
  4. 装linux服务器进去配置界面,在CentOS 8 Linux上安装和配置SuiteCRM的步骤
  5. 『飞秋』小项目心得交流
  6. mac配置环境变量不生效
  7. android string拼接字符串_String对象的存储、拼接和比较
  8. ikbc机械键盘打字出现重复_机械键盘轴体你最爱谁?ikbc新品键盘评测:我爱红轴,不解释!...
  9. linux虚拟化技术这么玩,Linux上实现虚拟化技术的优势
  10. java 8.0_java8_java8下载64位v8.0 官方版下载-无限下载
  11. Java 算法刷题指南
  12. 土地利用转移矩阵简易计算方法
  13. java 主流框架_java的三大主流框架介绍
  14. matlab 函数变量保存在工作区,Matlab中保存函数内部中间变量到工作空间的两种方法...
  15. 【转载】巴菲特:比能力更重要的是靠谱
  16. 学一点django基础
  17. 小程序label添加下划线
  18. 优化问题-Lagrange函数和共轭函数
  19. 【通信】通信网络基础分类
  20. 新冠免疫细胞培养、转染、核酸分析整合解决方案

热门文章

  1. mysql查询人口最多的城市_mysql世界数据库:选择人口最多的国家
  2. 批量提取文件夹下同类型文件/批量提取文件夹下不同名称文件夹的同类型文件
  3. 解决cvxpy报错The solver GLPK_MI is not installed
  4. 写给自己的话:是时候有个计划了,骚年
  5. Invertible Image Rescaling 可逆图像缩放:完美恢复降采样后的高清图片(ECCV 2020 Oral )
  6. 如何打开SQL server的MDF/LDF文件并修改数据
  7. vue---父组件实时取到子元素的v-model
  8. csol怎么设置屏蔽服务器信息,谁知道反恐精英OL的控制台怎么调? -反恐精英锤子宏设置...
  9. 交换机虚拟化和堆叠的区别_网工知识角|一分钟记熟NFV网络功能虚拟化技术介绍...
  10. iOS 网络传输数据安全以及常用的加密算法使用