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

说明

返回定期支付利息的债券的收益。 函数 YIELD 用于计算债券收益率。

语法

YIELD(settlement, maturity, rate, pr, redemption, frequency, [basis])

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

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

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

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

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

  • Pr 必需。 有价证券的价格(按面值为 ¥100 计算)。

  • Redemption 必需。 面值 ¥100 的有价证券的清偿价值。

  • 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 不是有效日期,函数 YIELD 返回 错误值 #VALUE!。

  • 如果 rate < 0,函数 YIELD 返回 错误值 #NUM!。

  • 如果 pr ≤ 0 或 redemption ≤ 0,函数 YIELD 返回 错误值 #NUM!。

  • 如果 frequency 不为数字 1、2 或 4,函数 YIELD 返回 错误值 #NUM!。

  • 如果 basis < 0 或 basis > 4,函数 YIELD 返回 错误值 #NUM!。

  • 如果 settlement ≥ maturity,函数 YIELD 返回 错误值 #NUM!。

  • 如果在清偿日之前只有一个或是没有付息期间,函数 YIELD 的计算公式为:

    公式

    其中:

    • A = 付息期的第一天到结算日之间的天数(应计天数)。

    • DSR = 结算日与清偿日之间的天数。

    • E = 付息期所包含的天数。

  • 如果在 redemption 之前尚有多个付息期间,则通过 100 次迭代来计算函数 YIELD。 基于函数 PRICE 中给出的公式,并使用牛顿迭代法不断修正计算结果。 这样,收益率将不断更改,直到根据给定收益率计算的估计价格接近实际价格。

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

数据

说明

2008-2-15

结算日

2016-11-15

到期日

5.75%

息票利率

95.04287

价格

¥100

清偿价值

2

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

0

以 30/360 为日计数基准(请参见上面的信息)

公式

描述(结果)

结果

=YIELD(A2,A3,A4,A5,A6,A7,A8)

在上述条件下债券的收益率(0.065 或 6.5%)

6.5%