约定
emrgex 中的一次计算由三个相互独立、全球公认的维度定义——不存在任何专有代码。你可以独立选择复利方式、计息基准和票息公式,每一项都使用市场上任何人都能识别的名称。
1. rate_type — 复利方式 / 报价基准
折现时收益率如何复利。
rate_type | 含义 | 折现方式 |
|---|---|---|
NOMINAL | 按每年 frequency 次复利的名义利率(市场惯用 YTM) | (1 + y/f)^(-f·t) |
EFFECTIVE | 年化有效利率 | (1 + y)^(-t) |
AT_MATURITY | 货币市场单利贴现(国库券 / Letras) | 1 / (1 + y·t) |
PRICE_QUANTITY | 股票 / 基金净值直通:价值 = 价格 × 数量(不折现;无 day_count) | — |
2. day_count — 年度比例约定(FpML / ISDA)
时间如何度量,按 FpML / ISDA 2006 §4.16 分类法命名。
| 名称 | 说明 |
|---|---|
ACT/ACT.ISDA | ISDA §4.16(b),在年度边界处拆分 |
ACT/ACT.ICMA | ISDA §4.16(c) / ICMA 第 251 条规则;一个规则计息期收缩为 1/f |
ACT/ACT.ISMA | ICMA 的别名 |
ACT/ACT.AFB | AFB 1994 |
ACT/360 | 货币市场 |
ACT/365.FIXED | |
ACT/365L | 闰年敏感的分母 |
ACT/364 | |
30/360 | 美国 / 债券基准 |
30E/360 | 欧洲债券 |
30E/360.ISDA | + 二月到期规则 |
30/360.GERMAN | 30E/360.ISDA 的别名 |
1/1 | 退化形式,为保证 FpML 完整性而保留 |
BUS/252 | 巴西 B3 / ANBIMA:工作日 / 252,使用内置的 ANBIMA 假日日历。与 Tesouro Direto LTN / NTN-F 逐位一致(bit-exact) |
ACT/ACT.DRMH | 多米尼加共和国政府基准(Ministerio de Hacienda):实际天数 / 以付款日为终点的 12 个月窗口内的实际天数。已与发行方公布的基准核验一致 |
3. coupon_type — 票息金额如何计算
coupon_type | 每期票息 | 适用于 |
|---|---|---|
FIXED (默认) | coupon_rate / frequency × outstanding | 常规固定利率债券(国债、公司债、欧洲债券) |
ACCRUAL | coupon_rate × yearFraction(day_count) × outstanding | 票息随计息期长度变动的货币市场及本地市场债券 |
在 ACT/ACT.ICMA 和 30E/360 下,两者一致(一个规则计息期恰好为 1/f);而在按实际天数计息的约定(ACT/365、ACT/360、ACT/ACT.ISDA)下,两者出现差异。逐笔报价的 options.coupon_type 会覆盖该工具自身的设置,用于情景分析。
calculation_code — 全局标识符
每个工具都会公开一个 calculation_code:即其两个主维度的拼接,<day_count>|<rate_type>。它由约定派生而来,绝不是可用于覆盖约定的输入。
ACT/ACT.ISDA|NOMINAL ACT/360|AT_MATURITY 30E/360|EFFECTIVE PRICE_QUANTITY
PRICE_QUANTITY 没有计息基准,因此它的代码就是 PRICE_QUANTITY。
组合矩阵
各维度彼此正交——任意 rate_type 都可与任意 day_count 组合:
| rate_type | day_count | calculation_code |
|---|---|---|
| NOMINAL | ACT/ACT.ICMA | ACT/ACT.ICMA|NOMINAL |
| NOMINAL | 30E/360 | 30E/360|NOMINAL |
| EFFECTIVE | ACT/365.FIXED | ACT/365.FIXED|EFFECTIVE |
| AT_MATURITY | ACT/360 | ACT/360|AT_MATURITY |
有效性规则: NOMINAL / EFFECTIVE 要求 frequency 为正;AT_MATURITY 和 PRICE_QUANTITY 强制将 frequency 设为 1;PRICE_QUANTITY 不接受 day_count;其余每一种组合都要求提供有效的 day_count。
解耦的计息基准(进阶)
day_count 通常会同时驱动三件事。当某个工具在不同维度上需要不同的基准时,可逐项覆盖——每一项都是可选的,未指定时回退到 day_count:
| 字段 | 它所控制的维度 |
|---|---|
accrual_day_count | 应计利息(coupon corrido) |
coupon_day_count | ACCRUAL 票息金额 |
discount_day_count | 折现时间指数 t(现值) |
例如,多米尼加政府 ACT/ACT 债券按发行方的 365/366 基准计提应计利息,但按市场 / ICMA 计息期折现——建模为 day_count: ACT/ACT.DRMH 加 discount_day_count: ACT/ACT.ICMA。
查询支持的内容
curl https://calc.dev.emrgex.com/v1/admin/conventions
返回每一个 rate_type 和 day_count 及其描述,外加 calculation_code 的格式。