Описание сервиса.

Требования

Доступ до RuTerminal.FIX

Доступ до API FIX ТКС. 

Описание

Предназначен для отправки сделок в Торгово-клиринговую систему 

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

  • Статусы заявок по результатам мэтчинга в ТКС
Отправка документов 
  • FX
  • FxSwap

Файлы

Решение предоставлено в виде FIX клиента: rtClearing

Актуальная версия7.2

Общий алгоритм отправки сделок в клиринговую организацию

  1. Банком регистрируется сделка, с установленным Клиринговым Центром на форме создания сделки в руТерминале.
  2. В сети банка установлен и активен сервис RTClearing, который в режиме drop&copy получает сделку с сервера РуТерминала. 
  3. Сервис отправки сделок на клиринг, согласно схеме соответствия: Список бизнес-партнеров и инструментов для отправки сделок на клиринг. RuTerminal производит отправку заявки на клиринг с кодом организации и кодом инструмента в ТКС на указанный торговый счет.
  4. В результате торгового дня система возвращает статус заявки в ruTerminal. 

Порядок установки

  1. Рекомендуется ознакомиться с описанием readme - технической реализации сервиса(для разработчиков). 
  2. Собрать проект.(По запросу Softwell может сформировать сборку сервиса в виде готового решения)
  3. Перейти к настройкам сервиса. 
  4. Произвести запуск сервиса помощью исполняющего приложения: SoftWell.RtClearing.WorkerHost.exe (Поддерживает работу в режиме службы)

Порядок настройки конфигурационных файлов сервиса

  1. В публикуемом решении в папке fix-config имеется два каталога, настройка осуществляется  согласно описанию: 1. RuTerminal.FIX Configuration 
    1. Каталог с настройками до подключения к RuTerminal.FIX предоставлен в каталоге fix-configs/rt - в нем указываются настройки до подключения к серверу РуТерминал, достаточно заполнить поля SenderCompId, TargetCompID, Password и указать действительное подключение, которое задается настройками SocketConnectPort, SocketConnectHost,  данные настройки доступа до RTFIX запрашиваются у Softwell.  

      RTFIX-SessionSettings
      [DEFAULT]
      FileStorePath=fix-stores/Rt
      FileLogPath=logs/fix/Rt
      ConnectionType=initiator
      ReconnectInterval=1
      BeginString=FIXT.1.1
      DefaultApplVerID=FIX.5.0SP2
      SocketConnectPort=PORT_HIHICLUB
      SocketConnectHost=HOST_HIHICLUB
      SocketReuseAddress=Y
      AppDataDictionary=fix-configs/Rt/FIXRTv1.xml
      TransportDataDictionary=fix-configs/Rt/FIXT11.xml
      ValidateFieldsOutOfOrder=Y
      ValidateFieldsHaveValues=Y
      ValidateLengthAndChecksum=N
      ValidateUserDefinedFields=Y
      AllowUnknownMsgFields=Y
      StartTime=00:00:00
      EndTime=23:59:00
      HeartBtInt=30
      SendRedundantResendRequests=Y
      IgnorePossDupResendRequests=N
      PersistMessages=Y
      
      [SESSION]
      TargetCompID=HIHICLUB
      ResetOnLogon=Y
      SenderCompID=YOUR_LOGIN
      Password=YOUR_PASSWORD
    2. Каталог с настройками до подключения до FIX-ого сервера ТКС.  Например, для клиринговой организации "MOEX"  настройки предоставлены ниже и аналогичны подпункту a, только для FIX-сессии с ТКС. Данные настройки доступа предоставляет Московская Биржа. 

      MoexFIX-SessionSettings
      [DEFAULT]
      FileStorePath=fix-stores/Moex/{PartyName}
      FileLogPath=logs/fix/Moex/{PartyName}
      ConnectionType=initiator
      ReconnectInterval=5
      BeginString=FIXT.1.1
      DefaultApplVerID=FIX.5.0SP2
      SocketConnectPort=moex_port
      SocketConnectHost=moex_host
      SocketReuseAddress=Y
      AppDataDictionary=fix-configs/Moex/FIX50SP2_MOEX.xml
      TransportDataDictionary=fix-configs/Moex/FIXT11_MOEX.xml
      UseDataDictionary=Y
      ValidateFieldsOutOfOrder=Y
      ValidateFieldsHaveValues=Y
      ValidateLengthAndChecksum=N
      ValidateUserDefinedFields=Y
      AllowUnknownMsgFields=Y
      StartTime=00:00:00
      EndTime=23:59:00
      HeartBtInt=30
      SendRedundantResendRequests=Y
      IgnorePossDupResendRequests=N
      PersistMessages=Y
      
      [SESSION]
      SenderCompID=COUNTERPATY_LOGIN
      Password=YOUR_MOEX_PASSWORD
      TargetCompID=MFIXOTCId
      ResetOnLogon=Y
      SendLogoutBeforeDisconnectFromTimeout=Y
      SocketSendTimeout=5000
      SocketReceiveTimeout=5000
  2. Торговый счет организации для  клирингового центра указывается отдельно в конфигурационном файле appsettings  в формате json, в нем указывается торговый счет организации расчетного центра.  Пример: 

    Пример настройки торгового счета организации
    {
        "Moex": {
            "AccountId": "MB00171CURR0"
        }
    }
  3. Схема соответствия кодов RuTerminal и ТКС осуществляется в csv формате и представлена для загрузки на странице Список бизнес-партнеров и инструментов для отправки сделок на клиринг. RuTerminal. Вы можете самостоятельно настраивать схему соответствия для необходимых инструментов и партнеров. Список инструментов ruTerminal представлен на страницах продуктов Fx и FxSwap

