Начало работы
Базовый URL и соглашения
| Базовый URL | https://calc.dev.emrgex.com |
| Префикс | каждый эндпоинт находится под /v1 |
| Ставки и доходности | десятичные дроби — 0.06 означает 6% |
| Цены | на 100 единиц номинала |
| Даты | ISO YYYY-MM-DD |
| Тип содержимого | application/json |
Ваш первый запрос
Рассчитайте сохранённый инструмент — сошлитесь на него по instrument_id и укажите доходность:
curl -s https://calc.dev.emrgex.com/v1/quotes \
-H 'content-type: application/json' \
-d '{
"quotes": [
{ "instrument_id": "MH12034", "input_kind": "yield", "input_value": 0.10,
"settlement_date": "2026-06-09", "options": { "round": 6 } }
]
}'
Ответ представляет собой пакетную обёртку (batch envelope) — по одной записи на каждую котировку, каждая со своим собственным status:
{
"data": [
{
"index": 0,
"id": "MH12034",
"status": "ok",
"data": {
"instrument_id": "MH12034",
"convention": "NOMINAL · ACT/ACT.DRMH",
"calculation_code": "ACT/ACT.DRMH|NOMINAL",
"metrics": {
"yield": 0.1,
"dirty_price": 112.547645,
"clean_price": 107.853124,
"accrued_interest": 4.694521,
"modified_duration": 5.12,
"convexity": 33.7,
"dv01": 0.0576
}
}
}
]
}
Расчёт по цене вместо доходности
Установите input_kind в clean_price или dirty_price, и emrgex подберёт доходность за вас:
{ "instrument_id": "MH12034", "input_kind": "clean_price", "input_value": 107.85,
"settlement_date": "2026-06-09", "options": { "round": 6 } }
Определите собственную облигацию (ad-hoc)
Поместите инструмент непосредственно в instruments, затем сошлитесь на его id из quotes:
curl -s https://calc.dev.emrgex.com/v1/quotes \
-H 'content-type: application/json' \
-d '{
"instruments": [
{ "id": "B1", "rate_type": "NOMINAL", "day_count": "ACT/ACT.ICMA",
"coupon_type": "FIXED", "frequency": 2,
"start": "2020-01-15", "maturity": "2030-01-15",
"coupon_rate": 0.06, "face_value": 100 }
],
"quotes": [
{ "instrument_id": "B1", "input_kind": "clean_price", "input_value": 95.5,
"settlement_date": "2024-06-18", "options": { "round": 6 } }
]
}'
Добавьте объём сделки
Укажите amount, чтобы получить денежные показатели (суммы расчётов) наряду с ценами на 100 единиц номинала:
{ "instrument_id": "MH12034", "input_kind": "yield", "input_value": 0.10,
"amount_kind": "nominal", "amount_value": 1000000,
"settlement_date": "2026-06-09", "options": { "round": 6 } }
Проверка работоспособности
curl https://calc.dev.emrgex.com/v1/health/livez
# {"status":"alive"}
:::tip Performance
Для массового расчёта отправляйте множество котировок в одном запросе /v1/quotes (пакет). Оставляйте
with_cashflows выключенным, если вам не нужен график платежей по каждой облигации — это делает ответы значительно меньше
и быстрее.
:::
:::note Authentication Сервис разработки в настоящее время открыт (без API-ключа). В производственных развёртываниях можно включить подпись запросов по HMAC. :::