主要内容

blackvolbyrebonato

使用Rebonato公式计算LIBOR市场模型的黑色波动率

描述

例子

outVol= blackvolbyrebonato (ZeroCurveVolFuncCorrMatExerciseDate成熟使用LIBOR市场模型计算掉期的黑色波动率。

例子

outVol= blackvolbyrebonato (___名称,值添加可选的名称-值对参数。

例子

全部折叠

定义LIBOR市场模型(LMM)的输入期限和期限,该模型由波动率函数句柄的单元格数组指定,并为LMM定义相关矩阵。

Settle = datetime(2004,8,11);%零曲线CurveTimes = (1:10)';CurveDates = daysadd(360*CurveTimes,1);ZeroRates = [0.03 0.033 0.036 0.038 0.04 0.042 0.043 0.044 0.045 0.046]';构造IRCurveirdc = irdata曲线(“零”、结算、CurveDates ZeroRates);LMMVolFunc = @ (t) ((1) * (2) t +)。* exp (* t)——(3)+ (4);LMMVolParams = [.]3 -。02.7 .14]; numRates = length(ZeroRates); VolFunc(1:numRates-1) = {@(t) LMMVolFunc(LMMVolParams,t)}; Beta = .08; CorrFunc = @(i,j,Beta) exp(-Beta*abs(i-j)); CorrMat = CorrFunc(meshgrid(1:numRates-1)',meshgrid(1:numRates-1),Beta); ExerciseDate = datetime(2009,8,11); Maturity = daysadd(ExerciseDate,360*[3;4],1); Vol = blackvolbyrebonato(irdc,VolFunc,CorrMat,ExerciseDate,Maturity,“时间”, 1)
卷=2×10.2210 - 0.2079

输入参数

全部折叠

的零曲线LiborMarketModel,指定使用IRDataCurveRateSpec

数据类型:结构体

的函数句柄NumRates——- - - - - -1函数句柄的单元格数组。每个函数句柄必须将时间作为输入,并返回一个标量波动率

数据类型:细胞|function_handle

相关矩阵,由NumRates——- - - - - -NumRates

数据类型:

项指定的交换练习日期NumSwaptions——- - - - - -1向量,使用日期时间数组、字符串数组或日期字符向量。

要支持金宝app现有代码,blackvolbyrebonato也接受序列号作为输入,但不建议使用。

交换到期日,使用NumSwaptions——- - - - - -1向量,使用日期时间数组、字符串数组或日期字符向量。

要支持金宝app现有代码,blackvolbyrebonato也接受序列号作为输入,但不建议使用。

名称-值参数

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

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

例子:Vol = blackvolbyrebonato(irdc,VolFunc,CorrMat,ExerciseDate,Maturity,'Period',1)

复合频率的曲线和重置的交换,指定为逗号分隔对组成“时间”数值为正整数1、2、4、6、12在一个NumSwaptions——- - - - - -1向量。

数据类型:|

输出参数

全部折叠

黑色波动率,作为指定交换的矢量返回。

算法

Rebonato近似公式在给定一组波动函数和相关矩阵的情况下,与欧洲掉期的黑色波动率有关

υ α β l F 2 j α + 1 β w 0 w j 0 F 0 F j 0 ρ j 年代 α β 0 2 0 T α σ t σ j t d t

地点:

w t τ P t T k α + 1 β τ κ P t t κ

参考文献

Brigo, D.和F. Mercurio。利率模型——理论与实践。施普林格财经,2006。

版本历史

在R2013a中引入

全部展开