Новость от декабря, 2020

Начат проект внедрения Navigator в Тинькофф Банке.

Если у вас есть вопросы по проекту или вы желаете установить новые модули в вашем Банке, зарегистрируйте заявку на портале hd.softwell.ru.

Весной 2021 года мы планируем отключить запись рыночного курса (цены) в сделку в момент регистрации.





Вместо этого мы предложим расчёт и запись в сделку суммы NPV всех ее потоков

  1. Дисконтированных к текущей дате
    Применяется алгоритм ДисконтированиеДля целей дисконтирования используются ставки кривой, к которой привязан инструмент (валюта номинала) инструмента потока.
  2. Приведенных к валюте NPV (национальной валюте). 


Недостатки текущей реализации

  1. Не может использоваться для IRS, Deposits (fixed / float rate), Repo (fixed / float rate), FxSwap, PreciousSwap
  2. Для продуктов fxForward, fxNDF, equities его работа не прозрачна для различных дат валютирования.


Преимущества новой реализации

Предлагаемый метод реализует контроль рыночности сделок всех продуктов, а не только для fx, equities.

Для целей контроля рыночности будет предложен системный параметр “Максимальное допустимое  отклонение NPV от нуля”.


Новая система оценки рыночности сделок не ограничивается записью NPV в момент регистрации. 

Будет доступен расчет и хранение исторических значений NPV по каждой сделки в течение всего срока ее жизни.

При этом банк будет иметь возможность настройки нескольких моделей расчета NPV со следующими параметрами:

  1. Режим торгов, применяемый для оценки инструмента сделки

  2. Режим торгов, применяемый для приведения NPV инструмента сделки к валюте NPV


Остальные модели могут использоваться опционально для расчета и сохранения исторических NPV по каждой из сделок (оценка по ценам ТСС, курсу Национального банка, иные источники котировок).

Пример детализации NPV


Возможности для других систем

Навигатор может отправлять в бэк офисы новый объект Trade NPV, что может быть полезным для учета ПФИ.

