主要内容

optSensByLocalVolFD

基于有限差分的局部波动率模型的期权价格与敏感性

描述

例子

PriceSensPriceGridAssetPrices] = optSensByLocalVolFD(AssetPrice解决ExerciseDatesOptSpec罢工ImpliedVolData通过局部波动率模型,使用Crank-Nicolson方法计算期权价格和敏感性。

例子

PriceSensPriceGridAssetPrices] = optSensByLocalVolFD(___名称,值除前面语法中的输入参数外,还使用一个或多个名称-值对参数指定选项。

例子

全部折叠

定义选项变量。

资产价格= 590;罢工= 590;比率= 0.06;股息收益率= 0.0262;解决=' 01 - 1月- 2018;ExerciseDates =' 01 - 1月- 2020

定义隐含波动率表面数据。

成熟度= [“06 - mar - 2018”“05 - 2018年6月- - - - - -”“12 - 9月- 2018“10 - 12月- 2018”“01 - 1月- 2019”...“02 - 7 - 2019”“01 - 1月- 2020”“01 - 1月- 2021”“01 - 1月- 2022”“01 - 1月- 2023”];成熟度= repmat(成熟度,10,1);成熟度=成熟度(:);ExercisePrice = AssetPrice.*[0.85 0.90 0.95 1.00 1.05 1.10 1.15 1.20 1.30 1.40];ExercisePrice = repmat(ExercisePrice,1,10)';隐含vol = [...0.190;0.168;0.133;0.113;0.102;0.097;0.120;0.142;0.169;0.200;...0.177;0.155;0.138;0.125;0.109;0.103;0.100;0.114;0.130;0.150;...0.172;0.157;0.144;0.133;0.118;0.104;0.100;0.101;0.108;0.124;...0.171;0.159;0.149;0.137;0.127;0.113;0.106;0.103;0.100;0.110;...0.171;0.159;0.150;0.138;0.128;0.115;0.107;0.103;0.099;0.108;...0.169;0.160;0.151;0.142;0.133;0.124;0.119;0.113;0.107;0.102;...0.169;0.161;0.153;0.145;0.137;0.130;0.126;0.119;0.115;0.111;...0.168;0.161;0.155;0.149;0.143;0.137;0.133;0.128;0.124;0.123;...0.168;0.162;0.157;0.152;0.148;0.143;0.139;0.135;0.130;0.128;...0.168;0.164;0.159;0.154;0.151;0.147;0.144;0.140;0.136;0.132); ImpliedVolData = table(Maturity, ExercisePrice, ImpliedVol);

计算欧洲看涨期权价格和敏感性。

OptSpec =“电话”;[Delta,Gamma,Lambda,Theta,Price] = optSensByLocalVolFD(Rate, AssetPrice,...Settle, ExerciseDates, OptSpec, Strike, ImpliedVolData,“DividendYield”DividendYield,...“OutSpec”, (“δ”“伽马”“λ”“θ”“价格”])
Delta = 0.5519
= 0.0091
Lambda = 4.9994
= -20.9529
价格= 65.1319

输入参数

全部折叠

连续复利无风险利率,由标量数字指定。

数据类型:

当前标的资产价格,指定为标量数字。

数据类型:

结算日期,指定为标量序列号、日期字符向量、datetime对象或字符串数组

数据类型:|字符|datetime|字符串

选项练习日期,指定为连续日期号、日期字符向量、日期时间数组或字符串数组:

  • 至于欧洲选项,只有一个ExerciseDates值,这是期权到期日。

  • 对于美式选项,请使用a1——- - - - - -2序列日期数字、日期字符向量、日期时间或字符串的向量。美式期权可以在这两个日期之间或包括这两个日期在内的任何日期执行。如果只有一个非日期是列出的,选项之间可以行使解决和单一列出的日期ExerciseDates

数据类型:|字符|细胞|datetime|字符串

选项的定义,指定为值为的字符向量或字符串数组“电话”“把”

数据类型:字符|字符串

期权执行价格,指定为非负标量。

数据类型:

到期日、执行价或行权价及其相应的隐含波动率的表,用A表示NVOL——- - - - - -3.表格

数据类型:表格

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:PriceSens = Price = optByLocalVolFD(Rate,AssetPrice,Settle, ExerciseDates,OptSpec,Strike,ImpliedVolData,'AssetGridSize',1000,'OutSpec',{'delta','gamma','vega','lambda','rho','theta',' Price '})

日计数基础,指定为逗号分隔的对,由“基础”和使用以下支持值之一的标量:万博1manbetx

  • 0 = actual/实际的

  • 1 = 30/360 (sia)

  • 2 =实际/360

  • 3 =实际/365

  • 4 = 30/360 (psa)

  • 5 = 30/360 (isda)

  • 6 = 30/360(欧洲)

  • 7 =实际/365(日语)

  • 8 =实际/实际(ICMA)

  • 9 =实际/360 (ICMA)

  • 10 =实际/365 (ICMA)

  • 11 = 30/360e (icma)

  • 12 =实际/365 (ISDA)

  • 13 =总线/252

有关更多信息,请参见基础

数据类型:

连续复利标的资产收益率,由逗号分隔的对组成“DividendYield”一个标量数值。

请注意

如果输入值为DividendYield,然后设置DividendAmounts而且ExDividendDates[]或者不要进去。如果您为DividendAmounts而且ExDividendDates,然后设置DividendYield0

数据类型:

现金分红金额,以逗号分隔的对组成“DividendAmounts”和一个NDIV——- - - - - -1向量。

对于每一个分红金额,必须有一个相应的ExDividendDates日期。如果您为DividendAmounts而且ExDividendDates,然后设置DividendYield0

请注意

如果输入值为DividendYield,然后设置DividendAmounts而且ExDividendDates[]或者不要进去。

数据类型:

除息日期,指定为逗号分隔的对,由“ExDividendDates”和一个NDIV——- - - - - -1向量。

数据类型:|字符|字符串|datetime

最高价格为价格网格边界,由逗号分隔的对组成“AssetPriceMax”一个正标量。

数据类型:

资产网格的大小为有限差分网格,指定为逗号分隔对组成“AssetGridSize”一个正标量。

数据类型:

时间网格的大小为有限差分网格,指定为逗号分隔对组成“TimeGridSize”一个正标量。

数据类型:

选项类型,指定为逗号分隔的对,由“AmericanOpt”和带有以下值之一的正整数标量标志:

  • 0——欧洲

  • 1——美国

数据类型:

估算隐含波动率曲面的插值方法ImpliedVolData,指定为逗号分隔的对,由“InterpMethod”和具有以下值之一的字符向量或字符串:

  • “线性”-线性插值

  • “makima”-修改Akima立方Hermite插值

  • 样条的-三次样条插值

  • “tpaps”-薄板平滑样条插值

请注意

“tpaps”方法使用曲线拟合工具箱中的薄板平滑样条功能。

“makima”而且样条的方法仅适用于网格化数据。对于分散的数据,使用“线性”“tpaps”方法。

有关网格化或分散数据的更多信息以及插值方法的详细信息,请参见网格化和分散的样本数据而且插值网格数据

数据类型:字符|字符串

定义输出,指定为由逗号分隔的对组成“OutSpec”和一个NOUT-, -1或者一个1——- - - - - -NOUT的可能值的字符向量的单元格数组“价格”“δ”“伽马”“织女星”“λ”的ρ,“θ”

例子:OutSpec ={“三角洲”,“伽马”,“织女星”,“λ”、“ρ”、“θ”、“价格”}

数据类型:细胞|字符串

输出参数

全部折叠

期权价格和敏感性,作为标量数字返回。OutSpec确定输出的类型和顺序。

由有限差分法计算的包含价格的网格,返回为二维大小的网格AssetGridSizeTimeGridSize.列数不一定等于TimeGridSize,因为ExerciseDates而且ExDividendDates添加到时间网格中。PriceGrid(:,:, end)包含的价格t0

的第一个维度所对应的资产价格PriceGrid,作为一个向量返回。

乘以对应于二维的PriceGrid,作为一个向量返回。

更多关于

全部折叠

香草选项

一个香草选项是仅包含最标准组件的选项类别。

普通期权有到期日和明确的执行价格。美式期权和欧式期权都被归类为香草期权。

普通期权的收益如下:

  • 打电话: 马克斯 年代 t K 0

  • 举个例子: 马克斯 K 年代 t 0

地点:

标的资产当时的价格是多少t

K是执行价格。

有关更多信息,请参见香草选项

局部波动模型

局部波动率模型将波动率视为当前资产水平和时间的函数。

局部波动率可用Dupire公式[2]估计:

σ l o c 2 K τ σ p 2 + 2 τ σ p σ p τ + 2 τ d K τ σ p σ p K 1 + K d 1 τ σ p K 2 + K 2 τ σ p 2 σ p K 2 d 1 τ σ p K 2 d 1 ln 年代 0 / K + τ d + σ p 2 / 2 τ σ p τ

参考文献

安徒生,L. B.和R.布罗顿-拉特克利夫。《股票期权波动率的微笑:隐式有限差分方法》计算金融杂志。第1卷第2期,1997年,第5-37页。

[2] Dupire, B。“微笑定价”。风险。第7卷第1期,1994年,第18-20页。

版本历史

在R2018b中引入