WorksheetFunction.OddLYield 方法 (Excel)

返回末期付息日不固定(长期或短期)的债券的收益率。

语法

表达式OddLYield (Arg1Arg2Arg3Arg4Arg5Arg6Arg7Arg8)

表达 一个代表 WorksheetFunction 对象的变量。

参数

名称 必需/可选 数据类型 说明
Arg1 必需 Variant Settlement - 债券的结算日。 债券的结算日是在发行日之后债券卖给购买者的日期。
Arg2 必需 Variant Maturity - 债券的到期日。 到期日是债券有效期截止时的日期。
Arg3 必需 Variant Last_interest - 债券的末期付息日。
Arg4 必需 Variant Rate - 债券的利率。
Arg5 必需 Variant Pr - 债券的价格。
Arg6 必需 Variant Redemption - 面值 ¥100 的债券的赎回值。
Arg7 必需 Variant Frequency - 每年支付息票的次数。 如果按年支付,frequency = 1;如果按半年期支付,frequency = 2;如果按季支付,frequency = 4。
Arg8 可选 Variant Basis - 要使用的日计数基准类型。

返回值

Double

备注

重要

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

下表描述了可用于 Arg8 的值。

基础 日计数基准
0 或省略 美国(美国证券交易商协会)30/360
1 实际/实际
2 Actual/360
3 实际/365
4 欧洲 30/360

Microsoft Excel 以序数形式存储日期以使其可用于计算。 默认情况下,1900 年 1 月 1 日的序数是 1;2008 年 1 月 1 日的序数是 39448,因为该日期距 1900 年 1 月 1 日有 39,448 天。 Microsoft Excel for the Macintosh 使用另外一个默认日期系统。

注意

Visual Basic for Applications (VBA) 的串行日期的计算方式与 Excel 不同。 在 VBA 中,序列号 1 为 1899 年 12 月 31 日,而不是 1900 年 1 月 1 日。

结算日是购买者买入息票(如债券)的日期。 到期日是息票有效期截止时的日期。 例如,在 2008 年 1 月 1 日发行的 30 年期债券,六个月后被购买者买走。 则发行日为 2008 年 1 月 1 日,成交日为 2008 年 7 月 1 日,而到期日则是在发行日 2008 年 1 月 1 日的 30 年后,即 2038 年 1 月 1 日。

Settlement、maturity、last_interest 和 basis 将被截尾取整。

如果 settlement、maturity 或 last_interest 不是有效的日期, OddLYield 将返回#VALUE! 。

如果速率 < 0 或 pr ≤ 0, 则 OddLYield 返回#NUM! 。

如果 basis < 0 或 basis > 4, 则 OddLYield 返回#NUM! 。

必须满足以下日期条件:否则, OddLYield 返回#NUM! error 值:成熟 > 度结算 > last_interest。

OddLYield 的计算公式如下:

公式

其中:

  • Ai = 从赎回前最后一个利息日开始计算的奇数期或最后一个准息期的应计天数。
  • DCi = 以实际息票期的长度分隔的准息票期或最后一个准息票期中计数的天数。
  • NC = 适合奇数期的准息票期数;如果此数字包含分数,则会将其提升到下一个整数。
  • NLi = 正常长度(以天数为单位),即奇数派息期内的最后一个准息票期。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。