MDURATION函数用于计算假设面值¥100的有价证券的Macauley修正期限。MDURATION函数的语法如下:
MDURATION(settlement,maturity,coupon,yld,frequency,basis)
其中,settlement参数为证券的结算日,结算日是在发行日之后,证券卖给购买者的日期。maturity参数为有价证券的到期日,到期日是有价证券有效期截止时的日期。coupon参数为有价证券的年息票利率。yld参数为有价证券的年收益率。frequency参数为年付息次数,如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4。basis参数为日计数基准类型。下面通过实例详细讲解该函数的使用方法与技巧。
打开“MDURATION函数.xlsx”工作簿,切换至“Sheet1”工作表,本例的原始数据如图19-86所示。该工作表中记录了一组债券数据,具体包括债券的结算日、到期日、息票利率、收益率等信息,要求根据给定的数据计算出债券的修正期限。具体的操作步骤如下。
选中A9单元格,在编辑栏中输入公式“=MDURATION(A2,A3,A4,A5,A6,A7)”,然后按“Enter”键返回,即可计算出债券的修正期限,如图19-87所示。
图19-86 原始数据
图19-87 计算债券的修正期限
如果settlement参数或maturity参数不是合法日期,函数MDURATION返回错误值“#VALUE!”。如果参数yld<0或参数coupon<0,函数MDURATION返回错误值“#NUM!”。如果frequency参数不是数字1、2或4,函数MDURATION返回错误值“#NUM!”。如果参数basis<0或参数basis>4,函数MDURATION返回错误值“#NUM!”。如果参数settlement≥maturity参数,函数MDURATION返回错误值“#NUM!”。修正期限的计算公式如下: