DURATION

适用于:计算列计算表度量值视觉计算

返回假定面值为 $100 的麦考利久期。 麦考利久期定义为现金流现值的加权平均值,用于衡量收益变动时债券价格的变动情况。

语法

DURATION(<settlement>, <maturity>, <coupon>, <yld>, <frequency>[, <basis>])

parameters

术语 定义
settlement 证券的结算日。 证券结算日是指在发行日之后,证券卖给购买者的日期。
maturity 证券的到期日。 到期日是指证券到期的日期。
coupon 证券的年息票率。
yld 证券的年收益率。
frequency 每年支付息票的次数。 按年支付,frequency = 1;按半年期支付,frequency = 2;按季支付,frequency = 4。
basis (可选)要使用的天数基数的类型。 如果省略 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 年期债券,6 个月后被购买者买走。 那么发行日为 2008 年 1 月 1 日,结算日为 2008 年 7 月 1 日,而到期日是在发行日 2008 年 1 月 1 日的 30 年后,即 2038 年 1 月 1 日。

  • settlement 和 maturity 将被截尾取整。

  • frequency 和 basis 舍入为最接近的整数。

  • 如果出现以下情况,则返回错误:

    • settlement 或 maturity 不是有效日期。
    • settlement ≥ maturity。
    • coupon < 0。
    • yld < 0
    • frequency 是除 1、2 和 4 之外的任何数字。
    • basis < 0 或者 basis > 4。
  • 在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。

示例

数据 描述
2018/07/01 结算日
2048/01/01 到期日
8.0% 息票率百分比
9.0% 收益率百分比
2 按半年期支付(参见上文)
1 实际天数/实际天数(参见上文)

以下 DAX 查询:

EVALUATE
{
  DURATION(DATE(2018,7,1), DATE(2048,1,1), 0.08, 0.09, 2, 1)
}

返回上述条件下债券的麦考利久期。

[值]
10.9191452815919