了解利率期限结构
简介
的利率期限结构表示利率随时间的变化。在MATLAB®在美国,利率环境被封装在一种名为RateSpec
(率规范).这个结构包含了完全识别利率演变所需的所有信息。金融工具工具箱™软件中包含的几个功能专门用于创建和管理RateSpec
结构。还有许多人将这种结构作为表示利率演变的输入参数。
在进一步研究之前RateSpec
结构,分析三个函数,它们为处理利率提供了关键功能:disc2rate
,它的反面,rate2disc
,ratetimes
.前两个函数映射了贴现因子和利率之间的关系。第三个函数,ratetimes
,计算期限变化对利率的影响。
利率与贴现因子
折扣因素是常用来计算未来现金流现值的系数。因此,在适用于一段时间的利率和相应的贴现系数之间存在直接的映射。这个函数disc2rate
将给定期限(期间)的贴现因子转换为利率。这个函数rate2disc
做相反的事;它将适用于给定期限(期间)的利率转换为相应的贴现因子。
从利率计算折现因子
例如,考虑这些年化的零息债券利率。
从 |
来 |
率 |
---|---|---|
2月15日 |
8月15日 |
0.05 |
2月15日 |
二月十五日 |
0.056 |
2月15日 |
8月15日 |
0.06 |
2月15日 |
2月15日 |
0.065 |
2月15日 |
8月15日 |
0.075 |
要计算与这些利率相对应的贴现因子,请调用rate2disc
使用语法
Disc = rate2disc(复利,利率,结束日期,开始日期,估值日期)
地点:
复合
表示零利率在年化时复利的频率。对于本例,假设该值为2。利率
是表示适用于每个时间间隔的利率的年化百分比利率的向量。EndDates
表示每个利率期限(期间)结束的日期向量。startdate可以
表示每个利率期开始的日期向量。ValuationDate
是计算贴现因子的观测日期。在这个特殊的例子中,使用2000年2月15日作为所有利率条款的开始日期。
接下来,在MATLAB中设置变量。
开始日期= [“15 - 2月- 2000”];结束日期= [“15 - 8月- 2000”;“15 - 2月- 2001”;“15 - 8月- 2001”;...“15 - 2月- 2002”;“15 - 8月- 2002”];复利= 2;估价日期= [“15 - 2月- 2000”];比率= [0.05;0.056;0.06;0.065;0.075);
最后,计算折现因子。
磁盘= rate2disc(复合,速率,结束日期,开始日期,...ValuationDate)
盘面= 0.9756 0.9463 0.9151 0.8799 0.8319
通过在费率表中添加第四列(参见从利率计算折现因子),以计算相应的折扣,可看到折扣因素的演变。
从 |
来 |
率 |
折扣 |
---|---|---|---|
2月15日 |
8月15日 |
0.05 |
0.9756 |
2月15日 |
二月十五日 |
0.056 |
0.9463 |
2月15日 |
8月15日 |
0.06 |
0.9151 |
2月15日 |
2月15日 |
0.065 |
0.8799 |
2月15日 |
8月15日 |
0.075 |
0.8319 |
可选时间因子输出
这个函数rate2disc
可选地返回两个额外的输出参数:EndTimes
而且开始时间
.这些时间因子向量表示贴现周期单位中的开始日期和结束日期。这些单位的比例由输入变量的值决定复合
.
要检查时间因子输出,请在前面的示例中找到相应的值。
[Disc, EndTimes, StartTimes] = rate2disc(复利,速率,...结束日期,开始日期,估值日期);
将两个向量排列成一个数组,以便于可视化。
时间=[开始时间,结束时间]
次数= 0 1 0 2 0 3 0 4 0 5
由于估值日期等于所有期间的开始日期,因此开始时间
向量由0组成。同样,由于的值复合
是2,利率每半年复利一次,将定期折扣的单位设定为6个月。向量EndDates
由从估值日起按六个月间隔分隔的日期组成。这解释了为什么EndTimes
Vector是一组从1到5的整数。
替代语法(rate2disc)
这个函数rate2disc
还提供了一种替代语法,该语法使用周期性折扣单位而不是日期。由于贴现因子和利率之间的关系是基于时间段而不是绝对日期,这种形式的rate2disc
允许您直接使用时间段。在此模式中,估值日期对应于0,向量对应于0开始时间
而且EndTimes
用作输入参数,而不是它们的日期等价物,startdate可以
而且EndDates
.下面的语法rate2disc
是:
磁盘= rate2disc(复合,速率,结束时间,开始时间)
作为输入使用开始时间
而且EndTimes
先前计算的向量,您应该获得先前的折现因子结果。
磁盘= rate2disc(复合,速率,结束时间,开始时间)
盘面= 0.9756 0.9463 0.9151 0.8799 0.8319
根据折扣计算房价
这个函数disc2rate
是对rate2disc
.它找到适用于一组复利期间的利率,给定这些期间的贴现因子。调用这个函数的语法是:
利率= disc2rate(复利,光盘,结束日期,开始日期,估值日期)
此函数的每个参数与in的含义相同rate2disc
.使用上一个示例中的结果返回开始时的速率值。
利率= disc2rate(复利,光盘,结束日期,开始日期,估值日期)
利率= 0.0500 0.0560 0.0600 0.0650 0.0750
替代语法(disc2rate)
例如在…的情况下rate2disc
,disc2rate
选择返回开始时间
而且EndTimes
表示以折现周期单位测量的开始和结束时间的向量。同样,使用与前面相同的值,您应该得到相同的数字。
[速率,结束时间,开始时间]= disc2rate(复利,磁盘,...结束日期,开始日期,估值日期);
将结果排列在便于显示的矩阵中。
结果=[开始时间,结束时间,速率]
结果= 0 1.0000 0.0500 0 2.0000 0.0560 0 3.0000 0.0600 0 4.0000 0.0650 0 5.0000 0.0750
与rate2disc
在美国,利率与贴现率之间的关系是由时间段决定的,而不是由绝对日期决定的。这是另一种语法disc2rate
使用时间向量而不是日期,并且假定估值日期对应于time = 0。基于时间的调用语法是:
Rates = disc2rate(复合,光盘,结束时间,开始时间);
使用此语法,您将再次获得利率的原始值。
Rates = disc2rate(复利,光盘,结束时间,开始时间)
利率= 0.0500 0.0560 0.0600 0.0650 0.0750
另请参阅
instbond
|instcap
|instcf
|instfixed
|instfloat
|instfloor
|instoptbnd
|instoptembnd
|instoptfloat
|instoptemfloat
|instrangefloat
|instswap
|instswaption
|intenvset
|bondbyzero
|cfbyzero
|fixedbyzero
|floatbyzero
|intenvprice
|intenvsens
|swapbyzero
|floatmargin
|floatdiscmargin
|hjmtimespec
|hjmtree
|hjmvolspec
|bondbyhjm
|capbyhjm
|cfbyhjm
|fixedbyhjm
|floatbyhjm
|floorbyhjm
|hjmprice
|hjmsens
|mmktbyhjm
|oasbyhjm
|optbndbyhjm
|optfloatbyhjm
|optembndbyhjm
|optemfloatbyhjm
|rangefloatbyhjm
|swapbyhjm
|swaptionbyhjm
|bdttimespec
|bdttree
|bdtvolspec
|bdtprice
|bdtsens
|bondbybdt
|capbybdt
|cfbybdt
|fixedbybdt
|floatbybdt
|floorbybdt
|mmktbybdt
|oasbybdt
|optbndbybdt
|optfloatbybdt
|optembndbybdt
|optemfloatbybdt
|rangefloatbybdt
|swapbybdt
|swaptionbybdt
|hwtimespec
|hwtree
|hwvolspec
|bondbyhw
|capbyhw
|cfbyhw
|fixedbyhw
|floatbyhw
|floorbyhw
|hwcalbycap
|hwcalbyfloor
|hwprice
|hwsens
|oasbyhw
|optbndbyhw
|optfloatbyhw
|optembndbyhw
|optemfloatbyhw
|rangefloatbyhw
|swapbyhw
|swaptionbyhw
|bktimespec
|bktree
|bkvolspec
|bkprice
|bksens
|bondbybk
|capbybk
|cfbybk
|fixedbybk
|floatbybk
|floorbybk
|oasbybk
|optbndbybk
|optfloatbybk
|optembndbybk
|optemfloatbybk
|rangefloatbybk
|swapbybk
|swaptionbybk
|capbyblk
|floorbyblk
|swaptionbyblk