Excle 应用DURATION函数计算定期支付利息的证券的每年期限

DURATION函数用于计算假设面值¥100的定期付息有价证券的修正期限。期限定义为一系列现金流现值的加权平均值,用于计量债券价格对于收益率变化的敏感程度。DURATION函数的语法如下。


DURATION(number1,number2,...)

其中参数settlement为证券的结算日,即在发行日之后,证券卖给购买者的日期。maturity为有价证券的到期日,即有价证券有效期截止时的日期。coupon为有价证券的年息票利率。yld为有价证券的年收益率。frequency为年付息次数。如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4。basis为日计数基准类型。

典型案例

已知有价证券的结算日、到期日、息票利率、收益率等信息,计算在上述条件下有价证券的修正期限。基础数据如图17-97所示。

步骤1:打开例子工作簿“DURATION.xlsx”。

步骤2:在单元格A9中输入公式“=DURATION(A2,A3,A4,A5,A6,A7)”,用于计算在上述条件下有价证券的修正期限。计算结果如图17-98所示。

图17-97 基础数据

图17-98 计算结果

使用指南

settlement、maturity、frequency和basis数值若非整数将被截尾取整。如果settlement或maturity不是合法日期,函数DURATION返回错误值“#VALUE!”;如果coupon<0或yld<0,函数DURATION返回错误值“#NUM!”;如果frequency不是数字1、2或4,函数DURATION返回错误值“#NUM!”;如果basis<0或basis>4,函数DURATION返回错误值“#NUM!”;如果settlement≥maturity,函数DURATION返回错误值“#NUM!”。

Excel 计算定期支付利息债券每年期限:DURATION函数

DURATION函数用于计算假设面值¥100的定期付息有价证券的修正期限。期限定义为一系列现金流现值的加权平均值,用于计量债券价格对于收益率变化的敏感程度。DURATION函数的语法如下:


DURATION(settlement, maturity, coupon, yld, frenguency, basis)

其中,settlement参数为证券的结算日,结算日是在发行日之后,证券卖给购买者的日期。maturity参数为有价证券的到期日,到期日是有价证券有效期截止时的日期。coupon参数为有价证券的年息票利率。yld参数为有价证券的年收益率。frequency参数为年付息次数,如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4。basis参数为日计数基准类型。下面通过实例详细讲解该函数的使用方法与技巧。

打开“DURATION函数.xlsx”工作簿,切换至“Sheet1”工作表,本例的原始数据如图19-84所示。该工作表中记录了一组有价证券数据,具体包括有价证券的结算日、到期日、息票利率、收益率等信息,要求根据给定的数据计算出有价证券的修正期限。具体的操作步骤如下。

选中A9单元格,在编辑栏中输入公式“=DURATION(A2,A3,A4,A5,A6,A7)”,然后按“Enter”键返回,即可计算出有价证券的修正期限,如图19-85所示。

图19-84 原始数据

图19-85 计算有价证券的修正期限

如果settlement参数或maturity参数不是合法日期,函数DURATION返回错误值“#VALUE!”。如果参数coupon<0或参数yld<0,函数DURATION返回错误值“#NUM!”。如果frequency参数不是数字1、2或4,函数DURATION返回错误值“#NUM!”。如果参数basis<0或参数basis>4,函数DURATION返回错误值“#NUM!”。如果参数settlement≥maturity参数,函数DURATION返回错误值“#NUM!”。