...
Информация |
---|
Изменение структуры, скорее всего, отразится на Ваших счетах по умолчанию. Перед конвертацией обязательно проконсультируйтесь в задаче по обновлению, как правильно настроить счета по умолчанию с учетом новой структуры. |
Правила конвертации
- Все сделки Репо должны быть сконвертированы.
- Мультисделки Репо конвертируются как единичные, головная запись удаляется.
- Идентификаторы платежей в бумагах сохраняются, платежи привязываются к модифицированным (конвертированным) сделкам Репо.
- Ноги сделки Репо (сделки Buy/Sell) удаляются, т.е. переводятся в статус -999.
- Вместо чистой стоимости и НКД создается депозитная сделка на основании:
- Параметров головной сделки Репо – ее сроков и направления,
- параметров пар платежей в бумагах – суммарной дисконтированной рыночной стоимости инструментов, входящих в сделку Репо
- депозитная сделка связывается с головной: dp.parent_sec_deal = dec_deal.deal_id.
- Платежи MarginCall в валюте конвертируются в депозит, в бумаге - остаются платежами, привязанными к головной сделке.
- При наличии выплаты дохода внутри сделки должна быть создана сделка - депозит купонных доходов (это касается только купонных платежей, привязанных к сделке Репо. Созданные в контроле погашений купонные платежи затронуты не будут)
- Валюта сделки купонного депозита совпадает с валютой основного депозита
- Сумма сделки равна платежу по купону (погашению / дивиденду), созданному под сделкой
- Если валюта этого платежа не совпадает с валютой основного депозита, для вычисления суммы купонного депозита применяется курс sec_deal.crossrate
- Купонный платеж перестает давить на балансы.
- Комиссии, привязанные к ногам сделки привязываются к голове модифицированной сделки Репо.
- Должна быть произведена сверка сумм выкупа (в старых Репо) против сумм всех депозитов под новой сделкой Репо. Для этого НКД и рыночная цена должны быт записаны в платежах поставки бумаг в поля accrued и market_price соответственно.
Процедура конвертации
- Конвертация производится процедурой PKG_DEAL_REPO.repo_convert_648_period.
- Процедура имеет три параметра: начальная дата, конечная дата и строковый параметр, принимающий значения 'True' или 'False'.
Процедура конвертирует все сделки, дата регистрации которых находится между параметрами процедуры начальная дата и конечная дата. Следует учесть, что дата регистрации сделки содержит время регистрации. Например, для конвертации всех сделок, заключенных 01.01.2010 необходимо запустить процедуру со следующими параметрами:
Блок кода BEGIN PKG_DEAL_REPO.repo_convert_648_period (to_date('01/01/2010','dd/mm/yyyy'), to_date('02/01/2010','dd/mm/yyyy'), 'True'); END;
Сначала обязательно должна быть проведена конвертация сделок за все время с последним параметром 'False'. Это позволит осуществить конвертацию в автономной транзакции, записать все результаты в протокольную таблицу конвертации protocol_repo_convert и откатить все изменения.
Информация После запуска диагностической конвертации или перекомпиляции пакета PKG_DEAL_REPO необходимо переподключиться к сессии, иначе будет ошибка "Невозможно найти вызываемый блок программы"
- После завершения работы процедуры в задачу по обновлению (или отдельную по конвертации) необходимо приложить результат запроса SELECT * FROM protocol_repo_convert WHERE error_text IS NOT NULL;
- Перед массовой конвертацией желательно конвертировать несколько сделок, чтобы посмотреть, как выглядит результат конвертации. Для этого достаточно указать небольшой диапазон дат или при большом объеме сделок в любую дату можно использовать процедуру PKG_DEAL_REPO.repo_convert_648 (:ticket), где ticket - это идентификатор головной сделки. Также можно запустить диагностическую конвертацию в автономной транзакции процедурой PKG_DEAL_REPO.repo_convert_648_diag (:ticket)
Похожие статьи
Содержимое по меткам | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...