Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Следующий »

Структура параметров сделки РЕПО

Прежде, чем настраивать загрузку, разберёмся, какие данные содержит сделка РЕПО и что они означают.

Финансовая составляющая сделки РЕПО описывается следующими величинами:

  1. Количество бумаг, участвующих в сделке
  2. Дата открытия и дата завершения сделки
  3. Сумма сделки и сумма выкупа — полная сумма по первой и по второй части сделки соответственно
  4. Получатель купонных выплат — если во время сделки происходит выплата купонов или амортизаций по бумагам

Кроме этих основных параметров, по каждой части сделки, как это принято для сделок с ценными бумагами, рассчитываются:

  • НКД — на основании даты, количества бумаг и традиций расчёта НКД для данного финансового инструмента
  • Чистая стоимость = полная стоимость - НКД
  • Цена — рассчитывается из чистой стоимости, количества бумаг и курса сделки (если валюта сделки отличается от той, в которой номинированы бумаги)

Также широко используются следующие величины, характеризующие сделку в целом:

  • Ставка — связывает первую и вторую части РЕПО
  • Уровень обеспечения — отношение суммы сделки к рыночной стоимости бумаг, которые в ней участвуют

С более полным описанием этих и других параметров сделки РЕПО можно ознакомиться в статье Сделки:РЕПО

Обычно, при загрузке сделки из внешней системы, пользователь преследует такие цели:

  • Данные в Навигаторе о параметрах сделки должны отображаться такие же, как и во внешней системе — чтобы всё было красиво
  • Загруженная сделка должна иметь корректный экономический смысл с точки зрения внутренней логики Навигатора — чтобы можно было пользоваться отчётами и производить досрочные погашения

К сожалению, добиться выполнения обоих пунктов не всегда просто.

Несмотря на то, что за описанными параметрами всегда стоят одни и те же идеи, реализация этих идей в различных системах существенно отличается. Поэтому для правильной загрузки нужно в Навигаторе корректно настроить параметры загрузки и глобальные параметры, которые используются в расчётах.

Как это сделать — описано в следующем разделе.

Настройка параметров загрузки

В этом параграфе описаны моменты, на которые стоит обратить внимание именно при загрузке сделок РЕПО. Как настроить параметры загрузки, общие для РЕПО и для обычных сделок с ценными бумагами, можно прочитать в статье Директивы и по указанным там ссылкам.

Справочник инструментов

В расчетах по сделке используются сведения о финансовом инструменте, которые считаются общеизвестными. Если в Навигаторе инструмент настроен некорректно, то возможны ошибки, как при загрузке, так и в работе отчетов.

Особенно рекомендуем обратить внимание на настройки купонов и расчет НКД. Сумма НКД, рассчитанная биржей, должна совпадать с НКД, который рассчитывает Навигатор.

Валюта сделки

В большинстве случаев данные с биржи указания на валюту не содержат, и сделка загружается с валютой, в которой номинирована бумага. Чтобы проверить, есть ли такие данные для конкретной сделки, можно посмотреть, заполнено ли в SEC_BROKER_DEALS поле PAYMENT_CURRENCY.

Если поле не заполнено, а валюта сделки отличается от валюты номинала — например, для сделок секции внебиржевого РЕПО с еврооблигациями на ММВБ — нужно установить валюту в cправочнике кодов для соответствующего кода. Приоритеты при определении валюты такие: сначала анализируется поле из сделки, потом поле из кода, а если и оно не заполнено — подставляется валюта номинала инструмента.

Для корректного расчёта цены в сделках с валютой, отличной от валюты номинала инструмента, нужен правильный курс сделки (в SEC_BROKER_DEALS поле PRICE_RATE). Обычно, данные о курсе не передаются — в этом случае подставляется курс Национального Банка на дату сделки.

Получатель купонов

В Навигаторе сделки РЕПО всегда загружаются с параметрами: "получатель купонов = покупатель", "инвестировать купоны", так как все биржевые сделки производятся на этих условиях. Кроме того, в Навигаторе — так же, как, например, в Bloomberg — сумма выкупа сразу рассчитывается с учётом выплаты купонов эмитентом.

Такая логика расчётов конфликтует с логикой ММВБ, которая в момент заключения рассчитывает параметры сделки без учёта купонных выплат (т. е. расчёт: получатель купонов — продавец) и производит пересчёт в момент выплаты от эмитента. Поэтому, если загрузить с ММВБ без изменений все параметры сделки, внутри которой производится купонная выплата, сделка окажется неправильной с точки зрения внутренней логики Навигатора.

