basketbyls
使用蒙特卡罗模拟对欧洲或美国篮子期权进行定价
语法
描述
例子
使用Longstaff-Schwartz模型为一篮子期权定价
找一个美国看涨期权篮子的三只股票。目前股价分别为35美元、40美元和45美元,年波动率分别为12%、15%和18%。该篮子包含每种股票的33.33%。假设所有资产对之间的相关性为50%。2009年5月1日,一名投资者想购买一份三年期看涨期权,执行价为42美元。目前的年化连续复利为5%。使用此数据使用Longstaff-Schwartz模型计算看涨篮子期权的价格。
Settle = datetime(2009,5,1);成熟度= datetime(2012,5,1);定义RateSpec比率= 0.05;复利= -1;RateSpec = intenvset(“ValuationDate”解决,startdate可以的,...解决,“EndDates”成熟,“利率”率,“复合”、复合);定义相关矩阵。相关矩阵是对称的,在主对角线上有1。Corr = [1 0.50 0.50;0.50 1 0.50;0.50 0.5 1];定义BasketStockSpec资产价格= [35;40;45];波动率= [0.12;0.15;0.18];数量= [0.333;0.333;0.333];篮子股票规格=篮子股票规格(波动性,资产价格,数量,Corr);计算看涨篮子期权的价格。OptSpec = {“电话”};罢工= 42;AmericanOpt = 1;%美式期权价格= basketbyls(RateSpec, BasketStockSpec, OptSpec,罢工,结算,成熟度,...“AmericanOpt”AmericanOpt)
价格= 5.4687
将模拟试验次数增加至2000次,以获得以下结果:
NumTrial = 2000;价格= basketbyls(RateSpec, BasketStockSpec, OptSpec,罢工,结算,成熟度,...“AmericanOpt”AmericanOpt,“NumTrials”NumTrial)
价格= 5.5501
输入参数
BasketStockSpec
- - - - - -BasketStock
规范
结构
BasketStock
规格,指定用途basketstockspec
.
数据类型:结构体
OptSpec
- - - - - -期权的定义
带值的字符向量“电话”
或“把”
|带有值的字符向量的单元格数组“电话”
或“把”
选项的定义为“电话”
或“把”
,指定为字符向量或2
——- - - - - -1
字符向量的单元格数组。
数据类型:字符
|细胞
罢工
- - - - - -期权执行价格
标量数值|向量
期权执行价格,指定为下列之一:
对于欧洲或百慕大的选择,
罢工
是标量(欧洲)还是1
——- - - - - -NSTRIKES
(百慕大)执行价格向量。对于美国人来说,
罢工
是执行价格的标量向量。
数据类型:双
解决
- - - - - -结算或交易日期
datetime标量|字符串标量|日期字符向量
一篮子期权的结算或交易日期,指定为标量日期时间、字符串或日期字符向量。
要支持金宝app现有代码,basketbyls
也接受序列号作为输入,但不建议使用。
ExerciseDates
- - - - - -期权行权日期
datetime数组|字符串数组|日期字符向量
选项练习日期,指定为日期时间数组、字符串数组或日期字符向量:
对于欧洲或百慕大的选择,
ExerciseDates
是一个1
——- - - - - -1
(欧洲)或1
——- - - - - -NSTRIKES
(百慕大)运动日期向量。至于欧洲选项,只有一个ExerciseDate
在期权到期日。对于美国人来说,
ExerciseDates
是一个1
——- - - - - -2
运动日期边界向量。该选项在该行上的两个日期之间或包括这两个日期在内的任何日期执行。如果只有一个非南
日期,或者如果ExerciseDates
是1
——- - - - - -1
,选项练习之间解决
日期和单曲列表ExerciseDate
.
要支持金宝app现有代码,basketbyls
也接受序列号作为输入,但不建议使用。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:价格= basketbyls(RateSpec,BasketStockSpec,OptSpec, Strike,Settle,Maturity,'AmericanOpt',AmericanOpt,'NumTrials',NumTrial)
AmericanOpt
- - - - - -选择类型
0
(欧洲/百慕大群岛)(默认)|值[0, 1]
选项类型,指定为逗号分隔的对,由“AnericanOpt”
和一个NINST
——- - - - - -1
带值的正整数标量标志:
0
-欧洲/百慕大1
——美国
请注意
对于美式期权,采用Longstaff-Schwartz最小二乘法计算早期行权溢价。有关最小二乘法的更多信息,请参见https://people.math.ethz.ch/%7Ehjfurrer/teaching/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.
数据类型:双
NumPeriods
- - - - - -每次试验的模拟周期数
One hundred.
(默认)|非负整数
每次试验的模拟周期数,由逗号分隔的对组成“NumPeriods”
和一个非负整数。
请注意
NumPeriods
仅在对欧洲一篮子期权定价时考虑。对于美国和百慕大篮子选项,NumPeriod
等于选项生命周期内的运动天数。
数据类型:双
NumTrials
- - - - - -独立样本路径数(模拟试验)
1000
(默认)|非负整数
独立采样路径(模拟试验)的数目,指定为由逗号分隔的对组成“NumTrials”
和一个非负整数。
数据类型:双
Z
- - - - - -相关随机变量的时间序列数组
向量
相关随机变量的时间序列数组,指定为由逗号分隔的对组成“Z”
和一个NumPeriods
——- - - - - -NINST
——- - - - - -NumTrials
三维时间序列阵列。的Z
值生成驱动模拟的布朗运动向量(即维纳过程)。
数据类型:双
对立的
- - - - - -对偶抽样指标
假
(默认)|值为的标量逻辑标志真正的
或假
用于对偶抽样的指示器,指定为逗号分隔的一对,由“反向”
值为真正的
或假
.
数据类型:逻辑
输出参数
价格
-篮子期权的预期价格
矩阵
一篮子期权的预期价格,作为a返回NINST
——- - - - - -1
矩阵。
路径
-模拟相关状态变量的路径
向量
相关状态变量的模拟路径,返回为aNumPeriods + 1
——- - - - - -1
——- - - - - -NumTrials
相关状态变量模拟路径的三维时间序列阵列。每行路径
是状态向量的转置吗X(t)在时间t对于一个给定的试验。
次
-与模拟路径相关的观测次数
向量
与模拟路径相关的观测次数,返回为NumPeriods + 1
——- - - - - -1
与模拟路径相关的观测时间列向量。的每个元素次
的对应行相关联路径
.
Z
-相关随机变量的时间序列数组
向量
相关随机变量的时间序列数组,返回为NumPeriods
——- - - - - -1
——- - - - - -NumTrials
三维阵列时Z
指定为输入参数。如果Z
参数未指定,则Z
输出参数包含内部生成的随机变量。
更多关于
参考文献
[1]朗斯塔夫,F.A和E.S.施瓦茨。《通过模拟评估美国期权:一个简单的最小二乘方法》金融研究评论。第14卷,第1期,2001年春季,第113-147页。
版本历史
在R2009b中引入MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。