Перейти к основному содержимому

Соглашения

Расчёт в emrgex определяется тремя независимыми, общепризнанными осями — никаких проприетарных кодов здесь нет. Вы выбираете способ начисления (компаундирование), правило подсчёта дней и формулу купона независимо друг от друга, каждый раз — по имени, которое опознает любой участник рынка.

1. rate_type — база компаундирования / котирования

Как доходность компаундируется при дисконтировании.

rate_typeЗначениеДисконтирование
NOMINALноминальная ставка, компаундируемая frequency×/год (рыночная YTM)(1 + y/f)^(-f·t)
EFFECTIVEэффективная годовая ставка(1 + y)^(-t)
AT_MATURITYпростой денежно-рыночный дисконт (краткосрочные облигации / Letras)1 / (1 + y·t)
PRICE_QUANTITYпрямая передача стоимости акции / СЧА фонда: стоимость = цена × количество (без дисконтирования; без day_count)

2. day_count — соглашение о доле года (FpML / ISDA)

Как измеряется время, по таксономии FpML / ISDA 2006 §4.16.

НазваниеПримечания
ACT/ACT.ISDAISDA §4.16(b), с разбиением на границе года
ACT/ACT.ICMAISDA §4.16(c) / Правило ICMA 251; регулярный период сворачивается в 1/f
ACT/ACT.ISMAсиноним ICMA
ACT/ACT.AFBAFB 1994
ACT/360денежный рынок
ACT/365.FIXED
ACT/365Lзнаменатель с учётом високосного года
ACT/364
30/360US / Bond Basis
30E/360Eurobond
30E/360.ISDA+ правило для февральского погашения
30/360.GERMANсиноним 30E/360.ISDA
1/1вырожденное, для полноты FpML
BUS/252Бразилия B3 / ANBIMA: рабочие дни / 252, с использованием встроенного календаря праздников ANBIMA. Бит-в-бит совпадает с Tesouro Direto LTN / NTN-F
ACT/ACT.DRMHбаза государственных бумаг Доминиканской Республики (Ministerio de Hacienda): фактические дни / фактические дни в 12-месячном окне, заканчивающемся датой платежа. Сверено с опубликованными базами эмитента

3. coupon_type — как рассчитывается сумма купона

coupon_typeКупон за периодПрименяется для
FIXED (по умолчанию)coupon_rate / frequency × outstandingклассических облигаций с фиксированной ставкой (казначейские, корпоративные, еврооблигации)
ACCRUALcoupon_rate × yearFraction(day_count) × outstandingденежно-рыночных и локальных облигаций, чей купон следует длине периода

Оба варианта совпадают при ACT/ACT.ICMA и 30E/360 (регулярный период в точности равен 1/f) и расходятся при базах с фактическим подсчётом дней (ACT/365, ACT/360, ACT/ACT.ISDA). Параметр options.coupon_type на уровне отдельного запроса переопределяет настройку инструмента для сценарного («что если») анализа.

calculation_code — глобальный идентификатор

Каждый инструмент предоставляет calculation_code: соединение двух его главных осей, <day_count>|<rate_type>. Он выводится из соглашения и никогда не является входным параметром, который его переопределяет.

ACT/ACT.ISDA|NOMINAL ACT/360|AT_MATURITY 30E/360|EFFECTIVE PRICE_QUANTITY

У PRICE_QUANTITY нет правила подсчёта дней, поэтому его код — просто PRICE_QUANTITY.

Матрица комбинаций

Оси ортогональны — любой rate_type сочетается с любым day_count:

rate_typeday_countcalculation_code
NOMINALACT/ACT.ICMAACT/ACT.ICMA|NOMINAL
NOMINAL30E/36030E/360|NOMINAL
EFFECTIVEACT/365.FIXEDACT/365.FIXED|EFFECTIVE
AT_MATURITYACT/360ACT/360|AT_MATURITY

Правила допустимости: NOMINAL / EFFECTIVE требуют положительной frequency; AT_MATURITY и PRICE_QUANTITY принудительно устанавливают frequency равной 1; PRICE_QUANTITY не принимает day_count; любая другая комбинация требует корректного day_count.

Развязанные правила подсчёта дней (для продвинутых)

day_count обычно задаёт сразу три вещи. Когда инструменту нужны разные базы по разным осям, переопределите их по отдельности — каждое поле необязательно и при отсутствии откатывается к day_count:

ПолеОсь, которой оно управляет
accrual_day_countнакопленный купонный доход (coupon corrido)
coupon_day_countсумма купона при ACCRUAL
discount_day_countпоказатель степени времени дисконтирования t (приведённая стоимость)

Например, доминиканские государственные облигации ACT/ACT начисляют накопленный доход по базе эмитента 365/366, но дисконтируют по рыночным / ICMA периодам — это моделируется как day_count: ACT/ACT.DRMH с discount_day_count: ACT/ACT.ICMA.

Узнайте, что поддерживается

curl https://calc.dev.emrgex.com/v1/admin/conventions

Возвращает каждый rate_type и day_count с описанием, а также формат calculation_code.