Convenciones
Un cálculo en emrgex se define mediante tres ejes independientes y reconocidos globalmente — no existen códigos propietarios. Eliges la capitalización, la base de conteo de días y la fórmula del cupón de forma independiente, cada una a partir de un nombre que cualquiera en el mercado puede identificar.
1. rate_type — base de capitalización / cotización
Cómo se capitaliza el rendimiento al descontar.
rate_type | Significado | Descuento |
|---|---|---|
NOMINAL | tasa nominal capitalizada frequency×/año (YTM de mercado) | (1 + y/f)^(-f·t) |
EFFECTIVE | tasa efectiva anual | (1 + y)^(-t) |
AT_MATURITY | descuento simple de mercado de dinero (T-bills / Letras) | 1 / (1 + y·t) |
PRICE_QUANTITY | traspaso de NAV de acciones / fondos: valor = precio × cantidad (sin descuento; sin day_count) | — |
2. day_count — convención de fracción de año (FpML / ISDA)
Cómo se mide el tiempo, nombrada según la taxonomía FpML / ISDA 2006 §4.16.
| Nombre | Notas |
|---|---|
ACT/ACT.ISDA | ISDA §4.16(b), dividida en el límite del año |
ACT/ACT.ICMA | ISDA §4.16(c) / Regla 251 de ICMA; un período regular se reduce a 1/f |
ACT/ACT.ISMA | alias de ICMA |
ACT/ACT.AFB | AFB 1994 |
ACT/360 | mercado de dinero |
ACT/365.FIXED | |
ACT/365L | denominador que considera años bisiestos |
ACT/364 | |
30/360 | Base estadounidense / Base de bonos |
30E/360 | Eurobono |
30E/360.ISDA | + regla de vencimiento en febrero |
30/360.GERMAN | alias de 30E/360.ISDA |
1/1 | degenerada, por completitud de FpML |
BUS/252 | Brasil B3 / ANBIMA: días hábiles / 252, usando el calendario de feriados ANBIMA incorporado. Exacta a nivel de bit frente a Tesouro Direto LTN / NTN-F |
ACT/ACT.DRMH | Base gubernamental de República Dominicana (Ministerio de Hacienda): días reales / días reales en la ventana de 12 meses que termina en la fecha de pago. Verificada frente a las bases publicadas por el emisor |
3. coupon_type — cómo se calcula el monto del cupón
coupon_type | Cupón por período | Usado para |
|---|---|---|
FIXED (por defecto) | coupon_rate / frequency × outstanding | bonos convencionales de tasa fija (Treasuries, corporativos, Eurobonos) |
ACCRUAL | coupon_rate × yearFraction(day_count) × outstanding | bonos de mercado de dinero y de mercado local cuyo cupón sigue la duración del período |
Ambos coinciden bajo ACT/ACT.ICMA y 30E/360 (un período regular es exactamente 1/f) y
divergen bajo conteos de días reales (ACT/365, ACT/360, ACT/ACT.ISDA). Un
options.coupon_type por cotización anula la configuración del instrumento para análisis de
hipótesis (what-if).
calculation_code — el identificador global
Cada instrumento expone un calculation_code: la unión de sus dos ejes principales,
<day_count>|<rate_type>. Se deriva de la convención, nunca es una entrada que la anule.
ACT/ACT.ISDA|NOMINAL ACT/360|AT_MATURITY 30E/360|EFFECTIVE PRICE_QUANTITY
PRICE_QUANTITY no tiene conteo de días, por lo que su código es simplemente PRICE_QUANTITY.
Matriz de combinación
Los ejes son ortogonales — cualquier rate_type se combina con cualquier 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 |
Reglas de validez: NOMINAL / EFFECTIVE requieren una frequency positiva; AT_MATURITY y
PRICE_QUANTITY fuerzan la frequency a 1; PRICE_QUANTITY no toma day_count; cualquier otra
combinación requiere un day_count válido.
Conteos de días desacoplados (avanzado)
day_count normalmente controla tres cosas a la vez. Cuando un instrumento necesita bases
diferentes por eje, anúlalas individualmente — cada una es opcional y recae en day_count:
| Campo | Eje que controla |
|---|---|
accrual_day_count | interés devengado (cupón corrido) |
coupon_day_count | el monto del cupón ACCRUAL |
discount_day_count | el exponente de tiempo de descuento t (valor presente) |
Por ejemplo, los bonos gubernamentales dominicanos ACT/ACT devengan sobre la base 365/366 del
emisor pero descuentan sobre períodos de mercado/ICMA — modelados como day_count: ACT/ACT.DRMH con
discount_day_count: ACT/ACT.ICMA.
Descubre qué está soportado
curl https://calc.dev.emrgex.com/v1/admin/conventions
Devuelve cada rate_type y day_count con una descripción, además del formato de calculation_code.