的利率术语结构代表利率随时间的演变。在MATLAB®,利率环境被封装在一个叫做Ratespec.
(速率规格).这个结构包含了完全确定利率演变所需的所有信息。Financial Instruments Toolbox™软件中包含的几个功能专门用于创建和管理Ratespec.
结构。其他许多人把这种结构作为代表利率演变的输入参数。
在进一步看Ratespec.
结构,检查三个提供使用利率的关键功能的功能:disc2rate
,它对面,Rate2disc
,和ratetimes
.前两个函数映射了贴现因素和利率之间的关系。第三个函数,ratetimes
,计算术语变化对利率的影响。
折扣因素系数通常用于找到未来现金流量的当前值。因此,在适用于一段时间的速率和相应的折扣因子之间存在直接映射。这个函数disc2rate
将给定期限(期间)的贴现率转换为利率。这个函数Rate2disc
做相反;它将适用于给定术语(期间)适用的利率转换为相应的折扣因素。
例如,考虑这些年化零优惠券债券。
从 |
来 |
率 |
---|---|---|
2000年2月15日 |
2000年8月15日 |
0.05 |
2000年2月15日 |
2001年2月15日 |
0.056 |
2000年2月15日 |
2001年8月15日 |
0.06 |
2000年2月15日 |
2002年2月15日 |
0.065 |
2000年2月15日 |
2002年8月15日 |
0.075 |
计算对应于这些利率的折扣因子,呼叫Rate2disc
使用语法
盘= rate2disc(复利,利率,结束日期,开始日期,估值日期)
地点:
复合
表示年化时零率复合的频率。对于此示例,假设此值为2。
税率
是表示适用于每个时间间隔的利率的年化百分率向量。
终点
是表示每个兴趣术语(时期)结束的日期的矢量。
startdate可以
是表示每个利率期限开始的日期向量。
估值
是计算折扣因素的观察日期。在这个特殊的例子中,使用2000年2月15日作为所有利率条款的起初日期。
接下来,在MATLAB中设置变量。
startdates = [“15 - 2月- 2000”];EndDates = [“15 - 8月- 2000”;“15 - 2月- 2001”;“15 - 8月- 2001”;...“15 - 2月- 2002”;“15 - 8月- 2002”];复合= 2;ValuationDate = [“15 - 2月- 2000”];率= (0.05;0.056;0.06;0.065;0.075);
最后,计算折扣率。
复利,利率,结束日期,开始日期,...估值)
盘= 0.9756 0.9463 0.9151 0.8799 0.8319
通过向汇率表中添加第四列(参见从费率计算折扣率)包括相应的折扣,您可以看到折扣因素的演变。
从 |
来 |
率 |
折扣 |
---|---|---|---|
2000年2月15日 |
2000年8月15日 |
0.05 |
0.9756 |
2000年2月15日 |
2001年2月15日 |
0.056 |
0.9463 |
2000年2月15日 |
2001年8月15日 |
0.06 |
0.9151 |
2000年2月15日 |
2002年2月15日 |
0.065 |
0.8799. |
2000年2月15日 |
2002年8月15日 |
0.075 |
0.8319 |
这个函数Rate2disc
(可选)返回两个其他输出参数:终点
和开始时间
.这些时间因子向量表示折扣周期单位的开始日期和结束日期。这些单位的规模是由输入变量的值决定的复合
.
要检查时间因子输出,请在前面的示例中找到相应的值。
[Disc, EndTimes, StartTimes] = rate2disc(复利,利率,...Enddates,Startdates,估值);
将两个向量排列成一个数组,以便于可视化。
时间= [starttifs,endtifs]
Times = 0 1 0 2 0 3 0 4 0 5
因为估值日期等于所有周期的开始日期开始时间
矢量由0s组成。此外,由于价值复合
是2,比率复合半衰期,将定期折扣单位设置为六个月。矢量终点
由估值日期间隔六个月间隔的日期组成。这解释了为什么终点
向量是从1到5的整数的进展。
这个函数Rate2disc
还可以适用于使用定期折扣单位而不是日期的替代语法。由于折扣因素和利率之间的关系基于时间段而不是绝对日期,因此这种形式Rate2disc
允许您直接使用时间段。在此模式下,估值日期对应于0和向量开始时间
和终点
用作输入参数,而不是它们的日期等价物,startdate可以
和终点
.这个语法Rate2disc
是:
= rate2disc(复利,Rates, EndTimes, StartTimes)
使用开始时间
和终点
向量计算之前,你应该得到之前的结果的折扣因素。
= rate2disc(复利,Rates, EndTimes, StartTimes)
盘= 0.9756 0.9463 0.9151 0.8799 0.8319
这个函数disc2rate
是补充Rate2disc
.鉴于这些时期的折扣因素,它发现适用于一套复合期的税率。调用此函数的语法是:
利率= disc2rate(复利,盘,结束日期,开始日期,估值日期)
此函数的每个参数都与此含义相同Rate2disc
.使用前面示例中找到的结果返回开始时的速率值。
rates = disc2rate(复合,光盘,enddates,startdates,...估值)
利率= 0.0500 0.0560 0.0600 0.0650 0.0750
就像Rate2disc
,disc2rate
选择返回开始时间
和终点
代表以折扣定期单位测量的开始和结束时间的载体。同样,使用与之前相同的值,您应该获得相同的数字。
[Rates, EndTimes, StartTimes] = disc2rate(复利,盘,...Enddates,Startdates,估值);
将结果排列在便于显示的矩阵中。
Result = [StartTimes, EndTimes, Rates]
结果= 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
使用时间向量而不是日期,并假设估值日期对应于时间= 0。基于时间的调用语法是:
Rates = disc2rate(compound, Disc, EndTimes, StartTimes);
使用此语法,您将再次获得利率的原始值。
Rates = disc2rate(复利,盘,EndTimes, StartTimes)
利率= 0.0500 0.0560 0.0600 0.0650 0.0750
bdtprice
|bdtsens
|bdttimespec
|bdttree
|bdtvolspec
|bkprice.
|bksens
|bktimespec.
|bktree
|bkvolspec.
|BONDBYBDT.
|BondBybk.
|BondByhjm.
|BondByHW.
|bondbyzero
|capbybdt
|Capbybk.
|Capbyblk.
|Capbyhjm.
|capbyhw
|cfbybdt
|cfbybk.
|cfbyhjm.
|cfbyhw
|cfbyzero
|fixedbybdt
|fixedbybk
|fixedbyhjm
|超凡尖
|fixedbyzero
|floatbybdt
|floatbybk.
|floatbyhjm
|floatbyhw
|floatbyzero
|floatdiscmargin.
|floatmargin
|floorbybdt
|地板博克
|贝布尔克
|地板上的地板
|floorbyhw
|HJMPRICE.
|Hjmsens.
|hjmtimespec
|HJMTree.
|hjmvolspec.
|hwcalbycap.
|hwcalbyfloor
|HWPRICE.
|HWSENS.
|hwtimespec.
|HWTree.
|hwvolspec
|instbond.
|闭塞
|instcf
|instfixed
|instfloat.
|instloloor.
|instoptbnd
|instoptembnd
|instoptemfloat
|instoptfloat
|instrangefloat
|instswap.
|instswaption
|Intenvprice.
|intenvsens
|intenvset
|mmktbybdt
|mmktbyhjm.
|oasbybdt.
|oasbybk
|oasbyhjm
|oasbyhw
|optbndbybdt
|optbndbybk.
|optbndbyhjm
|optbndbyhw
|optembndbybdt
|Optembndbybk.
|Optembndbyhjm.
|optembndbyhw
|optemfloatbybdt
|OptemfloatbyBk.
|OptemfloatbyHJM.
|OptemfloatbyHW.
|OptfloatbyBdt.
|optfloatbybk
|Optfloatbyhjm.
|OptfloatbyHW.
|RangeFloatbyBdt.
|RangeFloatbyBk.
|RangeFloatbyHJM.
|rangefloatbyhw
|swapbybdt.
|Swapbybk.
|swapbyhjm
|swapbyhw
|swapbyzero.
|swaptionbybdt.
|swaptionbybk
|swaptionbyblk
|swaptionbyhjm.
|swaptionbyhw.