本文介绍 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% |