<?xml version = "1.0" encoding="windows-1251"?>
<Pocket>
    <Pocket_ID>5091986</Pocket_ID>
    <Queue_ID>XYZInputQueue</Queue_ID>
    <Act>notifwithdata</Act>
    <NeedReceipt>false</NeedReceipt>
    <Term>standart</Term>
    <DateTime>2020-12-08T10:25:03</DateTime>
    <Publisher>NavXLv5</Publisher>
    <Requester>XYZ </Requester>
    <AdditionalInfo>RSTS6-IUYE1-YUYBN-80</AdditionalInfo>
    <Body_Pocket>
        <Object Name="TRADE_NPV" FullObject="true" actnotif="new">
            <Property Name="ID">48304</Property>
            <Property Name="TICKET">421349</Property>
            <Property Name="EVENTID">13067260</Property>
            <Property Name="NPV_VALUE">10.05</Property>
            <Property Name="NPV_DATE">2020-12-08T00:00:00</Property>
            <Property Name="NPV_CCY">RUB</Property>
            <Property Name="LAST_UPDATE">2020-12-08T10:25:16</Property>
            <Property Name="MODEL_NAME">MOEX:ModelWithSpreads</Property>
            <Property Name="MARKET_DATA_NAME">F3MOEXEXCELMARKETDATA_M</Property>
            <Property Name="MOVE_PAYMENT">0</Property>
            <Property Name="IS_OPTION_EXECUTED">0</Property>
            <Property Name="INSTR_1">RUB</Property>
            <Property Name="INSTR_2">RUB</Property>
            <Property Name="NPV_AMOUNT_1">10.05</Property>
            <Property Name="DF_1">0.988632422089756</Property>
            <Property Name="RATE_1">1.28682</Property>
        </Object>
        <Object Name="TRADE_NPV" FullObject="true" actnotif="new">
            <Property Name="ID">48305</Property>
            <Property Name="TICKET">423976</Property>
            <Property Name="EVENTID">13067261</Property>
            <Property Name="NPV_VALUE">-160</Property>
            <Property Name="NPV_DATE">2020-12-08T00:00:00</Property>
            <Property Name="NPV_CCY">RUB</Property>
            <Property Name="LAST_UPDATE">2020-12-08T10:25:16</Property>
            <Property Name="MODEL_NAME">MOEX:ModelWithSpreads</Property>
            <Property Name="MARKET_DATA_NAME">F3MOEXEXCELMARKETDATA_M</Property>
            <Property Name="MOVE_PAYMENT">0</Property>
            <Property Name="IS_OPTION_EXECUTED">0</Property>
            <Property Name="INSTR_1">RUB</Property>
            <Property Name="INSTR_2">RUB</Property>
            <Property Name="NPV_AMOUNT_1">-160</Property>
            <Property Name="DF_1">1.00625744047619</Property>
            <Property Name="RATE_1">-0.7726</Property>
        </Object>
        <Object Name="TRADE_NPV" FullObject="true" actnotif="new">
            <Property Name="ID">48306</Property>
            <Property Name="TICKET">423371</Property>
            <Property Name="EVENTID">13067262</Property>
            <Property Name="NPV_VALUE">53845.99</Property>
            <Property Name="NPV_DATE">2020-12-08T00:00:00</Property>
            <Property Name="NPV_CCY">RUB</Property>
            <Property Name="LAST_UPDATE">2020-12-08T10:25:16</Property>
            <Property Name="MODEL_NAME">MOEX:ModelWithSpreads</Property>
            <Property Name="MARKET_DATA_NAME">F3MOEXEXCELMARKETDATA_M</Property>
            <Property Name="MOVE_PAYMENT">0</Property>
            <Property Name="IS_OPTION_EXECUTED">0</Property>
            <Property Name="INSTR_1">USD</Property>
            <Property Name="INSTR_2">USD</Property>
            <Property Name="NPV_AMOUNT_1">994.56</Property>
            <Property Name="NPV_AMOUNT_2">-12000</Property>
            <Property Name="DF_1">0.994559963096786</Property>
            <Property Name="DF_2">1</Property>
            <Property Name="RATE_1">1.25422</Property>
            <Property Name="RATE_2">0</Property>
        </Object>
        <Object Name="TRADE_NPV" FullObject="true" actnotif="new">
            <Property Name="ID">48307</Property>
            <Property Name="TICKET">422793</Property>
            <Property Name="EVENTID">13067263</Property>
            <Property Name="NPV_VALUE">1.09</Property>
            <Property Name="NPV_DATE">2020-12-08T00:00:00</Property>
            <Property Name="NPV_CCY">RUB</Property>
            <Property Name="LAST_UPDATE">2020-12-08T10:25:16</Property>
            <Property Name="MODEL_NAME">MOEX:ModelWithSpreads</Property>
            <Property Name="MARKET_DATA_NAME">F3MOEXEXCELMARKETDATA_M</Property>
            <Property Name="MOVE_PAYMENT">0</Property>
            <Property Name="IS_OPTION_EXECUTED">0</Property>
            <Property Name="INSTR_1">RUB</Property>
            <Property Name="INSTR_2">RUB</Property>
            <Property Name="NPV_AMOUNT_1">1.09</Property>
            <Property Name="DF_1">1.15804016447329</Property>
            <Property Name="RATE_1">-97.19169</Property>
        </Object>
        <Object Name="TRADE_NPV" FullObject="true" actnotif="new">
            <Property Name="ID">48308</Property>
            <Property Name="TICKET">424096</Property>
            <Property Name="EVENTID">13067264</Property>
            <Property Name="NPV_VALUE">-10918681.2</Property>
            <Property Name="NPV_DATE">2020-12-08T00:00:00</Property>
            <Property Name="NPV_CCY">RUB</Property>
            <Property Name="LAST_UPDATE">2020-12-08T10:25:16</Property>
            <Property Name="MODEL_NAME">MOEX:ModelWithSpreads</Property>
            <Property Name="MARKET_DATA_NAME">F3MOEXEXCELMARKETDATA_M</Property>
            <Property Name="MOVE_PAYMENT">0</Property>
            <Property Name="IS_OPTION_EXECUTED">0</Property>
            <Property Name="INSTR_1">USD</Property>
            <Property Name="INSTR_2">RUB</Property>
            <Property Name="NPV_AMOUNT_1">1995987.16</Property>
            <Property Name="NPV_AMOUNT_2">-143065300.17</Property>
            <Property Name="DF_1">0.99799358047948</Property>
            <Property Name="DF_2">0.990071281485923</Property>
            <Property Name="RATE_1">1.16736</Property>
            <Property Name="RATE_2">5.91</Property>
        </Object>
    </Body_Pocket>
</Pocket>



Имя

Название

Описание

ACTTYPE
VARCHAR2 (16)
Тип событияТип события
  • CREATE,
  • MODIFY,
  • DELETE
DF_1
NUMBER
Дисконт фактор 1Дисконт фактор, примененный для суммы 1 инструмента сделки
DF_2
NUMBER
Дисконт фактор 2Дисконт фактор, примененный для суммы 2 инструмента сделки
EVENTID
NUMBER
ID последнего изменения записиИдентификатор последнего изменения записи
ID
NUMBER
ID оценкиID оценки
INSTR_1
VARCHAR2 (130)
Финансовый инструмент 1 сделкиФинансовый инструмент 1 сделки
INSTR_2
VARCHAR2 (130)
Финансовый инструмент 2 сделкиФинансовый инструмент 2 сделки
IS_OPTION_EXECUTED
NUMBER
Сделка, является результатом исполнения опционаПризнак того, что NPV рассчитано для сделки, являющейся результатом исполнения опциона. Возможные значения
  • 1: да, для результата исполнения или
  • 0: нет, обычная сделка
