optpricebysim
给出模拟基础价值的价格选项
语法
描述
例子
基于几何布朗运动的蒙特卡罗模拟计算美式期权价格
定义选项。
S0 = 100;%标的资产的初始价格σ = 2;标的资产波动率%罢工= 110;%的罢工OptSpec =“电话”;%呼叫选项解决=“1 - 1月- 2013”;%期权结算日期成熟=“1 - 1月- 2014”;%期权到期日R = .05;%无风险利率(每年,连续复利)复利= -1;连续复合基= 0;法案/法案日计数惯例T = yearfrac(Settle, Maturity, Basis);%到期时间,以年为单位
设置“绿带运动”
对象,并运行基于几何布朗运动(GBM)的蒙特卡罗仿真simBySolution
方法从财务工具箱™。
Ntrials = 1000;NPERIODS = daysact(结算,到期);dt = T/NPERIODS;OptionGBM = gbm(r, Sigma,“StartState”, S0);[Paths, Times, Z] = simBySolution(OptionGBM, NPERIODS,...“NTRIALS”NTRIALS,“DeltaTime”, dt,“反向”,真正的);
创建要定义的利率期限结构RateSpec
.
RateSpec = intenvset(“ValuationDate”解决,startdate可以的解决,...“EndDates”成熟,“速度”r“复合”复合,...“基础”基础)
RateSpec =带字段的结构:FinObj: 'RateSpec'复合:-1光盘:0.9512利率:0.0500结束时间:1开始时间:0结束日期:735600开始日期:735235估值日期:735235基础:0 EndMonthRule: 1
定价美式期权。
模拟价格=挤压(路径);OptSpec = optpricebysim(RateSpec, SimulatedPrices, Times, OptSpec,...罢工,T,“AmericanOpt”, 1)
OptPrice = 5.8172
基于几何布朗运动的蒙特卡罗模拟计算美亚期权价格
定义选项。
S0 = 100;%标的资产的初始价格σ = 2;标的资产波动率%罢工= 110;%的罢工OptSpec =“电话”;%呼叫选项解决=“1 - 1月- 2013”;%期权结算日期成熟=“1 - 1月- 2014”;%期权到期日R = .05;%无风险利率(每年,连续复利)复利= -1;连续复合基= 0;法案/法案日计数惯例T = yearfrac(Settle, Maturity, Basis);%到期时间,以年为单位
设置“绿带运动”
对象,并运行基于几何布朗运动(GBM)的蒙特卡罗仿真simBySolution
方法从财务工具箱™。
Ntrials = 1000;NPERIODS = daysact(结算,到期);dt = T/NPERIODS;OptionGBM = gbm(r, Sigma,“StartState”, S0);[Paths, Times, Z] = simBySolution(OptionGBM, NPERIODS,...“NTRIALS”NTRIALS,“DeltaTime”, dt,“反向”,真正的);
创建要定义的利率期限结构RateSpec
.
RateSpec = intenvset(“ValuationDate”解决,startdate可以的解决,...“EndDates”成熟,“速度”r“复合”复合,...“基础”基础)
RateSpec =带字段的结构:FinObj: 'RateSpec'复合:-1光盘:0.9512利率:0.0500结束时间:1开始时间:0结束日期:735600开始日期:735235估值日期:735235基础:0 EndMonthRule: 1
通过计算不同时期的平均价格来为美亚期权定价(算术平均值)。
AvgPrices =零(NPERIODS+1, NTRIALS);为i = 1: NPERIODS + 1 AvgPrices(我:)=意味着(挤压(路径(1:我::)));结束AsianPrice = optpricebysim(rate espec, AvgPrices, Times, OptSpec,...罢工,T,“AmericanOpt”, 1)
AsianPrice = 1.8221
基于几何布朗运动的蒙特卡罗模拟计算美式回溯期权价格
定义选项。
S0 = 100;%标的资产的初始价格σ = 2;标的资产波动率%罢工= 110;%的罢工OptSpec =“电话”;%呼叫选项解决=“1 - 1月- 2013”;%期权结算日期成熟=“1 - 1月- 2014”;%期权到期日R = .05;%无风险利率(每年,连续复利)复利= -1;连续复合基= 0;法案/法案日计数惯例T = yearfrac(Settle, Maturity, Basis);%到期时间,以年为单位
设置“绿带运动”
对象,并运行基于几何布朗运动(GBM)的蒙特卡罗仿真simBySolution
方法从财务工具箱™。
Ntrials = 1000;NPERIODS = daysact(结算,到期);dt = T/NPERIODS;OptionGBM = gbm(r, Sigma,“StartState”, S0);[Paths, Times, Z] = simBySolution(OptionGBM, NPERIODS,...“NTRIALS”NTRIALS,“DeltaTime”, dt,“反向”,真正的);
创建要定义的利率期限结构RateSpec
.
RateSpec = intenvset(“ValuationDate”解决,startdate可以的解决,...“EndDates”成熟,“速度”r“复合”复合,...“基础”基础)
RateSpec =带字段的结构:FinObj: 'RateSpec'复合:-1光盘:0.9512利率:0.0500结束时间:1开始时间:0结束日期:735600开始日期:735235估值日期:735235基础:0 EndMonthRule: 1
通过找出不同时期的最高价格来为美式回溯期权定价。
MaxPrices = 0 (NPERIODS+1, NTRIALS);LastPrice = squeeze(路径(1,:,:))';为i = 1:NPERIODS+1;MaxPrices(i,:) = max([LastPrice;路径(我,:)));LastPrice = MaxPrices(i,:);结束LookbackPrice = optpricebysim(RateSpec, MaxPrices, Times, OptSpec,...罢工,T,“AmericanOpt”, 1)
LookbackPrice = 10.4410
基于几何布朗运动的蒙特卡罗模拟计算百慕大期权的价格
定义选项。
S0 = 80;%标的资产的初始价格σ = .3;标的资产波动率%罢工= 75;%的罢工OptSpec =“把”;%看跌期权解决=“1 - 1月- 2013”;%期权结算日期成熟=“1 - 1月- 2014”;%期权到期日ExerciseDates = {“1 - 6月- 2013 ',“1 - 1月- 2014”};%选择权行使日期R = .05;%无风险利率(每年,连续复利)复利= -1;连续复合基= 0;法案/法案日计数惯例T = yearfrac(Settle, Maturity, Basis);%到期时间,以年为单位ExerciseTimes = yearfrac(Settle, ExerciseDates, Basis);%运动次数
设置“绿带运动”
对象,并运行基于几何布朗运动(GBM)的蒙特卡罗仿真simBySolution
方法从财务工具箱™。
Ntrials = 1000;NPERIODS = daysact(结算,到期);dt = T/NPERIODS;OptionGBM = gbm(r, Sigma,“StartState”, S0);[Paths, Times, Z] = simBySolution(OptionGBM, NPERIODS,...“NTRIALS”NTRIALS,“DeltaTime”, dt,“反向”,真正的);
创建要定义的利率期限结构RateSpec
.
RateSpec = intenvset(“ValuationDate”解决,startdate可以的解决,...“EndDates”成熟,“速度”r“复合”复合,...“基础”基础)
RateSpec =带字段的结构:FinObj: 'RateSpec'复合:-1光盘:0.9512利率:0.0500结束时间:1开始时间:0结束日期:735600开始日期:735235估值日期:735235基础:0 EndMonthRule: 1
为百慕大期权定价。
模拟价格=挤压(路径);百慕大价格= optpricebysim(rate espec,模拟价格,时间,...OptSpec, Strike, ExerciseTimes)
百慕大价格= 5.2014
基于几何布朗运动的蒙特卡罗模拟计算美式价差期权价格
定义选项。
S1 = 110;第一项标的资产的价格S2 = 100;第二标的资产的价格%Sigma1 = .1;第一项标的资产的波动率%Sigma2 = .15;第二标的资产的波动率%罢工= 15;%的罢工Rho = .3;基础之间的相关性OptSpec =“把”;%看跌期权解决=“1 - 1月- 2013”;%期权结算日期成熟=“1 - 1月- 2014”;%期权到期日R = .05;%无风险利率(每年,连续复利)复利= -1;连续复合基= 0;法案/法案日计数惯例T = yearfrac(Settle, Maturity, Basis);%到期时间,以年为单位
设置“绿带运动”
对象,并运行基于几何布朗运动(GBM)的蒙特卡罗仿真simBySolution
方法从财务工具箱™。
Ntrials = 1000;NPERIODS = daysact(结算,到期);dt = T/NPERIODS;SpreadGBM = gbm(r*eye(2), diag([Sigma1;Sigma2]),“相关”,...[1 Rho;Rho 1],“StartState”, (S1, S2));[Paths, Times, Z] = simBySolution(SpreadGBM, NPERIODS,“NTRIALS”NTRIALS,...“DeltaTime”, dt,“反向”,真正的);
创建要定义的利率期限结构RateSpec
.
RateSpec = intenvset(“ValuationDate”解决,startdate可以的解决,...“EndDates”成熟,“速度”r“复合”复合,...“基础”基础)
RateSpec =带字段的结构:FinObj: 'RateSpec'复合:-1光盘:0.9512利率:0.0500结束时间:1开始时间:0结束日期:735600开始日期:735235估值日期:735235基础:0 EndMonthRule: 1
为美国价差期权定价。
Spread = squeeze(路径(:,1,:)-路径(:,2,:));SpreadPrice = optpricebysim(RateSpec, Spread, Times, OptSpec, Strike,...T,“AmericanOpt”, 1)
SpreadPrice = 9.0007
输入参数
SimulatedPrices
- - - - - -模拟价格
矩阵
模拟价格,使用(NumPeriods
+1
)———NumTrials
风险中性模拟价格矩阵。的第一个元素SimulatedPrices
是0时刻的初值。
数据类型:单
|双
次
- - - - - -与模拟价格相关的年度时间因素
向量
与模拟价格相关的年度时间因素,使用(NumPeriods
+1
)———1
列向量。的每个元素次
的对应行相关联SimulatedPrices
.的第一个元素次
必须为0(当前时间)。
数据类型:单
|双
OptSpec
- - - - - -期权的定义
带值的字符向量“电话”
或“把”
期权的定义为“电话”
或“把”
,指定为字符向量。
数据类型:字符
罢工
- - - - - -期权执行价格
标量|函数处理
期权执行价格值,指定为标量值罢工
价格。罢工
百慕大期权可指定为1
——- - - - - -NSTRIKES
向量或函数句柄,在给定攻击时间的情况下返回攻击值。
数据类型:单
|双
|function_handle
ExerciseTimes
- - - - - -期权锻炼时间
运动时间向量
运动时间为选项,指定为运动时间的向量,如下所示:
对于欧洲或百慕大的选择,
ExerciseTimes
是一个1
——- - - - - -1
(欧洲)或1
——- - - - - -NSTRIKES
(百慕大)运动时间向量。至于欧洲选项,只有一个ExerciseTimes
在期权到期日。对于美国人来说,
ExerciseTimes
是一个1
——- - - - - -2
运动时间边界向量。该选项在该行上的时间对之间的任何日期执行,或包括该日期对。如果ExerciseTimes
是1
——- - - - - -1
,期权在时间之间行使0
单独列出ExerciseTimes
.
数据类型:双
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字
在报价。
例子:价格= optpricebysim(RateSpec,价格,时间,OptSpec,结算,罢工,演习时间,'AmericanOpt',1)
AmericanOpt
- - - - - -选择类型
0
欧洲或百慕大(默认)|带值的标量标志[0, 1]
选项类型,指定为逗号分隔的对,由“AmericanOpt”
和带有值的整数标量标志:
0
-欧洲或百慕大1
——美国
对于美式期权,Longstaff-Schwartz最小二乘法计算早期行权溢价。
数据类型:单
|双
输出参数
价格
-期权价格
标量
选项的价格,作为标量值返回。
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。