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