matlab亚式期权定价
Ⅰ 如何用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金融
5.1 瑞士再保险公司的案例 66
5.2 金融工具箱 67
5.2.1 主要功能 68
5.2.2 体系结构 68
5.2.3 主要函数 69
5.2.4 GUI工具 70
5.3 金融衍生品工具箱 71
5.3.1 主要功能 71
5.3.2 体系结构 72
5.3.3 主要函数 73
5.3.4 GUI工具 73
5.4 固定收益工具箱 75
5.4.1 主要功能 75
5.4.2 体系结构 75
5.4.3 主要函数 76
5.5 本章小结 77 6.1 日期和货币数据处理 78
6.1.1 日期数据格式 78
6.1.2 日期型数据处理函数 79
6.1.3 非交易日数据 87
6.1.4 货币格式转换 88
6.2 MATLAB图表操作 89
6.2.1 图表窗口的创建 89
6.2.2 图表数据的保存和载入 90
6.2.3 图表窗口的坐标 92
6.3 线型图的含义和绘制 94
6.3.1 线型图的含义 94
6.3.2 线型图函数 95
6.4 烛型图 96
6.4.1 烛型图的含义 96
6.4.2 烛型图函数 97
6.5 移动平均线 98
6.5.1 移动平均线的含义 98
6.5.2 移动平均线的计算 98
6.6 布林带 99
6.6.1 布林带的计算 100
6.6.2 布林带的函数 102
6.7 动态数据获取 103
6.7.1 创建定时器 103
6.7.2 Callback函数的参数 106
6.7.3 定时器使用实例 107
6.8 本章小结 110 7.1 债券的基本概念 111
7.1.1 现金流的时间价值 111
7.1.2 现值和终值的计算 112
7.1.3 债券报价方式 114
7.1.4 报价和交割价 115
7.2 基本固定收益工具和利率 116
7.2.1 基本固定收益工具 116
7.2.2 利率的计量 116
7.3 日期计量的SIA标准 117
7.3.1 中长期国债的定价 118
7.3.2 市政债券的定价 120
7.3.3 大额存单国库券的定价 121
7.4 固定收益证券的属性 121
7.4.1 固定收益证券数据的属性 121
7.4.2 收益率计算 122
7.4.3 价格计算 128
7.4.4 敏感性分析 137
7.5 固定收益证券的数据管理 140
7.5.1 Instrument型数据 140
7.5.2 Excel数据的读写 146
7.5.3 其他格式数据的读写 149
7.6 本章小结 151 8.1 利率期限结构计算 152
8.1.1 利息债券收益率 152
8.1.2 构建收益率曲线 152
8.1.3 Bootstrapping算法 154
8.1.4 利率期限结构计算函数 157
8.1.5 远期利率计算 158
8.1.6 期限结构曲线插值 162
8.2 基于利率期限结构
8.2 定价技术 163
8.2.1 利率期限结构的表示 163
8.2.2 债券定价技术 166
8.2.3 现金流定价技术 167
8.2.4 互换定价技术 169
8.2.5 产品定价函数及敏感性
8.2.5 分析函数 171
8.2.6 Instrument型数据的构建 172
8.3 利率模型 175
8.3.1 利率模型分类 175
8.3.2 HL模型 175
8.3.3 变方差HL模型 179
8.3.4 HL模型意义 185
8.4 BDT模型 186
8.4.1 BDT模型的构建 186
8.4.2 BDT模型的实现 189
8.5 HW和BK模型 190
8.5.1 三叉树的基本形态 191
8.5.2 HW模型的构建 191
8.5.3 HW模型的Q参数 196
8.5.4 BK模型简介 197
8.5.5 HW和BK模型的实现 198
8.6 HJM模型 200
8.6.1 HJM模型简介 200
8.6.2 HJM模型的实现 200
8.7 利率模型定价 202
8.7.1 利率模型的输入变量 202
8.7.2 产品的定价 204
8.8 本章小结 208 9.1 无套利和Black-Scholes方程 209
9.1.1 单步二叉树模型 209
9.1.2 风险中性定价 210
9.1.3 套利的数学模型 211
9.1.4 Black-Scholes模型假设 211
9.1.5 Black-Scholes方程 212
9.2 欧式期权的影响因素 214
9.2.1 欧式期权定价函数 214
9.2.2 欧式期权的希腊字母 215
9.3 欧式期权的风险度量 217
9.3.1 欧式期权希腊字母函数 217
9.3.2 期货期权定价函数 219
9.3.3 隐含波动率计算 220
9.4 期权价格的数值求解 221
9.4.1 多期二叉树模型 221
9.4.2 CRR模型 223
9.4.3 EQP模型 224
9.4.4 ITT模型 225
9.5 MATLAB中的CRR模型 225
9.5.1 资产价格二叉树 225
9.5.2 定价函数 228
9.5.3 其他定价函数 231
9.5.4 希腊字母计算 232
9.6 MATLAB中的EQP模型 232
9.6.1 资产价格二叉树 233
9.6.2 二叉树的等价式 235
9.6.3 定价函数 237
9.6.4 其他定价函数 239
9.7 有限差分法定价 239
9.7.1 有限差分法简介 239
9.7.2 自变量的离散化 240
9.7.3 隐式差分解法 241
9.7.4 方程的边界条件 242
9.8 本章小结 244 10.1 投资组合基础概念 245
10.1.1 价格序列和收益率
10.1.1 序列间的相互转换 245
10.1.2 方差、协方差与相关系数 248
10.1.3 线性规划问题的提出和
10.1.3 标准化 250
10.2 资产组合风险-收益计算 251
10.2.1 资产组合的收益率和
10.2.1 方差 251
10.2.2 收益率和标准差的计算 251
10.2.3 VaR的计算 253
10.3 资产组合有效前沿 254
10.3.1 资产有效前沿概念 254
10.3.2 简单约束条件下的资产
10.3.2 组合有效前沿 255
10.3.3 复杂约束条件下的
10.3.3 资产组合有效前沿 258
10.3.4 随机模拟法确定资产
10.3.3 组合有效前沿 260
10.4 资产配置 262
10.4.1 资产配置问题概述 262
10.4.2 资产配置问题求解 263
10.5 本章小结 264 11.1 普通香草期权 265
11.2 执行条件不同的奇异期权 265
11.2.1 百慕大期权 266
11.2.2 复合期权 266
11.3 Shout Options 267
11.3.1 Shout Options简介 267
11.3.2 Shout Options估值 268
11.3.3 Shout Options定价程序 269
11.4 亚式期权 271
11.4.1 亚式期权简介和分类 271
11.4.2 亚式期权的解 272
11.5 亚式期权数值解法 274
11.5.1 二叉树的路径函数 275
11.5.2 平均价格的确定 276
11.5.3 回溯法计算期权价格 276
11.5.4 定价实例 277
11.5.5 亚式期权定价程序 279
11.6 回望期权 281
11.6.1 回望期权简介 281
11.6.2 定价的二叉树方法 283
11.6.3 回望期权定价程序 287
11.7 障碍期权 288
11.7.1 障碍期权简介 288
11.7.2 障碍期权定价实例及程序 290
11.8 二值期权 292
11.8.1 二值期权简介 292
11.8.2 二值期权定价程序 293
11.9 基于多资产的期权 294
11.9.1 蒙特卡罗模拟 294
11.9.2 相关随机变量的路径
11.9.2 生成和Cholesky分解 298
11.9.3 价差期权 299
11.9.4 彩虹期权 301
11.10 本章小结 302
Ⅲ MATLAB中如何求Φ(d2),d2是B-S期权定价模型中的那个d2。还有,N(d2)和Φ(d2)是一样的么
MATLAB。可以做量化投资。
Ⅳ 求助,亚式期权定价的matlab程序
比如说欧式期权定价的程序是这个
function [callprice,putprice]=euro1(S,X,r,T,sigma,N)dt=T/N;u=exp(sigma*sqrt(dt));d=1/u;p=(exp(r*dt)-d)/(u-d);
for i=1:N+1 St(i)=S*power(u,i-1)*power(d,N+1-i);end
for i=1:N+1 Call(i)=max(St(i)-X,0); Put(i)=max(X-St(i),0);end
for i=N:-1:1 for j=1:i Call(j)=exp(-r*dt)*(p*Call(j+1)+(1-p)*Call(j)); Put(j)=exp(-r*dt)*(p*Put(j+1)+(1-p)*Put(j)); endend
callprice=Call(1);putprice=Put(1);
Ⅳ MATLAB解线性方程组或EXCEL期权定价的公式
楼主你好,看见你提问Excel的这个问题,嘿嘿,好像在那里看见过,所以我来解答你,不过我怕我说的不是很清楚,这样好了我给你个网址你进去看看,里面绝对可以解决你的问题的答案,我基本都是在那边学的,什么都有,绝对全面,网址是
http://www.blue1000.com/bkhtml/c118/
,你记得只找你的问题,看的太多小心眼花!.....
Ⅵ 求 程序对美式亚式期权的蒙特卡罗定价的代码!谢谢啦!!
用matlab的包吧,这里是官方介绍Matlab__asiansensbyls
asiansensbyls:“Calculate price and sensitivities for European or American Asian options using Monte Carlo simulation”
PriceSens = asiansensbyls(RateSpec,StockSpec,OptSpec,StrikeSettle,ExerciseDates)
代码那里没得选matlab,下面是我的例子:
Rates = 0.06;
StartDate = 'nov-1-2018';
EndDate = 'nov-1-2020';
RateSpec = intenvset('ValuationDate', StartDate, 'StartDates', StartDate, 'EndDates', EndDate,'Compounding', -1, 'Rates', Rates)
AssetPrice = 100;
Sigma = 0.25;
StockSpec = stockspec(Sigma, AssetPrice)
Settle = 'nov-1-2018';
ExerciseDates = 'nov-1-2020';
Strike = 100;
OptSpec = 'call';
NumTrials = 10000;
NumPeriods = 60;
AvgType = 'arithmetic';
Antithetic = true;
AmericanOpt = 1;
OutSpec = 'Price';
Price = asiansensbyls(RateSpec, StockSpec, OptSpec, Strike, Settle, ExerciseDates, 'NumTrials', NumTrials, 'NumPeriods', NumPeriods,'Antithetic', Antithetic, 'AvgType', AvgType, 'AmericanOpt', AmericanOpt, 'OutSpec',OutSpec)
另外,美亚式可以自己写二叉树来定价,参考Hull的“ Efficient proceres for valuing european adn american path-dependent options”。
Ⅶ 如何使用matlab实现Black-Scholes期权定价模型
期权定价理论是现代金融学中最为重要的理论之一,也是衍生金融工具定价中最复杂的。版本文给出了欧式期权权定价过程的一个简单推导,并利用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);