债券久期与凸度的Matlab实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

案例分析:债券久期与凸度的Matlab实现

一、计算公式

(一)债券久期

麦考利久期(Macaulay duration)是利用加权平均数的形式计算债券的平均到期时间。它是债券在未来产生现金流的时间的jia全平均,其权重是各期现金值在债券价格中所占的比重。普通债券的久期如下式所示:

D=∑PV(c t)×t T

t=1

P

式中,D是麦考利久期;P是债券的当前市场价格;PV(c t)是债券未来第t期现金流(利息或面值)的现值;T是债券的到期时间。(二)债券凸度

由于债券价格与收益率之间的关系曲线存在凸向原点的非线性特征,当收益率大幅波动时,久期不能准确地描述债券价格对利率变动的敏感性。为纠正久期的这种不足,引入凸度或凸性的概念。与久期一样,凸度也是度量债券价格波动性的方法。凸度越大,债券价格曲线弯曲程度越大,用修正久期度量债券的利率风险所产生的误差越大。凸度的计算公式如下:

d2p dy2=∑

t(t+1)c t

(1+y)t+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:(可选项)债券的天数计算方法,默认值为0(实际值/实际值),常见选项具体如下:

◼0:实际值/实际值

◼1:30/360

◼2:实际值/360

◼3:实际值/365

主要输出参数:

➢ModDuration:修正的麦考利久期

➢YearDuration:麦考利久期

【算例2】三种固定收益证券,到期收益率分别为 3.2710%、5.3746%、6.4747%,票面利率为5%,交割日为2007年1月1日,到期日为2010年6月30日,每年付息2次(6月底和12月底),计息方式为实际值/实际值,分别计算三种证券的久期。

计算代码如下:

% 利用yield函数可以计算出前一算例中三种固定收益证券的收益率就是3.2710%、5.3746%、6.4747%

% 债券的到期收益率

Yield=[0.032710;0.053746;0.064747];

% 票面利率均为5%

CouponRate=0.05;

% 交割日为2007年1月1日

Settle='01-Jan-2007';

% 到期日为2010年6月30日

Maturity='30-Jun-2010';

% 年付息次数

相关文档
最新文档