Пример и описание схемы соответствия: 

SourceScheme - схема РуТерминалаSourceCodeValue - значение кода в руТерминалеTargetScheme - Схема ТКСTargetCodeValue - Значение кода организации в ТКС
# PARTIES - блок маппинга контрагентов

https://hihiclub.ru/coding-schemes/partnerBANK_NAMEhttp://www.moex.com/rms/coding-scheme/customerMB9049200000
# PRODUCTS - блок маппинга продуктов
# USD-RUB

https://hihiclub.ru/coding-schemes/instrument-idFX-USD-RUB-TODAYhttp://www.moex.com/spfi/coding-scheme/instrument-idUSD_RUB_TOD
# EUR-RUB
https://hihiclub.ru/coding-schemes/instrument-idFX-EUR-RUB-TODAYhttp://www.moex.com/spfi/coding-scheme/instrument-idEUR_RUB _TOD

Описание конфигурационных файлов

1. appsettings.json - включает в себя настройку логирования и настройку кода торгового счета  клиринговой организации.

Данная настройка необходима только для клиента Московской Биржи.

ПараметрРодительский параметрОписание Пример
MOEXСекция настройки MOEX
AccountIdMOEX

Код торгового счета владельца подключения

На указанный счет будут регистрировать заявки поступающие из ruTerminal

MB00172CURR1

UseMatchRef  MOEX

Метчинг через кодовое слово

  • None - параметр не задан. Метчинг через кодовое слово отключен. Значение по умолчанию  
  • Comment - Метчинг через кодовое слово включен. В качестве значения для Кодового слова используется комментарий из Trade Capture

Comment

2. SessionsSettings - описание параметров FIX сессии:  QuickFix Configuration

Указанные ниже настройки актуальны как для клиента Московской Биржи, так и для клиента RuTerminal.FIX

Основные параметры для заполнения:

ПараметрОписаниеПример
[DEFAULT]

FileStorePath

Каталог для хранения файлов порядковых номеров и сообщений. Используется только с FileStoreFactory.store

FileLogPath

Путь до сохранения логов FIX сессии. 

logs


ConnectionType

Определяет, будет ли сеанс выступать в качестве принимающего или инициирующего

initiator

ReconnectInterval

Время между попытками повторного подключения в секундах. Используется только для инициаторов

100

BeginString

Версия FIX клиента

FIXT.1.1

DefaultApplVerID

Версия FIX клиента по умолчаниюFIX.5.0SP2

SocketConnectPort

Порт до сервера SPFI
9821

SocketConnectHost

IP до сервера SPFI91.218.232.67

AppDataDictionary

Словарь используемого фикс протоколаFIX50SP2.xml

TransportDataDictionary

Словарь входящих фикс сообщенийFIXT11.xml

UseDataDictionary

Отправка словаря данныхY

StartTime

Начало FIX сессии00:00:00

EndTime

Окончание FIX сессии23:59:00

HeartBtInt

Интервал отправки биений на сервер в секундах30

ResetOnLogon

Определяет, следует ли сбрасывать порядковые номера перед отправкой/получением запроса на вход.Y
[SESSION]
SenderCompIDФирма банка от лица которой будет осуществлено подключениеBANK
TargetCompIDФирма контрагента к которой будет осуществлено подключениеMOEX
UsernameЛогинBANKLOGIN
PasswordПарольBANKPASSWORD

Логирование и диагностирование ошибок. 

  1. Клиентская часть каждого из подключений размещена по пути ../logs/fix, содержит информацию о  приходящих/ отправляемых сообщениях и фикс событиях, для каждого из подключений.
  2. Сервисная часть лежит в ../logs/app и включает в себя сообщения о работе сервиса rtClearing.  Включает в себя информацию о процессе/результате обработки fpml сообщений о сделке.  

Метчинг через кодовое слово

На режиме CPCL Московской Биржи существует возможность регистрировать заявки через Кодовое слово. 

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

  • В конфигурационном файле сервиса установить настройку UseMatchRef  в значение Comment. Теперь в качестве значения кодового слова будет использовать комментарий из Trade Capture
  • В файл mapping.csv необходимо добавить значение в блок Партнеров 
https://hihiclub.ru/coding-schemes/partner;  *Всем;  http://www.moex.com/rms/coding-scheme/customer;  *Всем



Во избежание проблем с кодировкой, при использовании мэтчинга через кодовое слово рекомендуем использовать code_mapping.csv сохраненный в локальной директории


  • No labels