Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

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

В RuTerminal котировка идентифицируется парой Инструмент + Источник. Можно оформлять подписки либо на котировки по отдельные источники, либо подписаться на все сразу без указания источника.

PlantUML Macro
@startuml MarketDataRequest
title Market receive flow

actor Клиент as c
participant Сервис as e

c -> e: MarketDataRequest (MDReqID=x, SubscriptRequestType=Snapshot+Updates)
alt Ошибка
e --> c: MarketDataRequestReject (MDReqID=x)
else
c -> e: MarketDataRequest (MDReqID=x, SubscriptRequestType=Snapshot+Updates)

e -> c: MarketDataSnapshotFullRefresh (MDReqID=x)
e --> c: MarketDataIncrementalRefresh (MDReqID=x)
...
e --> c: MarketDataIncrementalRefresh (MDReqID=x)
...
c -> e: MarketDataRequest (MDReqID=x, SubscriptRequestType=Disable)
end
@enduml

Успешный запрос запрос рыночных данных вернет одно или несколько сообщений с текущими значениями котировок и оформит подписку на получение изменений. 


Предупреждение

Если в списке инструментов на подписку будут указаны инструменты, которые не доступны для подписки, подписка будет активирована только для доступных записей. Для инструментов по которым не доступна подписка будет возвращаться сообщение MarketDataRequestReject с указанием причины отклонения, по активированным инструментам будет поступать информация с значениями котировок

Текущие котировки отправляются в сообщении с типом MarketDataSnapshotFullRefresh, а обновления MarketDataIncrementalRefresh

Отменить подписку можно отправив MarketDataRequest с использованным ранее идентификатором и указанием SubscriptionRequestType=2. Поддерживается отмена всей подписки (в блоке с инструментами инструменты не указаны) и отмена подписки на конкретный инструмент и partyId (в блоке с инструментами указывается код инструмента и partyId). 

При разрыве сессии подписки будут автоматически удалены и их необходимо восстанавливать самостоятельно.

MarketDataRequest (35=V)

Тэг

Поле

Наличие

Тип

Описание

Допустимые значения

262MDReqIDYStringУникальный идентификатор запроса
263SubscriptionRequestTypeYCharТип подписки

1 = Текущее значение + подписка на обновления

2 = Отписка от обновлений

263MarketDepthYintГлубина запроса

1 = top of book

265MDUpdateTypeYCharТип запрошенных обновлений1 = Частичное обновление

<< Компонент MDReqGrp >>

Y


146NoRelatedSymYNumInGroupКоличество групп символов
=><< Компонент Instrument >>Y


<< Компонент Parties >>N



Информация
  • Если в запросе на подписку не будет указан контрибутор (PartyId), то будет активирована подписка на все доступные контрибуторы по указанному в подписке инструменту
  • Если в запросе на отмену подписку будет указан инструмент и/или контрибутор (partyId) клиент будет отписываться только от указанного инструмента и/или контрибутора

Ошибки

В случае отклонения запроса рыночных данных в ответ может быть отправлено следующее сообщение с объяснением причины

MarketDataRequestReject (35=Y)

Тэг

Поле

Наличие

Тип

Описание

Допустимые значения

262MDReqIDДаStringУникальный идентификатор запроса
281MDReqRejReasonДаCharПричина отклоненияПеречислены ниже
58TextНетStringКомментарий

Причины отклонения (MDReqRejReason)

Код

Текст

Описание

1Duplicate MDReqIDИдентификатор сообщения был использован ранее
0SecurityID={SecurityIDSource}(SecurityIDSource={SecurityIDSource}) Not foundНе найден инструмент
4SubscriptionRequestType={value} not supportedНедопустимое значение SubscriptionRequestType
5MarketDepth={value} not supportedНедопустимое значение MarketDepth
6MDUpdateType={value} not supportedНедопустимое значение MDUpdateType
8MDEntryType={value} not supportedНедопустимое значение MDEntryType

Результаты

MarketDataSnapshotFullRefresh (35=W)

Тэг

Поле

Наличие

Тип

Описание

Допустимые значения

262MDReqIDYStringИдентификатор запроса
<< Компонент Instrument >>



<< Компонент MDFullGrp >>



911

TotNumReports

