YIELD
返回定期支付利息的债券的收益率。 使用 YIELD 计算债券收益率。
语法
YIELD(<settlement>, <maturity>, <rate>, <pr>, <redemption>, <frequency>[, <basis>])
parameters
术语 | 定义 |
---|---|
settlement |
证券的结算日期。 安全结算日是向买家交易证券的发行日期之后的日期。 |
maturity |
债券的到期日。 到期日是安全到期的日期。 |
rate |
债券的年息票率。 |
pr |
每个 \$100 面值的安全价格。 |
redemption |
每个 \$100 面值的安全兑换值。 |
frequency |
每年的息票付款数。 按年支付,frequency = 1;按半年期支付,frequency = 2;按季支付,frequency = 4。 |
basis |
(可选)要使用的日期计数依据的类型。 如果省略基,则假定为 0。 此表下面列出了接受的值。 |
basis
参数接受以下值:
Basis |
日计数基数 |
---|---|
0 或省略 | US (NASD) 30/360 |
1 | 实际/实际 |
2 | 实际/360 |
3 | 实际/365 |
4 | 欧洲 30/360 |
返回值
安全性的收益率。
备注
日期存储为连续的序列号,以便在计算中使用。 在 DAX,1899年12月30日是第0天,2008年1月1日是39448,因为它是1899年12月30日之后的39,448天。
结算日是买家购买优惠券(如债券)的日期。 到期日是优惠券到期的日期。 例如,假设 2008 年 1 月 1 日发行了 30 年期债券,六个月后由买家购买。 发行日为 2008 年 1 月 1 日,结算日为 2008 年 7 月 1 日,到期日为 2038 年 1 月 1 日,即 2008 年 1 月 1 日发行日之后的 30 年。
如果兑换前有一个息票期或更少,则按如下方式计算 YIELD:
$$\text{YIELD} = \frac{(\frac{\text{redemption}}{100} + \frac{\text{rate}}{\text{frequency}} - (\frac{\text{par}}{100} + (\frac{\text{A}}{\text{E}} \times \frac{\text{rate}}}{\text{frequency}})}{\frac{\text{par}}{100} + (\frac{\text{A}}{\text{E}} \times \frac{\text{rate}{\text{frequency}})} \times \frac{\text{frequency} \times \text{E}}{\text{DSR}}}$$
其中:
- $\text{A}$ = 从息票期开始到结算日(应计天数)的天数。
- $\text{DSR}$ = 结算日期到兑换日期的天数。
- $\text{E}$ = 息票期的天数。
如果在兑换前有多个息票期,则通过百次迭代计算 YIELD。 该解析使用牛顿方法,具体取决于用于函数 PRICE的公式。 收益率将更改,直到给定收益率接近价格的估计价格。
settlement 和 maturity 被截断为整数。
frequency 和 basis 将舍入到最接近的整数。
如果出现以下错误,则返回错误:
- settlement 或 maturity 不是有效日期。
- settlement ≥ maturity。
- rate < 0.
- pr ≤ 0。
- redemption ≤ 0。
- frequency 是 1、2 或 4 以外的任意数字。
- basis < 0 或 basis > 4。
在计算列或行级别安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。
示例
数据 | 描述 |
---|---|
2008 年 2 月 15 日 | 结算日期 |
2016 年 11 月 15 日 | 成熟度日期 |
5.75% | 息票率百分比 |
95.04287 | 价格 |
\$100 | 兑换值 |
2 | 按半年期支付(参见上文) |
0 | 30/360 基准(参见上文) |
以下 DAX 查询:
EVALUATE
{
YIELD(DATE(2008,2,15), DATE(2016,11,15), 0.0575, 95.04287, 100, 2,0)
}
返回具有上述条件的债券的收益率。
[值] |
---|
0.0650000068807314 |