版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:[email protected],我们立即下架或删除。
简介:案例分析:债券久期与凸度的 Matlab 实现
一、计算公式
(一)债券久期
麦考利久期(Macaulay duration)是利用加权平均数的形式计算
债券的平均到期时间。它是债券在未来产生现金流的时间的 jia 全平
均,其权重是各期现金值在债券价格中所占的比重。普通债券的久期
如下式所示:
D = ∑ ??(??) × ??
?=1
?
式中,D 是麦考利久期;P 是债券的当前市场价格;??(??)是债券未
来第 t 期现金流(利息或面值)的现值;T 是债券的到期时间。
(二)债券凸度
由于债券价格与收益率之间的关系曲线存在凸向原点的非线性
特征,当收益率大幅波动时,久期不能准确地描述债券价格对利率变
动的敏感性。为纠正久期的这种不足,引入凸度或凸性的概念。与久
期一样,凸度也是度量债券价格波动性的方法。凸度越大,债券价格
曲线弯曲程度越大,用修正久期度量债券的利率风险所产生的误差越
大。凸度的计算公式如下:
?2?
??2 = ∑ ?(? + 1)??
(1 + ?)?+2
凸度的性质如下:
第一,凸度随久期的增加而增加。若收益率、久期不变,则票面
利率越大,凸度越大。利率下降时,凸度增加。
第二,对于没有隐含期权的债券来说,凸度总大于 0,即利率下
降,债券价格将以加速度上升;当利率上升时,债券价格以减速度下
降。
第三,含有隐含期权的债券的凸度一般为负,即价格随着利率的
下降以减速度上升,或债券的有效持续期随利率的下降而缩短,随利
率的上升而延长。
二、Matlab 实现
(一)债券久期
1、根据价格计算久期
Matlab 的 Financial Toolbox 提供了给定债券期限与价格计算
久期的函数为 bnddurp。
常用调用格式如下:
[ModDuration, YearDuration] = bnddurp(Price, CouponRate,
Settle, Maturity, Period, Basis)
主要输入参数:
➢ Price:债券净价
➢ CouponRate:票面利率
➢ Settle:结算日
➢ Maturity:到期日
➢ Period:年付息次数,默认值为 2,可选 0、1、2、3、4、6、
12。
➢ Basis:(可选项)债券的天数计算方法,默认值为 0(实际值
/实际值),常见选项具体如下:
◼ 0:实际值/实际值
◼ 1:30/360
◼ 2:实际值/360
◼ 3:实际值/365
主要输出参数:
➢ ModDuration:修正的麦考利久期
➢ YearDuration:麦考利久期
【算例 1】三种固定收益证券,净价分别为 105.67 元、98.82 元
和 95.45,票面利率均为 5%,交割日为 2007 年 1 月 1 日,到期日为
2010 年 6 月 30 日,每年付息 2 次(6 月底与 12 月底),计息方式为
实际值/实际值,分别计算三种证券的久期。
计算代码如下:
% 三种债券的价格,输入格式可以是列向量,也可以是一种证券
的价格
Price=[105.67;98.82;95.45];
% 票面利率均为 5%
CouponRate=0.05;
% 交割日为 2007 年 1 月 1 日
Settle='01-Jan-2007';
% 到期日为 2010 年 6 月 30 日
Maturity='30-Jun-2010';
% 年付息次数
Period=2;
% 计息方式为实际值/实际值
Basis=0;
% 调用 bnddurp 函数
[ModDurp, YearDurp] = bnddurp(Price, CouponRate, Settle,
Maturity, Period, Basis) % 最后两个输入参数与默认值相同,所
以也可以删除
计算结果如下:
% 修正的麦考利久期
ModDurp =
3.2068
3.1645
3.1426
% 麦考利久期
YearDurp =
3.2593
3.2495
3.2443
2、根据收益率计算久期
Matlab 的 Financial Toolbox 提供了给定债券期限与收益率计
算久期的 bnddury 函数。
常用调用格式如下:
[ModDuration,YearDuration]=bnddury(Yield,CouponRate,Settle,
Maturity, Period, Basis)
主要输入参数:
➢ Yield:债券的到期收益率
➢ CouponRate:票面利率
➢ Settle:结算日
➢ Maturity:到期日
➢ Period:年付息次数,默认值为 2,可选 0、1、2、3、4、6、
12。
➢ Basis:(可选项)... 更多>>