LAST_UPDATE
DATE
Дата и время последнего обновления значения NPVДата и время последнего обновления значения NPV
MARKET_DATA_NAME
VARCHAR2 (250)
Название отчета с рыночными даннымиНазвание отчета с рыночными данными, по которым осуществляется оценка
MODEL_NAME
VARCHAR2 (250)
Название моделиНазвание модели, по которой осуществляется оценка
MOVE_PAYMENT
NUMBER
Учитывать платежи текущего дняФлаг необходимости учитывать сегодняшние платежи. Возможные значения
  • 1: учитывать или
  • 0: не учитывать
NPV_AMOUNT_1
NUMBER
NPV суммы 1 инструмента сделкиNPV суммы 1 инструмента сделки
NPV_AMOUNT_2
NUMBER
NPV суммы 2 инструмента сделкиNPV суммы 2 инструмента сделки
NPV_CCY
VARCHAR2 (130)
Валюта, в которой выражена сохраненная величина NPVВалюта, в которой выражена сохраненная величина NPV
NPV_DATE
DATE
Дата, на которую сохранено значение NPVДата, на которую сохранено значение NPV
NPV_VALUE
NUMBER
Величина NPVВеличина NPV, сформированная из дисконтированных денежных потоков сделки, приведенных к валюте расчета
PAIR_TICKET
NUMBER
Парный тикет для межпортфельных сделокПарный тикет для межпортфельных сделок
RATE_1
NUMBER
Процентная ставка 1Процентная ставка, используемая для дисконтирования суммы 1 инструмента сделки
RATE_2
NUMBER
Процентная ставка 2Процентная ставка, используемая для дисконтирования суммы 2 инструмента сделки
TICKET
NUMBER
Тикет (уникальный ID сделки в Navigator)Тикет (уникальный ID сделки в Navigator)





Если вы используете рыночный курс сделки в отчете и новый метод не позволяет вам выполнить имеющиеся бизнес задачи, просим сообщить,

  1. в каких бизнес-процессах вы используете этот курс
  2. почему новый метод не позволяет решить ваши задачи.


Ответы вы можете оставить в комментариях к посту.

Комментарии увидят все зарегистрированные пользователи.

Добрый день!

Выпущена нота 2 к патчу 6 релиза 6.4.13. Необходимо ее накатить после обновления версии Navigator и наката ноты 1.

Нота содержит решения для работы с платежной позицией:

  • при загрузке документов МЦИ / SWIFT остаток устанавливается фактический (если активна настройка автоматической установки остатка по счету)
  • скорректирована логика кнопки Установить остаток и закрыть день в модуле Документы в приложении rn_swift.exe — берется исходящий остаток документа SWIFT (ранее для установки остатка по счету по данной кнопке брался входящий остаток).
  • при загрузке документов SWIFT MT940 / MT950 входящий остаток берется только из тега 60F, то есть только из итогового документа.
  • В  модулях Платежи и Счета добавлены столбцы:
    • Плановый входящий
    • Фактический входящий
    • Прогнозный входящий
    По умолчанию эти столбцы скрыты, их нужно отобразить через настройки колонок отчета.




CORRECTED



Начиная релиза 6.4.13.7 расчет позиции по ценным бумагам по дате поставки будет отключен.

Отчет Позиция — отчет трейдера, в нем рассчитывается рыночный риск по позиции на дату отчета — с учетом всех сделок, принятых в позицию, независимо от даты платежа: сегодня или послезавтра.
Расчет же по дате поставке — это другая область, бэк офиса, для которой цена приобретения бумаг в стеке не релевантна цели запроса. Включение этого параметра в отчет было нашей ошибкой, вызванной нашим понимаем задачи на момент создания отчета (лет 15 назад). 
Поэтому, в релизе 6.4.13.7 этот параметр будет изъят.


Также будет изъят параметр Включая Репо. При расчете позиции по дате заключения сделок сделки Репо не оказывают влияние на Позиции по инструменту.

Для целей просмотра баланса по бумагам просим использовать отчет Балансы.


Весной 2021 года мы планируем отключить расчет позиции по ценным бумагам по дате поставки.

Причина:

Отчет Позиция — отчет трейдера, в нем рассчитывается рыночный риск по позиции на дату отчета — с учетом всех сделок, принятых в позицию, независимо от даты платежа: сегодня или послезавтра.
Расчет же по дате поставке — это другая область, бэк офиса, для которой цена приобретения бумаг в стеке не релевантна цели запроса.

Включение этого параметра в отчет было нашей ошибкой, вызванной нашим понимаем задачи на момент создания отчета (лет 15 назад). 

Также будет изъят параметр Включая Репо. При расчете позиции по дате заключения сделок сделки Репо не оказывают влияние на Позиции по инструменту.

Для целей просмотра баланса по бумагам просим использовать отчет Балансы.



Если вы используете отчет с построением стека бумаг По дате поставки, включая / исключая Репо, просим сообщить,

  1. в каких бизнес-процессах вы используете отчет
  2. какие данные отчета вы используете

Ответы вы можете оставить в комментариях к посту.


Комментарии увидят все зарегистрированные пользователи.