引导
从市场数据引导利率曲线
描述
从市场数据引导利率曲线。自举曲线的日期与输入工具的到期日相对应。DCurve
= IRDataCurve.bootstrap (类型
,解决
,InstrumentTypes
,仪器
)
请注意
的ratecurve
在R2020a中引入了对象和相关方法,作为金融工具工具箱™中新的基于对象的框架的一部分,该框架支持工具建模和分析中的端到端工作流。万博1manbetx有关更多信息,请参见irbootstrap
而且开始使用基于对象的金融工具定价框架的工作流程.
例子
使用引导
方法创建IRDataCurve
对象
在这个自举的例子中,InstrumentTypes
,仪器
,以及解决
日期定义如下:
仪表类型= {“存款”;“存款”;...“期货”;“期货”;“期货”;“期货”;“期货”;“期货”;...“交换”;“交换”;“交换”;“交换”};仪器= [datenum(“08/10/2007”), datenum (“09/17/2007”), .0532000;...datenum (“08/10/2007”), datenum (“11/17/2007”), .0535866;...datenum (“08/08/2007”), datenum (' 19 - 12月- 2007 '), 9485;...datenum (“08/08/2007”), datenum (“19 - 3月- 2008”), 9502;...datenum (“08/08/2007”), datenum (“18 - 2008年6月- - - - - -”), 9509.5;...datenum (“08/08/2007”), datenum (的17 - 9月- 2008), 9509;...datenum (“08/08/2007”), datenum (的17 - 12月- 2008), 9505.5;...datenum (“08/08/2007”), datenum (“18 - 3月- 2009”), 9501;...datenum (“08/08/2007”), datenum (“08/08/2014”), .0530;...datenum (“08/08/2007”), datenum (“08/08/2019”), .0551;...datenum (“08/08/2007”), datenum (“08/08/2027”), .0565;...datenum (“08/08/2007”), datenum (“08/08/2037”), .0566);CurveSettle = datenum(“08/10/2007”);
使用引导
方法来创建IRDataCurve
对象。
bootModel = irdata曲线。bootstrap(“前进”CurveSettle,...InstrumentTypes,仪器,“InterpMethod”,“pchip”);
为引导市场数据创建图表:
PlottingDates = (datenum(“08/11/2007”): 30: CurveSettle + 365 * 25) ';plot(PlottingDates, getparyield (bootModel, PlottingDates),“r”) ylim([0 .06])日期标记
使用引导
方法创建IRDataCurve
包含键的对象
在这个自举的例子中,InstrumentTypes
,仪器
,以及解决
日期定义如下:
CurveSettle = datenum(的8 - 3月- 2010);仪表类型= {“存款”;“存款”;“存款”;“存款”;...“期货”;“期货”;“期货”;“期货”;“交换”;“交换”;“债券”;“债券”};仪器= [datenum(的8 - 3月- 2010), datenum (8 - 4月- 2010 '), .003;...datenum (的8 - 3月- 2010), datenum (“8 - 2010年6月- - - - - -”), .005;...datenum (的8 - 3月- 2010), datenum (8 - 9月- 2010 '), .007;...datenum (的8 - 3月- 2010), datenum (的8 - 3月- 2011), .009;...datenum (的8 - 3月- 2010), datenum (“18 - 2011年6月- - - - - -”), 9840;...datenum (的8 - 3月- 2010), datenum (的17 - 9月- 2011), 9820;...datenum (的8 - 3月- 2010), datenum (的17 - 12月- 2011), 9810;...datenum (的8 - 3月- 2010), datenum (“18 - 3月- 2012”), 9800;...datenum (的8 - 3月- 2010), datenum (的8 - 3月- 2015), .025;...datenum (的8 - 3月- 2010), datenum (的8 - 3月- 2020); 1。03 =...datenum (的8 - 3月- 2010), datenum (的8 - 3月- 2030), 99;...datenum (的8 - 3月- 2010), datenum (的8 - 3月- 2040), 101年);
当使用债券时,InstrumentCouponRate
必须指定:
InstrumentCouponRate = [0 (10,1);.045;.05];
注意,对于仅适用于债券的参数(InstrumentFirstCouponDate
,InstrumentLastCouponDate
,InstrumentIssueDate
,InstrumentFace
)非债券工具(存款和期货)的条目被忽略。
使用引导
方法来创建IRDataCurve
对象。
bootModel = irdata曲线。bootstrap(“前进”CurveSettle,...InstrumentTypes,仪器,“InterpMethod”,“pchip”,...“InstrumentCouponRate”, InstrumentCouponRate);
为引导市场数据创建图表。
PlottingDates = datemnth(CurveSettle,1:30*12);plot(PlottingDates, getparyield (bootModel, PlottingDates),“r”) ylim([0 .06])日期标记
使用IRBootstrapOptionsObj
与引导
为负零利率
使用IRBootstrapOptionsObj
的可选参数引导
方法在求解交换零点时允许负零利率。
set = datenum(“15 - 3月- 2015”);仪表类型= {“存款”;“存款”;“交换”;“交换”;“交换”;“交换”};仪器=[确定,数据enum(“15 - 2015年6月- - - - - -”),措施;...解决,datenum (的15 - 12月- 2015), .0005;...解决,datenum (“15 - 3月- 2016”),措施;...解决,datenum (“15 - 3月- 2017”), -0.0005;...解决,datenum (“15 - 3月- 2018”), .0017;...解决,datenum (“15 - 3月- 2020”), .0019);irbo = IRBootstrapOptions(下界的1);bootModel = irdata曲线。bootstrap(“零”,结算,仪表类型,...仪器,“IRBootstrapOptions”, irbo);bootModel.getZeroRates (datemnth(定居,一60))
ans =60×10.0012 0.0011 0.0010 0.0009 0.0008 0.0008 0.0007 0.0006 0.0005 -0.0000 `
注意for的可选参数下界
设置为-1
对于负零利率,在解决掉期时为零。
输入参数
类型
- - - - - -利率曲线的类型源于市场工具
值为的字符向量“零”
,“折扣”
,或“前进”
由市场工具引导的利率曲线类型,通过使用标量字符向量指定。
当使用引导
的选择类型
参数会影响曲线构造,因为它将影响在自举过程中插入的数据类型(即正向利率、零利率或贴现因子)。曲线是用不同的类型
参数使用不同的插值方法进行不同的自举算法,在使用“get”函数时,有时会产生不同的结果(例如getForwardRates
).
数据类型:字符
解决
- - - - - -利率曲线的结算日期
流水号|特征向量
确定利率曲线的日期,使用连续日期编号或日期字符向量指定。
数据类型:双
|字符
InstrumentTypes
- - - - - -仪器类型
值为的字符向量的单元格数组“存款”
,“期货”
,“交换”
,“债券”
,联邦铁路局的
仪表类型,使用N
——- - - - - -1
单元格数组(其中N
仪器的数量)是否表明是什么类型的仪器仪器
矩阵。可接受的值为“存款”
,“期货”
,“交换”
,“债券”
,联邦铁路局的
.
数据类型:字符
|细胞
仪器
- - - - - -仪器
矩阵
仪器,指定为N
——- - - - - -3.
数据矩阵仪器
第一列在哪里解决
日期使用连续日期编号,第二列为成熟
使用连续日期编号,第三列是市场报价。每种工具的市场报价如下:
存款
:速度期货
:价格(例如9628.54)交换
:速度债券
:清洁价格联邦铁路局
:远期汇率请注意
仪器
输入联邦铁路局
和期货
是不同的。具体来说,a的远期利率联邦铁路局
开始日期(的第1列)仪器
),并以结束日期结束(第2列仪器
).而a的远期利率期货
合同自合同到期日起生效期货
合同,并在某个日期结束n几个月后期货
成熟,n是周期性吗期货
合同。
数据类型:双
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:DCurve = IRDataCurve.bootstrap('Forward',CurveSettle,InstrumentTypes,Instruments,'InterpMethod','pchip')
复合
- - - - - -每年的复利频率IRDataCurve
对象
CurveObj。复合
(默认)|可能的值包括:1
,0
,1
,2
,3.
,4
,6
,12
.
每年的复利频率IRDataCurve
对象,指定为逗号分隔的对,由“复合”
和使用所支持的值之一的标量数值:万博1manbetx
−1
=连续复利0
=单利(无复利)1
=年度复利2
=半年复利3.
=每年复利三次4
=每季度复利6
=双月复利12
=每月复利
数据类型:双
基础
- - - - - -利率曲线的日计数基础
0
(实际/实际)(默认)|整数的0
来13
利率曲线的日计数基础,指定为由逗号分隔的对组成“基础”
一个标量整数。
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
有关更多信息,请参见基础.
数据类型:双
InterpMethod
- - - - - -插值法
“线性”
(默认)|值为的字符向量“线性”
,“立方”
,“pchip”
,或样条的
插补方法,指定为由逗号分隔的对组成“InterpMethod”
和一个标量字符向量。有关插值方法的更多信息,请参见interp1
.
数据类型:字符
IRBootstrapOptionsObj
- - - - - -IRBootstrapOptions对象
[]
(默认)|IRBootstrapOptions
对象
对象的IRBootstrapOptions,指定为逗号分隔的对,由“IRBootstrapOptionsObj”
和一个IRBootstrapOptions
以前使用IRBootstrapOptions
.
数据类型:对象
DiscountCurve
- - - - - -RateSpec
用于折现现金流的曲线
[]
(默认)|RateSpec
对象
RateSpec
用于折现现金流的曲线,由逗号分隔的对组成“DiscountCurve”
和一个RateSpec
以前使用intenvset
或toRateSpec
.
数据类型:对象
InstrumentCouponRate
- - - - - -决定票据应付息票的年利率
[]
(默认)|小数
确定票据应付息票的年利率,以逗号分隔的一对,由“InstrumentCouponRate”
和一个标量十进制值。
数据类型:双
InstrumentPeriod
- - - - - -每年购买仪器的息票
2
(默认)|数值为0
,1
,2
,3.
,4
,6
,12
票据每年的息票,以逗号分隔的对组成“InstrumentPeriod”
和一个标量数值。
数据类型:双
InstrumentBasis
- - - - - -仪器的日计数基础
0
(实际/实际)(默认)|整数的0
来13
仪器的日计数基础,由逗号分隔的对组成“InstrumentBasis”
一个标量整数。
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
请注意
InstrumentBasis
区分债券票据的基础
利率曲线的价值基础
价值。
有关更多信息,请参见基础.
数据类型:双
InstrumentEndMonthRule
- - - - - -月底规则
1
(默认)|有价值的逻辑0
或1
月末规则,指定为逗号分隔的对,由“InstrumentEndMonthRule”
和一个逻辑值。此规则仅适用于成熟
是一个月的月底日期,该月的天数为30天或更少。
0
= ignore规则,这意味着债券的息票支付日期总是同一个数字日。1
=集
规则(默认),这意味着债券的息票支付日期总是每月的最后一天。
数据类型:逻辑
InstrumentIssueDate
- - - - - -出具文书日期
[]
(默认)|字符串标量|日期字符向量|流水号
票据出具日期,由逗号分隔的对组成“InstrumentIssueDate”
和标量字符串、数据字符向量或序列号。
数据类型:字符
|双
|字符串
InstrumentFirstCouponDate
- - - - - -债券第一次支付息票的日期
现金流支付日期由其他投入确定(默认)|字符串标量|日期字符向量|流水号
债券第一次支付息票的日期(当债券的第一次息票期不固定时使用),由逗号分隔的对组成“InstrumentFirstCouponDate”
和标量字符串、日期字符向量或序列号。当InstrumentFirstCouponDate
而且InstrumentLastCouponDate
都是指定的,InstrumentFirstCouponDate
优先决定息票支付结构。如果没有指定InstrumentFirstCouponDate
时,现金流支付日期由其他投入确定。
数据类型:字符
|双
|字符串
InstrumentLastCouponDate
- - - - - -债券到期日之前的最后一个息票日
现金流支付日期由其他投入确定(默认)|字符串标量|日期字符向量|流水号
债券到期日之前的最后票面日(当债券的最后票面期不固定时使用),由逗号分隔的对组成“InstrumentLastCouponDate”
和标量字符串、日期字符向量或序列号。在没有指定的情况下InstrumentFirstCouponDate
,指定的InstrumentLastCouponDate
决定债券的息票结构。债券的息票结构在InstrumentLastCouponDate
,而不管它落在哪里,紧随其后的只是债券的到期日现金流。如果没有指定InstrumentLastCouponDate
时,现金流支付日期由其他投入确定。
数据类型:字符
|双
|字符串
|datetime
InstrumentFace
- - - - - -面值或票面价值
One hundred.
(默认)|数字
面值或票面价值,指定为逗号分隔的对,由“InstrumentFace”
一个标量数值。
数据类型:双
请注意
当使用仪器
名称-值对时,可以为对象指定简单的兴趣仪器
通过指定InstrumentPeriod
值作为0
.如果InstrumentBasis
而且InstrumentPeriod
没有为仪器
,使用以下默认值:
存款
仪器使用InstrumentBasis
作为2
(行动/ 360)InstrumentPeriod
是0
(单利)。期货
仪器使用InstrumentBasis
作为2
(行动/ 360)InstrumentPeriod
是4
(季度)。交换
仪器使用InstrumentBasis
作为2
(行动/ 360)InstrumentPeriod
是2
.债券
仪器使用InstrumentBasis
作为0
(行动/行为)InstrumentPeriod
是2
.联邦铁路局
仪器使用InstrumentBasis
作为2
(行动/ 360)InstrumentPeriod
是4
(季度)。
输出参数
DCurve
-市场数据的利率曲线
结构
市场数据的利率曲线,以结构形式返回。
版本历史
在R2008b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。