WorksheetFunction.MDuration 方法

定义

返回假设面值 ¥100 的债券的 Macauley 修正期限。

public double MDuration (object Arg1, object Arg2, object Arg3, object Arg4, object Arg5, object Arg6);
Public Function MDuration (Arg1 As Object, Arg2 As Object, Arg3 As Object, Arg4 As Object, Arg5 As Object, Optional Arg6 As Object) As Double

参数

Arg1
Object

Settlement - 债券的结算日。 债券的结算日是在发行日之后债券卖给购买者的日期。

Arg2
Object

Maturity - 债券的到期日。 到期日是债券有效期截止时的日期。

Arg3
Object

Coupon - 债券的年息票利率。

Arg4
Object

Yld - 债券的年收益。

Arg5
Object

Frequency - 每年支付息票的次数。 如果按年支付,frequency = 1;如果按半年期支付,frequency = 2;如果按季支付,frequency = 4。

Arg6
Object

Basis - 要使用的日计数基准类型。

返回

注解

重要提示:应使用 DATE 函数或作为其他公式或函数的结果输入日期。 例如,使用 DATE(2008,5,23) 输入 2008 年 5 月 23 日。 如果日期以文本形式输入,将会出现问题。

Microsoft Excel 以序数形式存储日期以使其可用于计算。 默认情况下,1900 年 1 月 1 日的序数是 1;2008 年 1 月 1 日的序数是 39448,因为该日期距 1900 年 1 月 1 日有 39,448 天。 Microsoft Excel for the Macintosh 使用另外一个默认日期系统。

结算日是购买者买入息票(如债券)的日期。 到期日是息票有效期截止时的日期。 例如,在 2008 年 1 月 1 日发行的 30 年期债券,六个月后被购买者买走。 则发行日为 2008 年 1 月 1 日,成交日为 2008 年 7 月 1 日,而到期日是在发行日 2008 年 1 月 1 日的 30 年后,即 2038 年 1 月 1 日。

Settlement、maturity、frequency 和 basis 将被截尾取整。

如果 settlement 或 maturity 不是有效的日期, 则 MDuration 返回 #VALUE! 。

如果 yld < 0 或 优惠券 < 0,则 MDuration 返回 #NUM! 。

如果 frequency 是除 1、2 或 4 以外的任何数字, 则 MDuration 返回 #NUM! 。

如果 basis < 0 或 basis > 4, 则 MDuration 返回 #NUM! 。

如果结算≥到期, MDuration 将返回 #NUM! 。

修正期限的计算公式如下:

图 1:修改持续时间的公式

适用于