MDURATION
返回修改后的证券(假定面值为 \$100)麦考利久期。
语法
MDURATION(<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 日。
修改后的久期定义如下:
$$\text{ MDURATION } = \frac{ \text{ DURATION } }{ 1 + (\frac{ \text{ Market yield } }{ \text{ Coupon payments per year } }) }$$
settlement 和 maturity 将被截尾取整。
frequency 和 basis 舍入为最接近的整数。
如果出现以下情况,则返回错误:
- settlement 或 maturity 不是有效日期。
- settlement ≥ maturity。
- coupon < 0。
- yld < 0
- frequency 是除 1、2 和 4 之外的任何数字。
- basis < 0 或者 basis > 4。
在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。
示例
数据 | 描述 |
---|---|
2008/1/1 | 结算日 |
2016/1/1 | 到期日 |
8% | 息票率百分比 |
9% | 收益率百分比 |
2 | 按半年期支付(参见上文) |
1 | 实际天数/实际天数(参见上文) |
以下 DAX 查询:
EVALUATE{ MDURATION(DATE(2008,1,1), DATE(2016,1,1), 0.08, 0.09, 2, 1) }
返回使用上述条件计算的修改后的债券麦考利久期。
[值] |
---|
5.73566981391884 |