Conventions
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 | 股票/基金 NAV 直接傳遞:價值 = 價格 × 數量(不折現;無 day_count) | — |
2. day_count — 年化比例慣例(FpML / ISDA)
時間如何衡量,依照 FpML / ISDA 2006 §4.16 分類法命名。
| Name | Notes |
|---|---|
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 | 美式/債券基準(Bond Basis) |
30E/360 | 歐洲債券(Eurobond) |
30E/360.ISDA | + 二月到期規則 |
30/360.GERMAN | 30E/360.ISDA 的別名 |
1/1 | 退化情形,為 FpML 完整性而設 |
BUS/252 | 巴西 B3 / ANBIMA:營業日 / 252,使用內建的 ANBIMA 假日行事曆。與 Tesouro Direto LTN / NTN-F 逐位元相符 |
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 會覆寫該工具的設定,以供假設情境(what-if)分析之用。
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:
| Field | Axis it controls |
|---|---|
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 格式。