Excel中YIELD函数的语法和用法
时间:2022-02-18 03:16:17
函数说明
返回定期付息有价证券的收益率,函数 YIELD 用于计算债券收益率。
如果该函数不可用,并返回错误值 #NAME?,请安装并加载“分析工具库”加载宏。可以参考文章:Office2003安装并加载“分析工具库”加载
函数语法YIELD(settlement,maturity,rate,pr,redemption,frequency,basis)
YIELD(证券的成交日,有价证券的到期日,有价证券的年息票利率,面值 $100 的有价证券的价格,面值 $100 的有价证券的清偿价值,年付息次数,日计数基准类型)
YIELD(settlement,maturity,rate,pr,redemption,frequency,basis)
YIELD(证券的成交日,有价证券的到期日,有价证券的年息票利率,面值 $100 的有价证券的价格,面值 $100 的有价证券的清偿价值,年付息次数,日计数基准类型)
要点:应使用 DATE 函数来输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。如果日期以文本的形式输入,则会出现问题。
参数说明
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 天。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 不是合法日期,函数 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 中给出的公式,并使用牛顿迭代法不断修正计算结果,直到在给定的收益率下的计算价格逼近于实际价格。
Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。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 不是合法日期,函数 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 中给出的公式,并使用牛顿迭代法不断修正计算结果,直到在给定的收益率下的计算价格逼近于实际价格。
函数示例
数据
数据 | 说明 | |
2008-2-15 | 成交日 | |
2016-11-15 | 到期日 | |
5.75% | 息票利率 | |
95.04287 | 价格 | |
$100 | 清偿价值 | |
2 | 按半年期支付 | |
0 | 以 30/360 为日计数基准 |
公式
公式 | 结果 | 说明 |
=YIELD(A2,A3,A4,A5,A6,A7,A8) | 0.065000007 | 在上述条件下债券的收益率 |
以下是Excel中使用YIELD函数效果截图