Instrumentos: almacenados vs ad-hoc
emrgex distingue los instrumentos almacenados de los ad-hoc por una sola cosa: si el bono ya está en el catálogo.
| Dónde se define | Calendario de flujos | Valoración | |
|---|---|---|---|
| Almacenado | en el catálogo (referenciado por id) | persistido (el calendario del emisor) | recalculado en cada llamada |
| Ad-hoc | en línea dentro de tu solicitud | generado a partir de las características | recalculado en cada llamada |
En cualquiera de los dos casos, los precios, rendimientos, duraciones, convexidad y devengado nunca se almacenan: se recalculan a partir del calendario en cada solicitud, según la convención del instrumento.
Campos del instrumento
Cuando defines un instrumento ad-hoc (o inspeccionas uno almacenado), estos son los campos:
| Campo | Requerido | Notas |
|---|---|---|
id | sí (ad-hoc) | tu referencia para el instrumento en la solicitud |
rate_type | sí | NOMINAL / EFFECTIVE / AT_MATURITY / PRICE_QUANTITY |
day_count | sí¹ | nombre FpML/ISDA; no se usa para PRICE_QUANTITY |
coupon_type | no | FIXED (por defecto) o ACCRUAL |
frequency | sí² | cupones por año |
start | sí | fecha de emisión / primer devengo |
maturity | sí | |
coupon_rate | no | cupón anual como decimal (0.06 = 6%) |
face_value | sí | usualmente 100 |
unit_nominal | no | denominación mínima negociable; redondea un nominal derivado |
eom | no | ajuste de fin de mes |
ex_div_days | no | días ex-dividendo |
amortizations | no | arreglo de { date, amount } — ver abajo |
calls | no | arreglo de { date, price } — hace que el bono sea rescatable |
¹ Requerido excepto para PRICE_QUANTITY. ² AT_MATURITY / PRICE_QUANTITY fuerzan frequency a 1.
Bonos amortizables
Agrega un arreglo amortizations de { date, amount } (principal amortizado por fecha). Los bonos
amortizables se cotizan sobre el nominal vigente actual (el estándar de mercado): los precios y el
DV01 escalan a la fracción vigente, mientras que las duraciones, la convexidad y los rendimientos son
invariantes a la escala. Un amount_value suministrado se interpreta como el nominal vigente
actual.
Bonos rescatables
Agrega un arreglo calls de { date, price } (precio de rescate por cada 100 de nominal). Cuando
cotizas un bono rescatable por precio, configura options.yield_worst: true para recibir también el
yield-to-worst (el min entre el yield-to-maturity y cada yield-to-call). Ver Métricas.
Explorar el catálogo almacenado
# list instruments (filterable, paginated)
curl "https://calc.dev.emrgex.com/v1/admin/instruments?issuer=Hacienda&limit=20"
Filtros útiles (todos opcionales, combinados con AND): rate_type, day_count, calculation_code,
currency, issuer (subcadena), name (subcadena), q (busca en id/nemo/isin/issuer/name),
amortizing, callable, maturity_from / maturity_to, coupon_min / coupon_max, además de
sort, order, limit, offset. limit=0 devuelve solo el conteo total. Ver la
referencia de la API.