bndkrdur
在零曲线条件下,债券关键利率期限
语法
描述
计算给定零曲线和一组关键利率的一个或多个债券的关键利率期限。KeyRateDuration
= bndkrdur (ZeroData
,CouponRate
,解决
,成熟
)
添加可选的名称-值对参数。KeyRateDuration
= bndkrdur (___,名称,值
)
例子
求零曲线下的债券关键利率期限
这个例子展示了如何计算债券的关键利率期限为2年、5年、10年和30年。
ZeroRates = [0.0476 .0466 .0465 .0468 .0473 .0478 .....0493 .0539 .0572 .0553 .0530]';ZeroDates =天数(1998年- 12月31日的,[30 360 360*2 360*3 360*5 ....360*7 360*10 360*15 360*20 360*25 360*30],1);ZeroData = [ZeroDates];krdur = bndkrdur(零数据,.0525,“12/31/1998”,...“11/15/2028”,“KeyRates”,[2 5 10 30])
krdur =1×40.2986 0.8791 4.1353 9.5814
使用datetime输入求零曲线下的债券关键利率期限
这个例子展示了如何使用datetime
输入的解决
而且成熟
也用一张表ZeroData
计算2年、5年、10年和30年关键利率时间的债券的关键利率存续期。
ZeroRates = [0.0476 .0466 .0465 .0468 .0473 .0478 .....0493 .0539 .0572 .0553 .0530]';ZeroDates =天数(1998年- 12月31日的,[30 360 360*2 360*3 360*5 ....360*7 360*10 360*15 360*20 360*25 360*30],1);ZeroData = table(datetime(ZeroDates,“ConvertFrom”,“datenum”,“场所”,“en_US”), ZeroRates);krdur = bndkrdur(ZeroData,.0525,datetime(“12/31/1998”,“场所”,“en_US”),...datetime (“11/15/2028”,“场所”,“en_US”),“KeyRates”,[2 5 10 30])
krdur =1×40.2986 0.8791 4.1353 9.5814
输入参数
ZeroData
- - - - - -零线
矩阵|表格
零曲线,指定为anumRates
——- - - - - -2
矩阵或numRates
——- - - - - -2
表格
如果ZeroData
表示为numRates
——- - - - - -2
矩阵,第一列是MATLAB®序列号和第二列是伴随的零利率。
如果ZeroData
是表,第一列可以是日期时间数组、字符串数组或日期字符向量。第二列必须是与零利率对应的数字数据。
数据类型:双
|datetime
|字符
|字符串
|表格
CouponRate
- - - - - -用于确定债券应付息票的年利率
小数
用于确定债券应付息票的年利率,用十进制数值表示NUMBONDS
——- - - - - -1
向量。
数据类型:双
解决
- - - - - -所有债券的结算日期和零曲线
datetime标量|字符串标量|日期字符向量
所有债券和零曲线的结算日期,指定为标量日期时间、字符串或日期字符向量。解决
所有债券和零曲线的结算日期必须相同。
要支持金宝app现有代码,bndkrdur
也接受序列号作为输入,但不建议使用。
数据类型:字符
|字符串
|datetime
成熟
- - - - - -债券到期日
datetime数组|字符串数组|日期字符向量
债券的到期日,指定为标量或NUMBONDS
——- - - - - -1
向量,使用日期时间数组、字符串数组或日期字符向量。
要支持金宝app现有代码,bndkrdur
也接受序列号作为输入,但不建议使用。
数据类型:字符
|字符串
|datetime
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:KeyRateDuration = bndkrdur(零数据,。0525,'12/31/1998','11/15/2028','KeyRates',[2 5 10 30])
InterpMethod
- - - - - -用插值法从零点曲线中获取点
“线性”
(默认)|“立方”
,“pchip”
插值方法用于从零点曲线中获取点,指定为逗号分隔的对“InterpMethod”
和使用以下值之一的字符向量:
“线性”
(默认)“立方”
“pchip”
数据类型:字符
ShiftValue
- - - - - -将零点曲线的值上下移动以计算持续时间
. 01
(100基点)(默认)|数字
值,即0曲线被上下移动以计算持续时间,指定为由逗号分隔的对组成“ShiftValue”
和一个标量数值。
数据类型:双
KeyRates
- - - - - -执行持续时间计算的速率
设置为每个零日期(默认)|数字
执行持续时间计算的速率,指定为逗号分隔的对,由“KeyRates”
到期时间用标量a表示NUMBONDS
——- - - - - -1
向量。
数据类型:双
CurveCompounding
- - - - - -曲线复合频率
2(默认)|值为的整数1
,2
,3.
,4
,6
,或12
曲线的复合频率,指定为由逗号分隔的对组成“CurveCompounding”
和使用以下值之一的标量:
1
-年度复利2
-半年复利3.
-每年复利三次4
-季度复利6
-双月复利12
-每月复利
.
数据类型:双
CurveBasis
- - - - - -曲线的基础
0
(默认)|数值:0
,1
,2
,3.
,4
,6
,7
,8
,9
,10
,11
,12
,13
曲线的基础,指定为逗号分隔的对,由“CurveBasis”
和使用以下值之一的标量:
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
有关更多信息,请参见基础.
数据类型:双
期
- - - - - -每年支付息票的次数
2
(默认)|带值的数字0
,1
,2
,3.
,4
,6
或12
每年支付息票的数目,以逗号分隔的对组成“时间”
一个标量或者aNUMBONDS
——- - - - - -1
向量使用的值:0
,1
,2
,3.
,4
,6
,或12
.
数据类型:双
基础
- - - - - -仪器的日计数基础
0
(默认)|数值:0
,1
,2
,3.
,4
,6
,7
,8
,9
,10
,11
,12
,13
仪器的日计数,指定为逗号分隔的对,由“基础”
一个标量或者aNUMBONDS
——- - - - - -1
使用支持值的向量:金宝app
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
有关更多信息,请参见基础.
数据类型:双
EndMonthRule
- - - - - -月末规则标志
1
(效果)(默认)|非负整数0
或1
月末规则标志,指定为逗号分隔的对,由“EndMonthRule”
一个标量或者aNUMBONDS
——- - - - - -1
向量。此规则仅适用于成熟
是一个月的月底日期,该月的天数为30天或更少。
0
= Ignore规则,这意味着债券息票支付日期总是同一个数字日。1
=设置规则,这意味着债券息票支付日期总是每月的最后一天。
数据类型:逻辑
IssueDate
- - - - - -债券发行日期
datetime数组|字符串数组|日期字符向量
债券发行日期,由逗号分隔的对组成“IssueDate”
一个标量或者aNUMBONDS
——- - - - - -1
向量,使用日期时间数组、字符串数组或日期字符向量。
如果没有指定IssueDate
时,现金流支付日期由其他投入确定。
要支持金宝app现有代码,bndkrdur
也接受序列号作为输入,但不建议使用。
数据类型:字符
|字符串
|datetime
FirstCouponDate
- - - - - -不规则或正常的第一次优惠券日期
datetime数组|字符串数组|日期字符向量
不规则或正常的第一张优惠券日期,以逗号分隔的对组成“FirstCouponDate”
一个标量或者aNUMBONDS
——- - - - - -1
向量,使用日期时间数组、字符串数组或日期字符向量。
如果没有指定FirstCouponDate
时,现金流支付日期由其他投入确定。
要支持金宝app现有代码,bndkrdur
也接受序列号作为输入,但不建议使用。
数据类型:字符
|字符串
|datetime
LastCouponDate
- - - - - -不定期或正常的最后优惠券日期
datetime数组|字符串数组|日期字符向量
不规则或正常的最后优惠券日期,以逗号分隔的对组成“LastCouponDate”
一个标量或者aNUMBONDS
——- - - - - -1
向量,使用日期时间数组、字符串数组或日期字符向量。
如果没有指定LastCouponDate
时,现金流支付日期由其他投入确定。
要支持金宝app现有代码,bndkrdur
也接受序列号作为输入,但不建议使用。
数据类型:字符
|字符串
|datetime
StartDate可以
- - - - - -提前开始付款日期
datetime数组|字符串数组|日期字符向量
付款的起始日期,由逗号分隔的对组成StartDate可以的
一个标量或者aNUMBONDS
——- - - - - -1
向量,使用日期时间数组、字符串数组或日期字符向量。的StartDate可以
是债券实际开始发行的日期(债券现金流被考虑的日期)。要使工具向前启动,请将此日期指定为未来日期。
如果没有指定StartDate可以
,生效开始日期为解决
日期。
要支持金宝app现有代码,bndkrdur
也接受序列号作为输入,但不建议使用。
数据类型:字符
|字符串
|datetime
脸
- - - - - -债券面值
One hundred.
(默认)|数字
绑定的面值,指定为逗号分隔的对,由“脸”
一个标量或者aNUMBONDS
——- - - - - -1
向量。
数据类型:双
输出参数
KeyRateDuration
—关键利率持续时间
矩阵
关键利率持续时间,返回为numBonds
——- - - - - -numRates
矩阵。
算法
bndkrdur
计算给定零曲线和一组关键利率的一个或多个债券的关键利率期限。默认情况下,关键利率是每个零曲线利率。对于每个关键利率,持续时间是通过将零曲线上下移动指定的量(ShiftValue
),用新的零曲线计算每种情况下债券的现值,然后计算以下值:
请注意
对曲线的移动是通过将特定的键速率移动ShiftValue
然后在前一个关键利率和下一个关键利率之间的区间内插值曲线值。对于第一个键利率,日期之前的任何曲线值都等于ShiftValue
;类似地,对于最后一个关键利率,日期之后的任何曲线值都等于ShiftValue
.
参考文献
[1]戈卢布,B.,蒂尔曼,L。风险管理:固定收益市场的方法。威利,2000年。
塔克曼,B。固定收益证券:当今市场的工具。威利,2002年。
版本历史
R2006a之前介绍MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。