NIntОбщее количество сообщений этого типа в ответе на запрос
966UnitofMeasureYStringЕдиница измерения актива котировки
Раскрыть
<field number='996' name='UnitOfMeasure' type='STRING'>
            <value enum='Alw' description='ALLOWANCES' />
            <value enum='Ccy' description='AMOUNT_OF_CURRENCY' />
            <value enum='Bbl' description='BARRELS' />
            <value enum='Bcf' description='BILLION_CUBIC_FEET' />
            <value enum='cwt' description='HUNDREDWEIGHT_US' />
            <value enum='Bu' description='BUSHELS' />
            <value enum='CBM' description='CUBIC_METERS' />
            <value enum='CER' description='CERTIFIED_EMISSIONS_REDUCTION' />
            <value enum='CRT' description='CLIMATE_RESERVE_TONNES' />
            <value enum='day' description='DAYS' />
            <value enum='FEU' description='FORTY_FOOT_EQUIVALENT_UNIT' />
            <value enum='Gal' description='GALLONS' />
            <value enum='GJ' description='GIGAJOULES' />
            <value enum='g' description='GRAMS' />
            <value enum='kg' description='KILOGRAMS' />
            <value enum='kL' description='KILOLITERS' />
            <value enum='kWh' description='KILOWATT_HOURS' />
            <value enum='L' description='LITERS' />
            <value enum='MMBtu' description='ONE_MILLION_BTU' />
            <value enum='lbs' description='POUNDS' />
            <value enum='MMbbl' description='MILLION_BARRELS' />
            <value enum='t' description='METRIC_TONS_AKA_TONNE' />
            <value enum='MWh' description='MEGAWATT_HOURS' />
            <value enum='oz_tr' description='TROY_OUNCES' />
            <value enum='thm' description='THERMS' />
        </field>

MarketDataIncrementalRefresh (35=X)

<field number='996' name='UnitOfMeasure' type='STRING'> <value enum='Alw' description='ALLOWANCES' /> <value enum='Ccy' description='AMOUNT_OF_CURRENCY' /> <value enum='Bbl' description='BARRELS' /> <value enum='Bcf' description='BILLION_CUBIC_FEET' /> <value enum='cwt' description='HUNDREDWEIGHT_US' /> <value enum='Bu' description='BUSHELS' /> <value enum='CBM' description='CUBIC_METERS' /> <value enum='CER'description='CERTIFIED_EMISSIONS_REDUCTION' /> <value enum='CRT' description='CLIMATE_RESERVE_TONNES' /> <value enum='day' description='DAYS' /> <value enum='FEU'description='FORTY_FOOT_EQUIVALENT_UNIT'/> <value enum='Gal' description='GALLONS' /> <value enum='GJ' description='GIGAJOULES' /> <value enum='g' description='GRAMS' /> <value enum='kg' description='KILOGRAMS' /> <value enum='kL' description='KILOLITERS' /> <value enum='kWh' description='KILOWATT_HOURS' /> <value enum='L' description='LITERS' /> <value enum='MMBtu' description='ONE_MILLION_BTU' /> <value enum='lbs' description='POUNDS' /> <value enum='MMbbl' description='MILLION_BARRELS' /> <value enum='t' description='METRIC_TONS_AKA_TONNE' /> <value enum='MWh' description='MEGAWATT_HOURS' /> <value enum='oz_tr' description='TROY_OUNCES' /> <value enum='thm' description='THERMS' /> </field>

Тэг

Поле

Наличие

Тип

Описание

Допустимые значения

966UnitofMeasureYStringЕдиница измерения актива котировки
Раскрыть

<< Компонент MDIncGrp >>




Примеры сообщений

Подписка на цены

Блок кода
titleПодписка на один инструмент
8=FIXT.1.19=21335=V34=249=RTFIX_API_CLIENT52=20230213-16:11:57.08656=HIHICLUB262=e7ffba68-076b-43ae-8b83-374fdcf1d5e7263=1264=1265=1267=2269=0269=1146=155=[N/A]48=FX-GBP-USD-TOD22=177453=1448=RU_FX447=D452=6110=177


Блок кода
titleПодписка блоком на несколько инструментов
8=FIXT.1.19=21835=V34=249=RTFIX_API_CLIENT52=20230214-07:30:52.33556=HIHICLUB262=ee8f40e2-c076-4046-a649-7ef958ceda7d263=1264=1265=1267=2269=0269=1146=255=[N/A]48=FX-GBP-USD-TOD22=17755=[N/A]48=FX-USD-RUB-TOM22=17710=090


Отмена подписки

Блок кода
8=FIXT.1.19=21335=V34=349=RTFIX_API_CLIENT52=20230213-16:12:02.15656=HIHICLUB262=e7ffba68-076b-43ae-8b83-374fdcf1d5e7263=2264=1265=1267=2269=0269=1146=155=[N/A]48=FX-GBP-USD-TOD22=177453=1448=RU_FX447=D452=6110=168


Получение рыночных цен

Блок кода
8=FIXT.1.19=22835=W34=249=HIHICLUB52=20231116-10:07:33.57456=RTFIX_API_CLIENT22=17748=FX-XAU-USD-TOD262=fcab44ad-3a33-4e4c-99f5-ce75961ff98c911=1996=g268=1269=0270=555272=20231116273=10:06:58.000453=1448=BANK_PREC447=D452=7710=003


Блок кода
8=FIXT.1.19=30135=X34=349=HIHICLUB52=20231116-10:07:44.43356=RTFIX_API_CLIENT268=2279=0269=048=FX-XAU-USD-TOD22=177996=g270=555272=20231116273=10:07:44.222453=1448=BANK_PREC447=D452=77279=0269=148=FX-XAU-USD-TOD22=177996=g270=667272=20231116273=10:07:44.222453=1448=BANK_PREC447=D452=7710=123