本文介绍 Microsoft Excel 中 MDURATION 函数的公式语法和用法。

说明

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

语法

MDURATION(settlement, maturity, coupon, yld, frequency, [basis])

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

MDURATION 函数语法具有下列参数:

  • Settlement    必需。 有价证券的结算日。 有价证券结算日是在发行日之后,有价证券卖给购买者的日期。

  • Maturity    必需。 有价证券的到期日。 到期日是有价证券有效期截止时的日期。

  • Coupon    必需。 有价证券的年息票利率。

  • Yld    必需。 有价证券的年收益率。

  • Frequency    必需。 年付息次数。 如果按年支付,frequency = 1;按半年期支付,frequency = 2;按季支付,frequency = 4。

  • Basis    可选。 要使用的日计数基准类型。

Basis

日计数基准

0 或省略

US (NASD) 30/360

1

实际/实际

2

实际/360

3

实际/365

4

欧洲 30/360

备注

  • Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。

  • 结算日是购买者买入息票(如债券)的日期。 到期日是息票有效期截止时的日期。 例如,在 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 或 coupon < 0,则 MDURATION 返回 错误值 #NUM!。

  • 如果 frequency 不是数字 1、2 或 4,则 MDURATION 返回 错误值 #NUM!。

  • 如果 basis < 0 或 basis > 4,则 MDURATION 返回 错误值 #NUM!。

  • 如果 settlement ≥ maturity,则 MDURATION 返回 错误值 #NUM!。

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

    公式

示例

复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。要使公式显示结果,请选中它们,按 F2,然后按 Enter。如果需要,可调整列宽以查看所有数据。

数据

说明

2008-1-1

结算日

2016-1-1

到期日

8%

息票利率

9%

收益率

2

按半年期支付(请参见上面的信息)

1

以实际天数/实际天数为日计数基准(请参见上面的信息)

公式

说明

结果

=MDURATION(A2,A3,A4,A5,A6,A7)

在 A2:A5 中指定条件下债券的修正期限。

5.736