Инструменты: каталожные и ad-hoc
emrgex различает каталожные (stored) инструменты и ad-hoc по одному признаку: находится ли облигация уже в каталоге.
| Где определяется | График денежных потоков | Оценка | |
|---|---|---|---|
| Каталожные | в каталоге (по ссылке через id) | сохранён (график эмитента) | пересчитывается при каждом вызове |
| Ad-hoc | встроен в ваш запрос | генерируется из характеристик | пересчитывается при каждом вызове |
В любом случае цены, доходности, дюрации, выпуклость и накопленный купонный доход никогда не сохраняются — они пересчитываются из графика при каждом запросе, в соответствии с конвенцией инструмента.
Поля инструмента
Когда вы определяете ad-hoc инструмент (или просматриваете каталожный), используются следующие поля:
| Поле | Обязательно | Примечания |
|---|---|---|
id | да (ad-hoc) | ваша ссылка на инструмент в запросе |
rate_type | да | NOMINAL / EFFECTIVE / AT_MATURITY / PRICE_QUANTITY |
day_count | да¹ | имя по FpML/ISDA; не используется для PRICE_QUANTITY |
coupon_type | нет | FIXED (по умолчанию) или ACCRUAL |
frequency | да² | купонов в год |
start | да | дата выпуска / начала начисления |
maturity | да | |
coupon_rate | нет | годовой купон в виде десятичной дроби (0.06 = 6%) |
face_value | да | обычно 100 |
unit_nominal | нет | минимальный торгуемый номинал; округляет производный номинал |
eom | нет | перенос на конец месяца (end-of-month) |
ex_div_days | нет | дни экс-дивиденда |
amortizations | нет | массив { date, amount } — см. ниже |
calls | нет | массив { date, price } — делает облигацию отзывной |
¹ Обязательно, кроме случая PRICE_QUANTITY. ² AT_MATURITY / PRICE_QUANTITY принудительно задают frequency равным 1.
Амортизируемые облигации
Добавьте массив amortizations из { date, amount } (погашаемое тело долга по датам). Амортизируемые облигации
котируются по текущему непогашенному номиналу (рыночный стандарт): цены и DV01 масштабируются к
непогашенной доле, тогда как дюрации, выпуклость и доходности инвариантны к масштабу. Переданное
значение amount_value интерпретируется как текущий непогашенный номинал.
Отзывные облигации
Добавьте массив calls из { date, price } (цена погашения на 100 единиц номинала). Когда вы котируете отзывную
облигацию по цене, установите options.yield_worst: true, чтобы дополнительно получить наихудшую доходность (yield-to-worst)
(min из доходности к погашению и каждой доходности к колл-дате). См. Метрики.
Просмотр каталога
# список инструментов (с фильтрами, постранично)
curl "https://calc.dev.emrgex.com/v1/admin/instruments?issuer=Hacienda&limit=20"
Полезные фильтры (все опциональны, объединяются по AND): rate_type, day_count, calculation_code,
currency, issuer (подстрока), name (подстрока), q (поиск по id/nemo/isin/issuer/name),
amortizing, callable, maturity_from / maturity_to, coupon_min / coupon_max, а также
sort, order, limit, offset. limit=0 возвращает только общее количество. См.
справочник по API.