Saltar al contenido principal

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 defineCalendario de flujosValoración
Almacenadoen el catálogo (referenciado por id)persistido (el calendario del emisor)recalculado en cada llamada
Ad-hocen línea dentro de tu solicitudgenerado a partir de las característicasrecalculado 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:

CampoRequeridoNotas
idsí (ad-hoc)tu referencia para el instrumento en la solicitud
rate_typeNOMINAL / EFFECTIVE / AT_MATURITY / PRICE_QUANTITY
day_countsí¹nombre FpML/ISDA; no se usa para PRICE_QUANTITY
coupon_typenoFIXED (por defecto) o ACCRUAL
frequencysí²cupones por año
startfecha de emisión / primer devengo
maturity
coupon_ratenocupón anual como decimal (0.06 = 6%)
face_valueusualmente 100
unit_nominalnodenominación mínima negociable; redondea un nominal derivado
eomnoajuste de fin de mes
ex_div_daysnodías ex-dividendo
amortizationsnoarreglo de { date, amount } — ver abajo
callsnoarreglo 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.