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

    不知道这个能不能满足 function calcvar %calcvar        terminal interface for VaR calculation. % %        You c ...

  2. 磁力计 姿态 matlab,磁力计如何用来计算姿态(1)

    写博客之前,被一辆逆行的电动车给撞了,我能说啥呢?没事,没事,你走吧 很久很久以前,做过行人惯性定位,主要用陀螺仪和加速度计,但航向发散问题,一直得不到解决,看过相关资料,说是可以用磁,但又听说,在室 ...

  3. matlab radn,如何用matlab编写randn函数?

    MATLAB函数randn 功能:产生标准正态分布的随机数或矩阵的函数. 用法: Y = randn(n) 返回一个n*n的随机项的矩阵.如果n不是个数量,将返回错误信息. Y = randn(m,n ...

  4. printm matlab,求助:将matlab M文件编译成DLL时出现的问题!

    本人用的matlab2007a和vc6,想利用编译器将M文件编译成COM组件供C#调用,可是编译时却出现一下问题,麻烦高手帮忙解决,不胜感激! 产生的结果如下: Build output( 2009- ...

  5. matlab dudx,如何用MATLAB软件求微分方程?

    原发布者:加菲鼠go用MATLAB求解微分方程1.微分方程的解析解求微分方程(组)的解析解命令:dsolve('方程1','方程2',-'方程n','初始条件','自变量')记号:在表达微分方程时,用 ...

  6. matlab oqpsk,如何用MATLab画OQPSK星座?

    看看这个程序是否符合你的要求:按下鼠标左键开始绘制一个星座图,点击右键结束当前星座 function xingzuo figure('WindowButtonDownFcn',@wbdcb) ah = ...

  7. 如何生成时间序列matlab,求助:在MATLAB里如何输入时间序列中的时间

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function [logRS,logERS,V]=RSana(x,n,method,q) %Syntax: [logRS,logERS,V]=RSana ...

  8. matlab引用数据,excel引用数据-如何用matlab处理excel文件中的数据?

    如何利用matlab根据excel表格里面的数据画图 将待导入的矩阵结数据Excel中,录入时注意行列原矩阵一一对应 录入完以后数据,为了后续步骤使用方便,命名时我们最好把它命名为我们接下来在MATL ...

  9. 期权定价matlab计算,期权的定价方法概述及利用matlab计算期权价格

    期权的定价方法概述及利用matlab计算期权价格 摘要期权是功能最多.最激动人心的融衍生工具之一.期权定价问题一直是金融数学当中最复杂的问题之一,简要介绍几种基本的期权定价理论,并利用matlab金融 ...

最新文章

  1. 一文详解「群体机器人」中的「实体进化」到底是什么?
  2. C# 类型实例化的语法糖--unity下诡异结果
  3. zippo油和zorro油的区别_陶瓷轴承润滑油的性能质量最指标油的区别?_搜狐汽车...
  4. node缓冲区_Node.js缓冲区介绍
  5. 第一个应在JavaScript数组的最后
  6. 推荐Linux内核书籍
  7. linux系统下替换图片,Linux(ubuntu系统)下使用FreeImage库
  8. SAP License:产品成本估算结果表
  9. 计算机思维在化学上的应用,信息技术在化学教育中的应用
  10. 如何用计算机的if,if函数的使用方法(if函数的使用方法)
  11. ise 检查文件语法错误
  12. markdown如何调整行距_Markdown基础语法
  13. 深圳市福田区支持文化创意产业发展若干措施
  14. 微信保存图片查看与清理工具
  15. amazon.设计1. tic tac toe
  16. MarkDown的使用教程
  17. 图灵计算机模型意义,图灵机计算模型的主要贡献是什么
  18. python:sine之舞
  19. 基于遗传算法优化的lssvm回归预测matlab代码
  20. 教程:腾讯云使用WordPress从零开始建站-黑科鸡Blog(二)

热门文章

  1. 怎样转移Outlook 2019的邮件数据ost和pst文件
  2. live.cn邮箱注册帐号方法
  3. 如何选择考研数学资料?最全考研数学复习资料推荐
  4. 碳排放的计算有多个版本
  5. blob 在线解码_「沙发管家」腾讯极光盒子3Pro发布!4+32G内存8K解码
  6. 学习神经网络原理电子书
  7. 人人都是极客网络电子书出炉!!!
  8. mysql账单结算设计_支付系统的对账处理与设计--转
  9. spring事物管理
  10. Modified PhantOm 1.1.5 plugin for EXECryptor 2.4.1 by Computer_Angel