Для того чтобы не приходилось править сделки вручную, можно включить системный параметр SEC_REPO_MICEX_RECALC. Тогда для сделок с купонными выплатами данные от ММВБ по второй части будут игнорироваться. Вместо этого расчёт всех параметров выкупа будет производиться в Навигаторе.

Как получатель купонов относится к расчётам по сделке можно узнать из статьи Пример расчёта параметров сделки РЕПО.

Точность цены и пересчёт суммы

По внутренней логике Навигатора: Параметры "сумма", "чистая стоимость", "цена" и "точность" всегда связаны соотношениями:

  1. Сумма = НКД + чистая стоимость
  2. Чистая стоимость = цена * количество бумаг * номинал ( * курс)
  3. Цена округляется до точности, которая указывается в сделке.

Эта логика одинакова и при заведении сделки в интерфейсе, и при загрузке. Подробное описание того, как это работает на практике, можно посмотреть в статье Пример расчёта параметров сделки РЕПО.

В большинстве случаев данные от биржи согласуются с этими соотношениями при корректной точности цены. Но, например для режима торгов ММВБ «РЕПО с Банком России», второе соотношение иногда нарушается, а для секции «Внебиржевое РЕПО» часть данных отсутствует. При загрузке сделок с этих секций все параметры будут пересчитаны в соответствии с логикой Навигатора, данные о цене и чистой стоимости могут расходиться с данными от биржи.

В любом случае, для корректной загрузки сделки нужно, чтобы в сделку проставлялась правильная точность цены. Она определяется настройками режима торгов. Если признак Округлять цены в сделках отключен, то при загрузке будет проставляться максимальная точность (18 знаков). Если же признак Округлять цены в сделках включен, точность цены определяется из соответствующего поля справочника инструментов для каждой бумаги отдельно (по умолчанию подставляется точность 6).

Рекомендуемые настройки

  • Для всех облигаций, которые торгуются на Московской Бирже, указать Точность цены = 4.
  • Для каждой акции установить принятую на ММВБ точность цены по этой акции.
  • Для секций ММВБ «РЕПО с облигациями», «РЕПО с акциями» и пр., по которым производится пересчёт суммы сделки из округлённой цены, установить признак Округлять цены в сделках = True.
  • Для Bloomberg и секций ММВБ «РЕПО с Банком России» и «Внебиржевое РЕПО» установить признак Округлять цены в сделках = False (не округлять, все параметры пересчитываются из суммы).
  • Для режимов торгов Московской Биржи со сделками РЕПО с Центральным Контрагентом следует снимать признак Округлять цены в сделках.

Диагностика ошибок

Не удаётся настроить загрузку сделок с режимов торгов «РЕПО с Банком России» и «Внебиржевое РЕПО»

  • Проверяем версию приложения:
    • Для загрузки из системы Quik нужна 6.4.0 патч 6 (и выше);
    • В остальных случаях — загрузка через схему KIP — нужна 6.4.0 патч 7, плюс адаптер NavXL 5.11.10 (и выше).
  • Проверяем, что при загрузке сделок в таблице resman.sec_broker_deals корректно заполняется поле TRADE_VALUE_FULL - полная сумма по первой части сделки. При загрузке из Quik для этого требуется настроить передачу соответствующего параметра в поле quik.trades.TRADE_VALUE_FULL. При загрузке из KIP поле должно заполняться автоматически значением из kip.store_deals.REPOVALUE.
  • Проверяем, что для соответствующего режима торгов снят признак "Округлять цены в сделках".
  • В кодах устанавливаем валюту цены и валюту платежа RUB.
  • После этого, при корректном справочнике инструментов, сделки должны загружаться правильно.

Параметр передаётся, но при загрузке некорректно пересчитывается

  • Проверяем, что в sec_broker_deals параметр передаётся корректно
  • Определяем, чем был вызван пересчёт.
  • Если производится пересчёт цены из стоимости - проверяем, что точность цены указана достаточная, текущий номинал инструмента и валюта сделки определяются корректно.
  • Если включен параметр SEC_REPO_MICEX_RECALC и пересчёт вызван выплатой купона на периоде сделки - тогда параметры по второй части будут отличаться от данных биржи. Смотрим расчёт в статье Пример расчёта параметров сделки РЕПО
  • В случае обнаружения ошибки в расчётах, проверяем корректность всех параметров первой части, указанную в сделке точность цены, данные по инструменту из справочника.
  • Нет меток