从平顶帽的波动条囊片的波动
[
条用自举方法囊片从扁平帽的波动的波动。该功能剥离囊片波动之前插在每片caplet付款日期帽波动。CapletVols
,CapletPaymentDates
,CapStrikes
] = capvolstrip(ZeroCurve
,CapSettle
,CapMaturity
,CapVolatility
)
[
使用一个或除了在前面的语法的输入参数更名称 - 值对的参数指定的选项。CapletVols
,CapletPaymentDates
,CapStrikes
] = capvolstrip(___,名称,值
)
计算贴现和突出的远期利率零线。
ValuationDate = datenum('23 -Jun-2015');ZeroRates = [0.01 0.09 0.30 0.70 1.07 1.71]/100;曲率值=日期(取值日期,[0.25 0.5 12 3 5]*12);ZeroCurve = IRDataCurve('零',ValuationDate,CurveDates,ZeroRates)
ZeroCurve =类型:零定居:736138(23君2015)配混:2基础:0(实际/实际)InterpMethod:线性日期:[6X1双]数据:[6X1双]
定义ATM上限波动数据。
CapSettle = datenum('25 -Jun-2015');CapMaturity = datenum({'27 -Jun-2016';'26 -Jun-2017';'25 -Jun-2018';...'25 -Jun-2019';'25 -Jun-2020'});CapVolatility = [0.29; 0.38; 0.42; 0.40; 0.38];
从ATM帽地带小丸波动。
[CapletVols,CapletPaymentDates,ATMCapStrikes] = capvolstrip(ZeroCurve,...CapSettle、CapMaturity CapVolatility);PaymentDates = cellstr (datestr (CapletPaymentDates));格式;表(PaymentDates CapletVols ATMCapStrikes)
ANS =9×3表PaymentDates CapletVols ATMCapStrikes _______________ __________ _____________ {'27 -Jun-2016 '} 0.29 0.0052014 {'27 - 癸2016'} 0.34657 0.0071594 {'26 -Jun-2017 '} 0.41404 0.0091175 {'26 - 癸2017'} 0.42114 0.010914{'25 -Jun-2018 '} 0.45297 0.012698 {'26 - 癸2018'} 0.37257 0.014222 {'25 -Jun-2019 '} 0.36184 0.015731 {'26 - 癸2019'} 0.3498 0.017262 {'25 -Jun-2020' 称} 0.33668 0.018774
计算贴现和突出的远期利率零线。
ValuationDate = datenum('17 -Feb-2015');ZeroRates = [0.02 0.07 0.25 0.70 1.10 1.62] / 100;曲率值=日期(取值日期,[0.25 0.5 12 3 5]*12);ZeroCurve = IRDataCurve('零',ValuationDate,CurveDates,ZeroRates)
ZeroCurve =类型:零定居:736012(17-FEB-2015)配混:2基础:0(实际/实际)InterpMethod:线性日期:[6X1双]数据:[6X1双]
定义帽波动数据。
CapSettle = datenum(”2015年- 2月19日);CapMaturity = datenum({”2016年- 2月19日;”2017年- 2月21日;'20 -Feb-2018';...'19 -Feb-2019';'19 -Feb-2020'});CapVolatility = [0.44; 0.45; 0.44; 0.41; 0.39];CapStrike = 0.013;
地带囊片从具有相同罢工帽波动。
[CapletVols,CapletPaymentDates,CapStrikes] = capvolstrip(ZeroCurve,...CapSettle、CapMaturity CapVolatility,'罢工',CapStrike);PaymentDates = cellstr (datestr (CapletPaymentDates));格式;表(PaymentDates CapletVols CapStrikes)
ANS =9×3表PaymentDates CapletVols CapStrikes _______________ __________ {'19 -Feb-2016 '} 0.44 0.013 {'19 -Aug-2016'} 0.44495 0.013 {'21 -Feb-2017 '} 0.45256 0.013 {'21 -Aug-2017'} 0.43835 0.013{'20 -Feb-2018 '} 0.42887 0.013 {'20 -Aug-2018'} 0.38157 0.013 {'19 -Feb-2019 '} 0.35237 0.013 {'19 -Aug-2019'} 0.3525 0.013 {'19 -Feb-2020' } 0.33136 0.013
计算贴现和突出的远期利率零线。
ValuationDate = datenum('06 -mar-2015');ZeroRates = [0.01 0.08 0.27 0.73 1.16 1.70] / 100;曲率值=日期(取值日期,[0.25 0.5 12 3 5]*12);ZeroCurve = IRDataCurve('零',ValuationDate,CurveDates,ZeroRates)
零点urve =类型:零结算:736029(03 -2015)复利:2根据:0(实际/实际)InterpMethod:线性日期:[6x1 double]数据:[6x1 double]
定义帽波动数据。
CapSettle = datenum('06 -mar-2015');CapMaturity = datenum({'07 -mar-2016';'06 -mar-2017';' 06 - 3月- 2018 ';...' 06 - 3月- 2019 ';'06 -mar-2020'});CapVolatility = [0.43; 0.44; 0.44; 0.43; 0.41);CapStrike = 0.011;
指定季度和半年度的日期。
CapletDates = [cfdates(CapSettle,'06 -mar-2016',4)...cfdates('06 -mar-2016','06 -mar-2020'2)];CapletDates (~ isbusday (CapletDates)) =...busdate(CapletDates(〜isbusday(CapletDates)),“modifiedfollow”);
使用指定的地带小丸波动CapletDates
。
[CapletVols,CapletPaymentDates,CapStrikes] = capvolstrip(ZeroCurve,...CapSettle、CapMaturity CapVolatility,'罢工',CapStrike,...'CapletDates',CapletDates);PaymentDates = cellstr (datestr (CapletPaymentDates));格式;表(PaymentDates CapletVols CapStrikes)
ANS =11×3的表PaymentDates CapletVols CapStrikes _______________ __________ {'08 -sep-2015 '} 0.43 0.011 {'07 - 癸2015'} 0.42999 0.011 {'07 -mar-2016 '} 0.43 0.011 {'06 -sep-2016'} 0.43538 0.011{'06 -mar-2017 '} 0.44396 0.011 {'06 -sep-2017'} 0.43999 0.011 {'06 -mar-2018 '} 0.44001 0.011 {'06 -sep-2018'} 0.41934 0.011 {'06 -Mar-2019 '} 0.40985 0.011 {'06 -sep-2019'} 0.36818 0.011 {'06 -mar-2020' } 0.34657 0.011
计算贴现和突出的远期利率零线。
ValuationDate = datenum('1-MAR-2016');ZeroRates = [-0.38 -0.25 -0.21 -0.12 0.01 0.2] / 100;曲率值=日期(取值日期,[0.25 0.5 12 3 5]*12);ZeroCurve = IRDataCurve('零',ValuationDate,CurveDates,ZeroRates)
零点urve = Type: Zero Settle: 736390 (01- 3 -2016) compound: 2 Basis: 0 (actual/actual) InterpMethod: linear Dates: [6x1 double] Data: [6x1 double]
定义cap易变率(移动黑色)数据。
CapSettle = datenum('1-MAR-2016');CapMaturity = datenum({'1-MAR-2017';'1-MAR-2018';的1 - 3月- 2019;...的2 - 3月- 2020;'1-MAR-2021'});CapVolatility = [0.35; 0.40; 0.37; 0.34; 0.32];%的变化黑色波动移= 0.01;%1%的偏移。CapStrike = -0.001;%-0.1%的罢工。
用位移黑模型分析了帽的条帽挥发分。
[CapletVols,CapletPaymentDates,CapStrikes] = capvolstrip(ZeroCurve,...CapSettle,CapMaturity,CapVolatility,'罢工'CapStrike,'转移',转移);PaymentDates =串(datestr(CapletPaymentDates));格式;表(PaymentDates,CapletVols,CapStrikes)
ANS =9×3表支付日期CapletVols CapStrikes "01- 3- 2017" 0.35 -0.001 "01- 9 -2017" 01- 9 -2018" 0.4335 -0.001 "04- 9 -2018" 0.35284 -0.001 "01- 3- 2018" 0.3255 "03- 9 -2019" 0.3011 -0.001 "02- 3- 2020" 0.27266 -0.001 "01- 9 -2020" 0.27698 -0.001 "01- 3- 2021" 0.25697 -0.001
计算贴现和突出的远期利率零线。
ValuationDate = datenum('1君-2018');ZeroRates = [-0.38 -0.25 -0.21 -0.12 0.01 0.2] / 100;曲率值=日期(取值日期,[0.25 0.5 12 3 5]*12);ZeroCurve = IRDataCurve('零',ValuationDate,CurveDates,ZeroRates)
ZeroCurve =类型:零定居:737212(01君2018)配混:2基础:0(实际/实际)InterpMethod:线性日期:[6X1双]数据:[6X1双]
定义正常的cap波动率数据。
CapSettle = datenum('1君-2018');CapMaturity = datenum({'3君-2019';'1君-2020';“1君2021”;...'1君-2022';“1君2023”});CapVolatility = [0.0057; 0.0059; 0.0057; 0.0053; 0.0051];%正常波动CapStrike = -0.002;%-0.2%的罢工。
条囊片从使用正常(舍利耶)模型帽挥发性。
[CapletVols,CapletPaymentDates,CapStrikes] = capvolstrip(ZeroCurve,...CapSettle,CapMaturity,CapVolatility,'罢工'CapStrike,“模型”,'正常');PaymentDates =串(datestr(CapletPaymentDates));格式;表(PaymentDates,CapletVols,CapStrikes)
ANS =9×3表PaymentDates CapletVols CapStrikes _____________ __________ “03君2019” 0.0057 -0.002 “02日 - 12月2019” 0.0058686 -0.002 “01君2020” 0.0060472 -0.002 “01日 - 12月2020” 0.0055705 -0.002“01军-2021" 0.0053912 -0.002 “01日 - 12月2021” 0.0047404 -0.002 “01君-2022” 0.004357 -0.002 “01日 - 12月2022” 0.0046481 -0.002 “01君-2023” 0.0044477 -0.002
ZeroCurve
-零率曲线RateSpec
宾语|IRDataCurve
宾语零利率曲线,用a表示RateSpec
或IRDataCurve
对象包含用于根据它的天数的公约撇除零速率曲线。如果不指定可选参数ProjectionCurve
,功能用途ZeroCurve
计算潜在的远期利率为好。的观察日期ZeroCurve
指定评估基准日。有关创建更多信息RateSpec
见intenvset
。有关创建更多信息IRDataCurve
对象时,看到IRDataCurve
。
数据类型:结构
CapSettle
-共同封顶结算日期常见帽结算日期,指定为一个标量序列日期数字或日期字符向量。该CapSettle
日期不能超过早先ZeroCurve
评估日期。
数据类型:双
|烧焦
CapMaturity
-上限到期日帽到期日,采用串行日期数字或日期字符向量作为一个的单元阵列指定NCAP
-通过-1
向量。
数据类型:双
|烧焦
|细胞
CapVolatility
-平盖波动平盖的波动,指定为NCAP
-通过-1
正小数的矢量。
数据类型:双
指定可选的用逗号分隔的对名称,值
参数。名称
是参数的名称和价值
是对应的值。名称
必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N
。
[CapletVols, CapletPaymentDates CapStrikes] = capvolstrip (ZeroCurve、CapSettle CapMaturity, CapVolatility,“罢工”,。2)
'罢工'
-盖击率帽击率,指定为逗号分隔的一对组成的'罢工'
和一个标量小数值或anNCapletVols
-通过-1
向量。采用罢工
作为标量指定对所有大写字母均适用的单个罢工。或者指定一个NCapletVols
-通过-1
击用于帽的载体。
数据类型:双
'CapletDates'
-囊片复位和付款日期重置和支付日期,指定为逗号分隔对组成'CapletDates'
和NCapletDates
-通过-1
向量使用串行日期数字或日期字符向量的单元阵列。
采用CapletDates
手动指定所有小丸复位和付款日期。例如,一些日期间隔可每季度,而另一些可能是半年一次。所有时间必须晚于CapSettle
并且不能晚于最后CapMaturity
日期。日期根据调整后的BusDayConvention
和假期
投入。
如果CapletDates
未指定,默认是自动生成周期性小丸日期后CapSettle
根据最后CapMaturity
日期作为基准日期,使用以下可选输入:重置
,EndMonthRule
,BusDayConvention
,假期
。
数据类型:双
|烧焦
|细胞
'重启'
-盖内每年定期支付的频率2
(默认)|其值正标量整数1
,2
,3
,4
,6
,或12
'EndMonthRule'
-结束一个月发生小丸日期规则的标志1
(有效)(默认)|标量非负整数[0,1]
结束月规则标志用于产生囊片的日期,指定为逗号分隔的一对组成的'EndMonthRule'
和一个标量非负整数[0
,1
]。
0
=忽略的规则,这意味着支付日期始终是该月的数字相同的日子。
1
=上设置的规则,这意味着支付日期始终是当月的最后一天实际。
数据类型:合乎逻辑
“BusDayConvention”
-营业日惯例“modifiedfollow”
(默认)|其值的字符向量'实际'
,“跟随”
,“modifiedfollow”
,“以前”
,“modifiedprevious”
工作日公约,指定为逗号分隔的一对组成的“BusDayConvention”
和字符向量。使用此参数指定函数如何对待非营业日,这是天的各行各业都开不了(如双休日及法定节假日)。
'实际'
-非工作时间实际上被忽略。在非营业日下降的现金流假定在实际日期分配。
“跟随”
- 现金流量在非营业日那年秋天被假定为对下一个工作日发布。
“modifiedfollow”
- 现金流量在非营业日那年秋天被假定为对下一个工作日发布。但是,如果下一个工作日是不同的一个月,前一营业日改为采用。
“以前”
- 现金流量在非营业日那年秋天被假定为上一工作日发布。
“modifiedprevious”
- 现金流量在非营业日那年秋天被假定为上一工作日发布。但是,如果一个营业日是在不同的月份,下一个工作日改为采用。
数据类型:烧焦
“假日”
-用于计算业务的假期holidays.m
(默认)|MATLAB的矢量®日期数字在计算工作日内使用节假日,指定为逗号分隔的一对组成的“假日”
和NHolidays
-通过-1
向量的MATLAB日期编号。
数据类型:双
'ProjectionCurve'
-用于计算潜在的远期利率利率曲线ZeroCurve
用于计算标的远期利率输入(默认)|RateSpec
宾语|IRDatCurve
宾语计算基础远期利率的利率曲线,指定为逗号分隔的对'ProjectionCurve'
和一个RateSpec
对象或IRDatCurve
宾语。有关创建更多信息RateSpec
见intenvset
。有关创建更多信息IRDataCurve
对象时,看到IRDataCurve
。
数据类型:结构
'MaturityInterpMethod'
-对于剥离囊片波动之前插在每片caplet到期日波动上限的方法“线性”
(默认)|字符向量与值:“线性”
,“最近”
,'下一个'
,“以前”
,“花”
,“pchip”
用于剥离囊片的波动之前插在每片caplet到期日帽的挥发性的方法,指定为逗号分隔的一对组成的'MaturityInterpMethod'
并用值的字符向量:“线性”
,“最近”
,'下一个'
,“以前”
,“花”
,或“pchip”
。
“线性”
- 线性插值。在查询点内插的值在每个相应维度相邻网格点是基于所述值的线性内插。这是默认的插值方法。
“最近”
- 最近邻插值。在查询点的插补值是在最近的采样网格点的值。
'下一个'
- 下一个邻居插值。在查询点的插补值是在下一采样网格点的值。
“以前”
-以前的邻居插值。在查询点上的内插值是前一个样本网格点上的值。
“花”
- 使用未-A-结结束条件样条插补。在查询点内插的值在每个相应维度相邻网格点是基于三次插值的值的。
“pchip”
- 保形分段三次插值。在查询点的插补值在相邻的网格点是基于一个保形分段三次插值的值的。
有关插值方法的更多信息,请参阅interp1
。
该函数使用恒定外推至计算落在波动率用户提供的数据的范围之外。
数据类型:烧焦
'限制'
-隐含波动率搜索区间的上界10
(每年或1000%)(默认)|积极的标量小数上限隐含波动搜索间隔的,指定为逗号分隔的一对组成的'限制'
而正标小数。
数据类型:双
'公差'
-隐含波动率搜索终止公差1E-5
(默认)|积极的数字标量隐含波动搜索终止公差,指定为逗号分隔的一对组成的'公差'
和一个正数的标量。
数据类型:双
'OmitFirstCaplet'
-标志省略在盖第一小丸付款真正的
(总是忽略第一个连词)(默认)|合乎逻辑标志省略在帽的第一囊片支付,指定为逗号分隔的一对组成的'OmitFirstCaplet'
标量逻辑。
如果帽点启动,省略了第一小胶囊付款。如果帽向前启动,第一囊支付包括在内。不管盖的状态,如果你设置这个逻辑来假
,则该函数包括所述第一囊片付款。
一般而言,“现货滞后”指的是固定日期与类似libor的指数生效日期之间的延迟。“点延迟”决定了一个上限是点启动还是向前启动(Corb, 2012)。如果在估值日后的“现货滞后”营业日内结算,则上限将被视为现货启动。那些在晚些时候安定下来的人被认为是具有前瞻性的。如果大写为点启动,则省略第一个caplet;如果大写为前向启动,则省略第一个caplet (Tuckman, 2012)。
数据类型:合乎逻辑
'转移'
-移以小数为转移SABR模型0
(没有变化)(默认)|积极的标量小数移在小数为移位SABR模型(与移黑模型一起使用),指定为逗号分隔的一对组成的'转移'
和一个正的标量小数。将此参数设置为小数的正偏移,以向正向速率和strike添加正偏移,从而有效地为正向速率和strike设置负的下界。例如,一个转移
值0。01等于1%的位移。
数据类型:双
“模型”
-用于隐含波动率的模型对数正态的
(默认)|用的值的字符向量对数正态的
或'正常'
|值为的字符串标量“对数”
或“正常”
模型用于隐含波动率计算,指定为逗号分隔的一对组成的“模型”
和一个标量字符向量或标量的字符串用以下值之一:
对数正态的
- 引申黑(无偏移)或移黑色波动。
'正常'
-隐含正常(巴切利耶)波动。如果您指定'正常'
,转移
必须为零。
该capvolstrip
功能支持三种类型的金宝app波动。
“模式”的价值 | “转移”的价值 | 波动类型 |
---|---|---|
对数正态的 |
转移 =0 |
黑色 |
对数正态的 |
转移 >0 |
了黑 |
'正常' |
转移 =0 |
正常(Bachelier) |
数据类型:烧焦
|串
CapletVols
- 剥离囊波动剥去囊波动,返回一个NCapletVols
-通过-1
向量的小数。
capvolstrip
可以输出为NaN
S对于一些小胶囊波动。如果没有波动由用户提供的上限数据暗示囊片的价格相匹配,您可能会遇到这种输出。
CapletPaymentDates
- 付款日期付款日期(日期编号),返回一个NCapletVols
-通过-1
对应于日期数字的向量CapletVols
。
CapStrikes
- 帽罢工帽罢工,返回一个NCapletVols
-通过-1
对于帽熟化在对应于小数打击矢量CapletPaymentDates
。CapStrikes
是一样的被剥夺相应的囊片罢工。
当从ATM帽自举囊片的波动,该函数从重用在较长期限帽较短成熟帽剥离而不调整为在击的差囊片挥发性。capvolstrip
如下在Gatarek,2006年中描述的简化的方法。
帽或地板是在平价(ATM)如果罢工等于远期掉期利率。
正向掉率的交换,使得所述浮动支路的当前值等于固定腿的固定速率。相比之下,一个囊片或floorlet是ATM如果击是等于正向速率(未向前交换速率)。一般而言(除了在单个周期),正向速率不等于正向交换速率。所以,准确地说,在ATM帽个别锭略有不同价外且仅约ATM(亚历山大,2003年)。
此外,该掉期利率掉期与成熟期的变化。同样,ATM帽罢工也与帽成熟的变化,所以ATM帽罢工计算每个帽成熟剥离囊片波动之前。其结果是,随着期限汽提从ATM帽的囊片的波动的情况下,ATM撞击的连续帽是不同的。
[1]亚历山大,C.“普通关系和校准对数正态分布远期利率模型”。维尔莫特杂志,2003。
[2]Corb, H。利率掉期等衍生品。哥伦比亚大学商学院出版社,2012。
[3] Gatarek, D., P. Bachert和R. Maksymiuk。该LIBOR市场模型中的实践。英国奇切斯特:Wiley出版社,2006年。
[4]塔克曼,B.和塞拉特,A。固定收益证券:当今市场的工具。新泽西州霍博肯市:Wiley出版社,2012。
您单击对应于该MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。金宝app
你也可以从以下列表中选择一个网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。