Шлюз SPECTRA Plaza-2

История переиздания
17.07.2015

Содержание

История изменений
Введение
Краткий обзор системы SPECTRA
Субъекты (участники) торгов
Инструменты
Торговые операции
Поставка активов и экспирация опционов
Расписание торгов и клиринга
Управление рисками и лимитирование торговых операций
Описание торгового шлюза
Состав, установка и настройка ПО шлюз SPECTRA Plaza-2
Состав транслируемой информации
Особенности использования шлюза
Обработка нештатных ситуаций
Описание схемы репликации FORTS_PUBLIC
Поток FORTS_FUTTRADE_REPL - Фьючерсы: заявки и сделки
Поток FORTS_OPTTRADE_REPL - Опционы: заявки и сделки
Поток FORTS_ORDLOG_REPL - Поток анонимных заявок
Поток FORTS_DEALS_REPL - Поток анонимных сделок
Поток FORTS_FEE_REPL - Поток комиссий биржи
Поток FORTS_FUTORDERBOOK_REPL - Фьючерсы: Cрез стакана
Поток FORTS_OPTORDERBOOK_REPL - Опционы: Cрез стакана
Поток FORTS_ORDBOOK_REPL - Cрез стакана. Анонимный
Поток FORTS_FUTCOMMON_REPL - Фьючерсы: общая информация
Поток FORTS_OPTCOMMON_REPL - Опционы: общая информация
Потоки агрегированных стаканов
Поток FORTS_POS_REPL - Информация о позициях
Поток FORTS_PART_REPL - Информация о средствах, лимитах и настройках риск-параметров
Поток FORTS_FUTINFO_REPL - Фьючерсы: справочная и сессионная информация
Поток FORTS_OPTINFO_REPL - Опционы: справочная и сессионная информация
Поток FORTS_MISCINFO_REPL - Дополнительная справочная информация
Поток FORTS_MM_REPL - Информация об обязательствах ММ
Поток FORTS_CLR_REPL - Клиринговая информация
Поток RTS_INDEX_REPL - Биржевые индексы
Поток RTS_INDEXLOG_REPL - История значений индексов
Поток FORTS_VM_REPL - Вариационная маржа
Поток FORTS_VOLAT_REPL - Волатильность
Поток FORTS_INFO_REPL - Дополнительная справочная информация
Поток FORTS_TNPENALTY_REPL - Информация о сборах за транзакции
Поток MOEX_RATES_REPL - Курсы валют он-лайн
Описание команд
Метод FutAddOrder - Добавление заявки
Метод FutAddMultiLegOrder - Добавление заявки по составному инструменту
Метод FutDelOrder - Удаление заявки
Метод FutDelUserOrders - Удаление заявок по типу
Метод FutMoveOrder - Перемещение двух заявок
Метод OptAddOrder - Добавление заявки
Метод OptDelOrder - Удаление заявки
Метод OptDelUserOrders - Удаление заявок по типу
Метод OptMoveOrder - Перемещение двух заявок
Метод FutChangeClientMoney - Изменение клиентских лимитов и настроек расчета рисков
Метод FutChangeClientVcb - Изменение клиентских параметров по БА
Метод FutChangeBrokerVcb - Изменение параметров БФ по БА
Метод FutChangeBFMoney - Изменение лимитов БФ
Метод FutChangeMoney - Изменение лимита на покупку спотов по БФ
Метод OptChangeExpiration - Заявки на экспирацию опционов
Метод FutChangeClientProhibit - Изменение клиентских ограничений для фьючерсов
Метод OptChangeClientProhibit - Изменение клиентских ограничений для опционов
Метод FutExchangeBFMoney - Перевод денежных средств между двумя БФ одной РФ
Метод OptRecalcCS - Изменение центрального страйка
Метод FutTransferClientPosition - Перенос фьючерсной позиции между БФ
Метод OptTransferClientPosition - Перенос опционной позиции между БФ
Метод CODHeartbeat - Сообщение-хартбит для сервиса Cancel on Disconnect
A. Типы данных платформы Plaza-2
B. Справочник кодов возврата

История изменений

ДатаИзменения
23.01.2015В "Описание торгового шлюза" добавлен раздел "Обработка нештатных ситуаций".
22.01.2015

Добавлен раздел "Автоматическое снятие заявок при отключении пользователя от торгов".

16.12.2014

Отредактирован список кодов ошибок.

29.09.2014

Добавлена расшифровка таблицы prohibition потока FUTINFO.

18.08.2014

Добавлены коды ошибок ASTS.

24.07.2014

В таблицах fut_MM_info и opt_MM_info потока FORTS_MM_REPL теперь транслируются обязательства маркет-мейкеров с детализацией до семизначного клиентского кода.

Форматы сообщений-транзакций FutTransferClientPosition и OptTransferClientPosition теперь идентичны.

Из потока FORTS_FUTINFO_REPL удалена таблица fut_ts_cons.

17.07.2014

Из таблицы ORDERS потока FORTS_ORDBOOK_REPL удалено поле client_code

25.04.2014

В поток FORTS_MM_REPL добавлена новая таблица mm_agreement: Таблица с номерами и типами договоров на оказание маркет-мейкерских услуг.

15.04.2014

Добавлены новые команды:

  • Перенос фьючерсной позиции между БФ

    Перенос опционной позиции между БФ

14.01.2014

Добавлены новые поля:

  • fulfil_min - процент минимального исполнения обязательств за торговую сессию

    fulfil_partial - процент частичного исполнения обязательств за торговую сессию

    fulfil_total - процент полного исполнения обязательств за торговую сессию

    is_fulfil_min - признак минимального исполнения обязательств в текущий момент

    is_fulfil_partial - признак частичного исполнения обязательств в текущий момент

    is_fulfil_total - признак полного исполнения обязательств в текущий момент

в таблицы fut_MM_info, opt_MM_info потока FORTS_MM_REPL

31.05.2013

Добавлено новое поле:

  • rate_id - Идентификатор курса

в таблицу clr_rate потока FORTS_CLR_REPL

18.04.2013

Добавлен анонимный поток orderbook:

  • FORTS_ORDBOOK_REPL

Добавлено поле:

  • ext_reserve - Дополнительный резерв

в таблицу money_clearing потока FORTS_CLR_REPL

Удален поток FORTS_CLMONEY_REPL

12.04.2013

Добавлено новое поле:

  • exch_pay - Биржевой сбор за 1 контракт в рублях

в таблицу fut_sess_contents потока FORTS_FUTINFO_REPL

10.04.2013

Добавлено новое поле:

  • exch_pay - Биржевой сбор за 1 контракт в рублях

в таблицу opt_sess_contents потока FORTS_OPTINFO_REPL

26.03.2013

Добавлено новое поле:

  • rate_id - Идентификатор курса

в таблицы fut_vcb и opt_vcb потоков FORTS_FUTINFO_REPL и FORTS_OPTINFO_REPL

Добавлен поток репликации:

  • MOEX_RATES_REPL - Курсы валют он-лайн

Добавлена новая таблица:

  • rates - Справочник курсов валют

в поток FORTS_FUTINFO_REPL

27.11.2012Изменение описания таблицы user_deal.
01.11.2012

Добавлено описание двух событий для таблицы sys_events.

30.10.2012Обновление документации:
  • В разделе "Метод FutChangeMoney - Изменение лимита на покупку спотов по БФ" дополнено описание параметра limit_spot_buy.

  • В разделах "Метод FutMoveOrder - Перемещение двух заявок" и "Метод OptMoveOrder - Перемещение двух заявок" дополнено описание логики работы команды MoveOrder.

22.10.2012Обновление документации:
  • Внесены изменения в разделы: "Пользователи. Привязка пользователя к участнику торгов", "Состав, установка и настройка ПО шлюз SPECTRA Plaza-2", "Рекомендации по включению рантаймов РТС в приложение пользователя при распространении пользовательского ПО сторонним компаниям", "Восстановление и поздний вход".

  • Удален раздел "Интерфейс технического центра ".

10.02.12Обновления документации:
  • В раздел "Особенности использования шлюза" добавлен пункт "Команды".

  • Добавлен раздел "Приостановка торгов для расширения лимита колебаний цен сделок".

  • Исправлена ошибка в описании формулы расчета цены фьючерса.

  • Обновлено описание инсталлятора шлюза.

09.02.2012

Добавлено новое поле:

  • login_from - Логин пользователя, поставившего заявку

в таблицы:

  • fut_rejected_orders - Отвергнутые в клиринг заявки

  • opt_rejected_orders - Отвергнутые в клиринг заявки

потоков:

  • FORTS_FUTINFO_REPL - Фьючерсы: справочная и сессионная информация

  • FORTS_OPTINFO_REPL - Опционы: справочная и сессионная информация

24.01.2012

В таблицу orders потоков:

  • FORTS_FUTORDERBOOK_REPL - Фьючерсы: Cрез стакана

  • FORTS_OPTORDERBOOK_REPL - Опционы: Cрез стакана

добавлены следующие поля:

  • init_moment - Время появления заявки

  • init_amount - Начальное количество в заявке

23.01.2012

Добавлена таблица событий sys_events в потоки:

  • FORTS_CLMONEY_REPL - Деньги в клиринг

  • FORTS_CLR_REPL - Клиринговая информация

17.01.2012

В таблицу fut_vcb потока FORTS_FUTINFO_REPL добавлено поле exch_pay_spot_repo, содержащее биржевой сбор по Репо

12.01.2012

Добавлен поток репликации:

  • FORTS_ORDLOG_REPL - поток, в котором передаются все действия с заявками в анонимном виде

02.11.2011

Добавлены новые поля:

  • Поле comment - Комментарий трейдера

  • Поле ext_id - Внешний номер

в таблицы:

  • fut_rejected_orders - Отвергнутые в клиринг заявки

  • opt_rejected_orders - Отвергнутые в клиринг заявки

25.11.2011Добавлен раздел "Использование тестовых примеров".
7.11.2011Ревизия документа. Доработаны разделы "Введение" и "Описание торгового шлюза". Добавлен раздел "Краткий обзор системы SPECTRA".
20.10.2011

Добавлены следующие поля:

  • Поле theor_price_limit - теоретическая цена опциона, рассчитанная исходя из котировки фьючерса, ограниченной лимитом

  • Поле vm_real, содержащее текущую ВМ по опционам, рассчитанную исходя из рыночной котировки опциона theor_price. При этим, значение в старом поле vm рассчитывается исходя из ограниченной котировки опциона theor_price_limit.

Добавлена таблица событий sys_events в потоки:

  • FORTS_FUTTRADE_REPL -- Фьючерсы: заявки и сделки

  • FORTS_OPTTRADE_REPL - Опционы: заявки и сделки

  • FORTS_POS_REPL - Информация о позициях

  • FORTS_PART_REPL - Информация о средствах и лимитах

  • FORTS_FUTINFO_REPL - Фьючерсы: справочная и сессионная информация

  • FORTS_OPTINFO_REPL - Опционы: справочная и сессионная информация

  • FORTS_INFO_REPL - Дополнительная справочная информация

4.10.2011

Добавлены потоки репликации:

  • FORTS_CLR_REPL - поток, транслирующий клиринговую информацию, в том числе информация о сборах и ВМ на момент клиринга, зафиксированные значения курсов валют, используемые для расчетов, а также расчетные цены клиринга

  • FORTS_MM_REPL - поток, содержащий информацию об обязательствах ММ в режиме он-лайн

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

14.09.2011

Исправлены ошибки в значениях по умолчанию некоторых команд: Если параметр является строковым - его значение по умолчанию берется в кавычки

15.04.2011

Добавлены следующие поля:

  • поле status таблицы diler потока FORTS_FUTINFO_REPL - информация по разделам РФ и БФ

  • поле status таблицы investr потока FORTS_FUTINFO_REPL - информация по клиентским разделам

  • поле vm_order_reserve потока FORTS_PART_REPL - резерв ВМ по заявкам

  • поле waprice потока FORTS_POS_REPL - средневзвешенная цена

Изменения в системе команды:

  • Важно: изменился формат команд FutAddOrder, OptAddOrder и FutAddMultilegOrder - в каждую из команд добавлен параметр dont_check_money. Изменились идентификаторы команд. Команды старого формата поддерживаются со старыми идентификаторами.

  • Добавлена команда FutExchangeBFMoney, предназначенная для выполнения переводов между БФ разделами

28.03.2011

В таблицу multileag_deal потока FORTS_FUTTRADE_REPL добавлено поле buyback_amount, содержащее сумму обратного выкупа для сделок Репо

24.03.2011

Добавлен поток RTS_INDEXLOG_REPL, транслирующий историю изменения индексов РТС

01.02.2011

Для команды FutChangeClientVcb изменен тип параметра code_vcb с c4 на c25. Новый формат команды имеет код сообщения 33. Код ответного сообщения для команды не изменился.

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

27.01.2011

Исправлена ошибка в документации - параметр check_limit команд OptAddOrder и OptMoveOrder был описан некорректно. Правильные значения параметра: 0 - не выполнять проверку, 1 - выполнять проверку.

24.12.2010

Исправлен ряд ошибок в именовании полей команд, а также значения по умолчанию некоторых команд:

  • Значение по умолчанию параметра ext_id для команды FutDelUserOrders установлено в 0.

  • Значения по умолчанию параметров comment, hedge, broker_to, ext_id, trust, date_exp для команды FutAddMultiLegOrder установлены в 0 или пустую строку в зависимости от типа сообщения.

  • Значение по умолчанию параметров price1 и price2 для команды OptMoveOrder установлены в 0.

  • Значение по умолчанию параметра no_fut_discount для команды FutChangeClientMoney установлено в 0.

  • Значение по умолчанию параметра limit_spot для команды FutChangeBrokerVcb установлено в -1.

  • В ответах команд FutChangeClientMoney, FutChangeBFMoney, FutChangeClientVcb и OptChangeExpiration поле Message исправлено на message для достижения единообразия с остальными командами.

.

26.11.2010

Изменен формат агрегированных стаканов - убрано поле price2. Теперь поле price принимает различный смысл в зависимости от значения признака 0x1000 инструмента (поле signs таблицы fut_sess_contents потока FORTS_FUTINFO_REPL): в случае установки признака поле price содержит ставку, иначе - своп-цену.

15.10.2010

Новые признаки инструмента (поле signs таблицы fut_sess_contents потока FORTS_FUTINFO_REPL):

  • 0x800 - признак инструмента RTS Money

  • 0x1000 - признак основной цены для составных инструментов (0 - котируется в своп-цене, 1 - котируется в ставке)

Новое значение признака составных инструментов multileg_type (таблицы fut_sess_contents потока FORTS_FUTINFO_REPL. Для свопов RTS Money принимает значение 2.

Новое поле в стаканах агрегированных котировок - price2. Используется для свопов - в данное поле записывается своп-цена.

14.09.2010

В потоки FORTS_FUTCOMMON_REPL и FORTS_OPTCOMMON_REPL добавлены значения цен открытия и закрытия (поля open_price и close_price).

В поток RTS_INDEX_REPL добавлены значения капитализации и объёма для индексов (поля cap и volume).

07.07.2010

В таблицу с информацией о сессии session потока FORTS_FUTINFO_REPL добавлена информация об интервале переноса позиций (поля pos_transfer_begin и pos_transfer_end)

Добавлены таблицы:

  • fut_sess_settl в поток FORTS_FUTINFO_REPL с расчетными ценами за прошедший клиринг
  • opt_sess_settl в поток FORTS_OPTINFO_REPL со значениями волатильности и теоретической цены опциона на момент клиринга

15.06.2010

Исправлена ошибка в описании команды FutAddMultiLegOrder: тип параметра isin_id изменен c25->i4

 

В таблице delivery_report потока FORTS_FUTINFO_REPL поля oblig_uni и fulfil_uni типа i4 заменены на поля oblig_qty и fulfil_qty типа i8.

31.05.2010

В таблицы fut_sess_contents и fut_instruments потока FORTS_FUTINFO_REPL добавлено поле step_price_curr.

В потоки FORTS_FUTCOMMON_REPL и FORTS_OPTCOMMON_REPL в таблицу common добавлены поля для совокупного спроса и предложения: orders_sell_qty, orders_sell_amount, orders_buy_qty, orders_buy_amount.

17.05.2010

Добавлена информация о параметрах инструментов:

  • таблицы base_contracts_params, futures_params, virtual_futures_params, options_params

Добавлена информация о стоимости шага цены инструмента в вечерний клиринг – поле step_price_clr таблицы fut_sess_contents потока FORTS_FUTINFO_REPL, а также в пром. клиринг – поле step_price_interclr той же таблицы.

19.04.2010

Изменены типы многих полей, в частности:

  • объём агрегированных стаканов d16.5 -> i8
  • направление заявок i4 -> i1
  • признаки инструментов (signs) i1 -> i4

Таблица money_clearing перенесена из потока FORTS_FUTINFO_REPL в поток FORTS_CLMONEY_REPL.

Переименованы:

  • таблица repo_orders_log -> multileg_orders_log
  • таблица repo_deal -> multileg_deal
  • команда FutAddRepo -> FutAddMultiLegOrder

Добавлены:

  • таблица multileg_dict – справочник связок
  • поля price_dir, multileg_type, legs_qty таблицы fut_sess_contents
  • поля с идентификатором и ценой сделки в таблицы orders_log фьючерсную и опционную
  • поля fee_sell, fee_buy таблицы deal потока FORTS_OPTTRADE_REPL
  • потоки FORTS_FUTORDERBOOK_REPL и FORTS_OPTORDERBOOK_REPL с информацией о текущем состоянии стаканов
  • таблица broker_params потока FORTS_INFO_REPL
  • таблицы fut_instruments потока FORTS_FUTINFO_REPL
  • таблицы usd_online потока FORTS_FUTINFO_REPL

Удалены:

  • поле state таблицы opt_sess_contents

16.03.2010

Изменен описание команды FutAddRepo: • вместо параметра swap_price, теперь используется параметр repo_rate

24.02.2010

Добавлено:

  • описание таблиц repo_orders_log, repo_deals
  • описание статусов заявок и сделок Репо
  • описание новых статусов заявок и сделок
  • описание команды FutAddRepo
  • поле last_deal_id в таблицу position потока FORTS_POS_REPL

18.01.2010

  • Добавлено описание команд: FutChangeBrokerVcb, FutChangeClientProhibit, FutChangeMoney, OptChangeClientProhibit
  • Добавлено поле limits_set таблицы part потока FORTS_PART_REPL
  • Исправлен ряд ошибок в описании команд

15.01.2010

  • Изменены типы идентификаторов заявок и сделок (i4 -> i8)
  • Изменены типы статусов заявок и сделок (i2 -> i4)
  • Исправлен ряд ошибок в описании команд

25.11.2009

Исправлен ряд ошибок в описании команд

03.11.2009

Добавлена поддержка задания кодов брокеров при отправке сообщений

30.10.2009

Добавлены команды управления лимитами клиентов

10.08.2009

Добавлены справочники инструментов по опционам

15.07.2009

Добавлено описание справочных потоков репликации

17.06.2009

Добавлено описание команд управления заявками для фьючерсов и опционов

27.03.2009

Добавлено описание потоков репликации ‘common’

20.03.2009

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

Введение

Назначение документа

Целью документа является освещение всего комплекса информации, необходимой пользователям при проектировании и разработке программного обеспечения для доступа на рынок SPECTRA с использованием шлюза SPECTRA Plaza-2. В документе рассматриваются следующие вопросы:

  • Общий обзор системы SPECTRA — торговые инструменты, участники торгов, торговые операции, управление рисками и лимитирование операций и т.п.

  • Состав, установка и настройка ПО шлюз SPECTRA Plaza-2. Приводится описание действий пользователя по установке и настройке ПО, требований к аппаратной и программной инфраструктурам, а также даются общие рекомендации по использованию программного обеспечения.

  • Состав транслируемой информации. Приводится описание потоков репликации и транслируемых таблиц.

  • Перечень управляющих команд.

  • Справочные данные.

Круг пользователей

Данный документ предназначен для бизнес-аналитиков, системных архитекторов и программистов, участвующих в проектировании и разработке программного обеспечения для доступа на рынок SPECTRA с использованием шлюза SPECTRA Plaza-2.

Сокращения

В рамках настоящего документа используются следующие сокращения:

ТерминОпределение
БАБазовый актив
БФБрокерская фирма (торговый член)
ВМВариационная маржа
ГОГарантийное обеспечение
КЦКлиринговый Центр
МММаркет-мэйкер
НКДНакопленный купонный доход
ПОПрограммное Обеспечение
РФРасчетная фирма (клиринговый член)
ТСТорговая система
ЦБЦенная бумага

Краткий обзор системы SPECTRA

Субъекты (участники) торгов

Субъекты (участники) торгов это:

  • Расчетные фирмы (РФ)

  • Брокерские фирмы (БФ)

  • Клиенты РФ и БФ

Расчетные фирмы

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

Расчетные фирмы имеют возможности:

  • Совершать сделки от своего имени и за свой счет.

  • Совершать сделки от своего имени и за счет обслуживаемых клиентов.

  • Вести расчеты с НКЦ напрямую.

  • Обслуживать клиентов, в том числе и брокерские фирмы.

  • Контролировать работу клиентов и брокерских фирм в ходе торгов.

Расчетные фирмы несут обязательства:

  • Членство в Секции срочного рынка.

  • Лицензия биржевого посредника, совершающего товарные фьючерсные и опционные сделки в биржевой торговле, выданная ЦБ РФ.

  • Взнос в Страховой фонд.

  • Гарантийное обеспечение собственных сделок и сделок своих клиентов.

Брокерские фирмы

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

Брокерские фирмы имеют возможности:

  • Совершать сделки за свой счет.

  • Совершать сделки за счет обслуживаемых клиентов.

  • Выставлять заявки в Торговой системе с клиентского терминала.

  • Контролировать работу своих клиентов в ходе торгов.

Брокерские фирмы несут обязательства:

  • Гарантийное обеспечение собственных сделок и сделок своих клиентов.

Клиенты

Любое юридическое и физическое лицо может принимать участие в торгах на рынке фьючерсов и опционов SPECTRA в качестве клиента. Для этого необходимо заключить договор на торговое обслуживание с брокерской фирмой или непосредственно с расчетной фирмой. Важным атрибутом клиента служит ИНН или номер паспорта.

Кодировка в системе

Участники торгов в системе кодируются с помощью семисимвольной строки вида:XXYYZZZ, где

  • XX — код расчетной фирмы

  • YY — код брокерской фирмы

  • ZZZ — код клиента

Код брокерской фирмы 00 предназначен для отражения состояния самой расчетной фирмы.

Пример 1.

Q100 – код для представления расчетной фирмы Q1

Q1DU – субброкер DU расчетной фирмы Q1


Код Клиента 000 предназначен для отражения состояния брокерской фирмы.

Пример 2.

Q1DU000 – код для представления состояния денежных средств субброкера DU расчетной фирмы Q1


Раскрытие информации об участниках в системе

Список расчетных и брокерских фирм доступен в таблице diler потока FORTS_FUTINFO_REPL. Список клиентов доступен в таблице investr потока FORTS_FUTINFO_REPL. Раскрытие информации о клиентах и брокерах ограничено правами пользователя, запрашивающего информацию.

Кроме того, в различных потоках и таблицах есть ссылки на семисимвольные коды участников или на четырехсимвольные коды брокеров.

Пользователи. Привязка пользователя к участнику торгов

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

  • Логин расчетной фирмы. Имеет возможность просматривать информацию и (при наличии транзакционных прав) совершать торговые операции от имени любого брокера или клиента данной расчетной фирмы, а также вызывать операции для установки различных лимитов, как для клиентов, так и для субброкеров.

  • Логин брокерской фирмы. Имеет возможность просматривать информацию и совершать торговые операции от имени всех клиентов брокера внутри расчетной фирмы, а также устанавливать лимиты клиентам этого брокера.

  • Логин клиента. Имеет возможность совершать торговые операции от имени конкретного клиента внутри брокерской фирмы и просматривать информацию по этому клиенту.

В схеме КАЖДОГО сообщения-команды (см. раздел Описание команд) есть поле 'broker_code'. Приложение, использующее логин уровня расчетной фирмы, обязано при отправке любого сообщения заполнять это поле четырехсимвольным кодом брокера SPECTRA. Приложения, использующие логины уровня брокера или клиента, заполнять это поле не обязаны.

Инструменты

Инструменты в системе SPECTRA имеют иерархическую структуру. Далее приведено описание инструментов, начиная с корневого уровня иерархии.

Базовые активы

Базовый актив представляет собой сущность, к которой привязывается конкретный контракт — акцию, которую необходимо будет передать или получить для инструментов фондовой секции, товар — для инструментов товарной секции или индекс/курс валюты/индикатор для расчетных фьючерсов. Базовый актив содержит атрибуты, общие для всех инструментов, привязанных к нему, а именно:

  • Наименование торговой секции.

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

  • Тип поставки по контрактам (подробнее – см. раздел, Поставка активов и экспирация опционов):

    • поставка собственно актива;

    • поставка актива путем создания позиции на спот-рынке;

    • расчетный тип — по итогам обращения перечисляются только денежные средства в размере разницы между стоимостью открытия позиции и расчетной ценой актива.

  • Валюта для расчета стоимости шага цены. В настоящий момент может принимать значения:

    • RUR — стоимость шага цены указывается в рублях и, как правило, не меняется в течение всего срока действия контракта.

    • USD — стоимость шага цены указывается в рублях, с пересчетом по курсу ЦБ на момент открытия торговой сессии. При этом стоимость шага цены меняется в начале каждой торговой сессии.

    • USR — стоимость шага цены указывается в рублях, с пересчетом по курсу доллара, рассчитываемого по методике Московской Биржи: http://moex.com/n6126

    Стоимость шага цены изменяется два раза в день — при клиринге и при промежуточном клиринге.

  • Форма торгов — с залогом или без. При торговле с залогом часть депозита под позицию можно вносить путем передачи НКЦ в залог акций и других ценных бумаг из утвержденного списка.

Базовый актив НЕ ЯВЛЯЕТСЯ ТОРГОВЫМ инструментом.

Информация о базовых активах содержится в таблице fut_vcb потока FORTS_FUTINFO_REPL.

Фьючерсы

Фьючерсные контракты — основной тип торговых инструментов в системе SPECTRA.

Фьючерсы привязаны к конкретному базовому активу. Каждый фьючерс имеет уникальные атрибуты срочности (даты поставки), лота, шага цены и стоимости шага цены.

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

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

Фьючерсы обычно котируются в пунктах цены. Однако для фьючерсов на процентные ставки и облигации цена указывается в виде ставки в процентах годовых. Для фьючерсов, торгуемых в пунктах цены, цена в рублях за контракт вычисляется как:

, где

  • PricePoints — цена в пунктах;

  • step_price — стоимость минимального шага цены;

  • min_step — минимальный шаг цены в пунктах.

Для процентных фьючерсов:

, где

  • PricePoints — цена в пунктах;

  • d — количество дней до истечения контракта.

Для фьючерсов с валютой стоимости шага USR, заполняются еще три дополнительных поля:

  • Стоимость шага цены в исходной валюте (т.е. в долларах США)

  • Стоимость шага цены в рублях, зафиксированная для промежуточного клиринга

  • Стоимость шага цены в рублях, зафиксированная для клиринга

Каждый торговый инструмент при появлении в системе недоступен для торгов в вечернюю торговую сессию, и начинает быть доступным для торгов в вечернюю торговлю только со второй торговой сессии (подробнее о торговых сессиях см. раздел Расписание торгов и клиринга). О доступности инструмента для торговли в вечернюю или основную торговые сессии можно узнать из поля signs (признаки) таблицы fut_sess_contents.

Информация о фьючерсах содержится в трех таблицах торгового интерфейса:

  • Поток FORTS_FUTINFO_REPL, таблица fut_sess_contents — основная таблица. Содержит список контрактов, назначенных в торги в данной торговой сессии.

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

  • Поток FORTS_INFO_REPL, таблица futures_params — содержит информацию о фьючерсах в формате, необходимом для загрузки ее в клиентский модуль расчета рисков (ClientGO).

Опционы

В настоящий момент система SPECTRA поддерживает американские опционы на фьючерсы. Опционы могут быть маржируемого типа, с уплатой вариационной маржи между участниками торгов на основании расчетной цены, определяемой дважды в торговую сессию, и премиального типа, с уплатой премии подписчику опциона в момент совершения сделки.

При исполнении/экспирации опциона, позиция по опциону превращается в позицию по фьючерсу, к которому привязан данный опцион.

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

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

Информация об опционах содержится в двух таблицах торгового интерфейса:

  • Поток FORTS_OPTINFO_REPL, таблица opt_sess_contents — основная таблица. Содержит список контрактов, назначенных в торги в данной торговой сессии.

  • Поток FORTS_INFO_REPL, таблица options_params — содержит информацию об опционах в формате, необходимом для загрузки ее в клиентский модуль расчета рисков (ClientGO).

Составные инструменты (связки)

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

Список имеющихся в системе составных инструментов можно получить из таблицы fut_sess_contents потока FORTS_FUTINFO_REPL, проверяя поле multileg_type. Записи, со значением этого поля не равным 0, описывают составные инструменты.

Для получения составных частей инструмента следует пользоваться таблицей multileg_dict потока FORTS_FUTINFO_REPL, в которой для каждого составного инструмента существует две или более записей, описывающей отдельные части такого инструмента (Рис. 1). Записи таблицы multileg_dict ссылаются обратно в fut_sess_contents, т.к. составные части инструментов являются обычными инструментами торговой системы. Для каждой составной части также указывается коэффициент, на который умножается объём исходной заявки для получения объёма заявки по составной части. Знак этого коэффициента указывает на направление заявки по составляющей — положительное значение означает, что составляющая будет направлена в ту же сторону, что и заявка по составному инструменту, отрицательное — в противоположную сторону.

Рисунок 1. Составные инструменты

Составные инструменты

Идентификация инструментов

В системе SPECTRA инструмент имеет четыре идентификатора:

  1. Поле isin_id — уникальный числовой идентификатор инструмента в системе.

  2. Поле isin — символьный идентификатор инструмента.

  3. Поле short_isin — короткий символьный код инструмента для информационных систем.

  4. Поле name — длинное "человекочитаемое" наименование инструмента.

Пример 3. Фьючерс на индекс РТС с исполнением в декабре 2010 года:

isin_id=

isin = RTS-12.10

short_isin = RIZ0

name = Фьючерсный контракт на индекс РТС с исполнением 15 декабря 2010 г.


Значение isin_id — первичный уникальный идентификатор инструмента в системе. Во всех структурах данных, содержащих ссылку на инструмент, используется именно это значение.

Поле isin — основной символьный код контракта. Именно этот код указывается в команде на постановку заявки. Гарантируется уникальность и неизменность во времени значения isin.

Поле short_isin — альтернативный символьный код контракта. Было введено для упрощения работы с данными SPECTRA мировым информагентствам. В отличие от isin, short_isin у одного инструмента может меняться с течением времени.

Торговые операции

Заявки – общие возможности

Заявка — это приказ участника торгов в торговую систему на совершение сделки покупки или продажи инструмента по определённой цене. Заявка может быть адресной или безадресной.

Безадресные заявки — это обычный вид заявок, которые встают в очередь и видны всем пользователям, они обязательно участвуют в аукционе и сводятся со встречными заявками. Если у заявки есть контрпредложение с ценой лучшей или равной цене заявки, то такие заявки сводятся в сделку с ценой равной цене заявки в контрпредложении. Часть заявки, которая не свелась в сделку остается в виде заявки, с меньшим количеством инструмента.

Заявки бывают котировочные, встречные и заявки Fill-or-Kill. Котировочная заявка остается в очереди независимо от того, свелась ли она частично, или не свелась совсем. Встречная заявка, если она не свелась в сделку, удаляется из системы после проведения аукциона. При частичном сведении встречной заявки, несведенная ее часть также удаляется. Заявки Fill-or-Kill — это встречные заявки, которые предполагают только полное исполнение (сведение в сделку).

С точки зрения времени жизни заявки подразделяются на обычные и многодневные. У обычных заявок дата истечения заявки не задана, такие заявки (неисполненные) "живут" до конца текущей торговой сессии. Для многодневных заявок указывается дата истечения (диапазон дат — до года). Такие заявки автоматически перевыставляются в следующую торговую сессию, получая при этом новый номер и ссылку на номер самой первой выставленной заявки. При перевыставлении делаются проверки на наличие инструмента, клиента, достаточности средств. Заявки с истекшей датой автоматически снимаются после завершения вечерней сессии (если она есть в этот день).

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

  • поле comment — строка в 20 символов;

  • поле ext_id — четырехбайтовое число, куда предполагается вставлять идентификатор заявки в пользовательской системе.

Примечание

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

Информация о заявках содержится в таблицах orders_log потоков FORTS_FUTTRADE_REPL, FORTS_OPTTRADE_REPL и FORTS_ORDLOG_REPL.

Таблица orders_log — это история изменения заявок, на каждое изменения каждой заявки добавляется отдельная запись. В таблице orders_log потоков FORTS_FUTTRADE_REPL и FORTS_OPTTRADE_REPL содержится информация только по "своим" заявкам. Под своими заявками здесь понимается:

  • Для логина клиента — это заявки только этого клиента.

  • Для логина БФ или РФ — это все заявки клиентов этой БФ или РФ.

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

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

Возможны следующие операции над заявками:

  • Добавление заявки.

  • Удаление одиночной заявки (по коду заявки в системе SPECTRA).

  • Передвижка заявки (операция MoveOrder). Передвижка заявки реализована как пара операций — удаление старой заявки и добавление новой заявки (с новым номером). Соответственно пользователю в ответном сообщении на операцию MoveOrder всегда возвращается номер новой заявки. Операции MoveOrder в таблице orders_log всегда соответствует как минимум две записи — удаление и добавление.

    Одной операцией MoveOrder можно одновременно передвинуть две заявки (полезно для маркет-мэйкеров), для этого в методах MoveOrder предусмотрен набор параметров (order_id1, order_id2) для двух заявок. При этом сами методы являются универсальными — если двигается одна заявка, заполняются параметры только для order_id1.

  • Массовое удаление своих заявок по заданным пользователем условиям. В качестве условий могут быть заданы:

    • Направление операции — покупка, продажа.

    • Тип заявки — адресная, безадресная.

    • Код клиента.

    • Код базового актива.

    • ext_id — идентификатор заявки в пользовательской системе.

    • Код инструмента.

Адресные заявки

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

  • При выставлении адресной заявки в качестве контрагента можно указать только брокерскую фирму. Невозможны адресные заявки и сделки между двумя произвольными торговыми счетами.

  • Для определения контрагента в заявке указывается код компании-контрагента (поле broker_to). Не все брокерские фирмы имеют такой код, соответственно, этим фирмам нельзя выставить адресную заявку.

  • Для адресных заявок невозможна операция MoveOrder. Можно только вручную удалить и выставить новую заявку.

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

Сделки

Сделки в торговой системе заключаются после постановки заявок в случае, если цена в заявке одного направления по инструменту удовлетворяет цене заявки другого направления по тому же инструменту. Ценой сделки считается цена заявки, выставленной раньше. Сделки бывают адресные и безадресные. Многие атрибуты сделок эквивалентны атрибутам заявок. Сделки не изменяются и не удаляются из системы.

Информация о собственных сделках содержится в таблицах user_deal и user_multileg_deal потоков FORTS_FUTTRADE_REPL и FORTS_OPTTRADE_REPL. Информация обо всех сделках в системе раздается всем пользователям в таблице deal потока FORTS_DEALS_REPL, с учетом следующих правил фильтрации: пользователь получает приватную информацию только по свой части сделки (покупателя или продавца). Если пользователем является БФ или РФ и сделка совершена ее клиентами, то пользователь получает приватную информацию по обеим частям сделки.

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

  • Поставка активов при завершении обращения инструмента.

  • Экспирация опционов.

  • Закрытие позиции, если клиент не внёс требуемое обеспечение.

Данные сделки называются техническими. Отличить торговые сделки от технических можно по значению полей status_sell и status_buy таблиц user_deal и user_multileg_deal в потоках FORTS_FUTTRADE_REPL и FORTS_OPTTRADE_REPL или по признаку nosystem в таблице deal потока FORTS_DEALS_REPL (подробнее — см. раздел Типы сделок, формируемые при исполнении и истечении фьючерсов и опционов).

Особенности торговли связками

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

Основные особенности торговли связками:

  • Порядок сортировки цен в стаканах может быть различным (прямой или обратный).

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

  • Для связок невозможны операции передвижки и массового удаления заявок.

Поставка активов и экспирация опционов

Поставка по фьючерсам

В разрезе поставки фьючерсы бывают трех типов:

  • Расчетные фьючерсы (фьючерсы на индикаторы) — по итогам обращения перечисляются только денежные средства в размере разницы между стоимостью открытия позиции и текущей расчётной ценой актива. Поставка оформляется технической сделкой закрытия позиции, которая в таблице deal помечается специальным признаком в полях status_sell и status_buy (подробнее — см. раздел Типы сделок, формируемые при исполнении и истечении фьючерсов и опционов).

  • Товарные фьючерсы (фьючерсы на реальные активы) — по итогам обращения перечисляются собственно активы и денежные средства. Поставка оформляется технической сделкой закрытия позиции, которая в таблице deal помечается специальным признаком в полях status_sell и status_buy.

  • Фьючерсы на акции — при поставке позиция по фьючерсу превращается в позицию на рынке T+ в секторе "Основной рынок" Московской биржи. Поставка оформляется технической сделкой закрытия позиции на срочном рынке и сделкой открытия позиции на рынке T+. Сделка закрытия позиции на срочном рынке в таблице deal помечается специальным признаком в полях status_sell и status_buy. Сделка открытия позиции на рынке T+ создаётся в системе ASTS фондового рынка. Более подробно см. подраздел "Реализация поставки фьючерсных контрактов срочного рынка на фондовом рынке (режим Т+2)".

Реализация поставки фьючерсных контрактов срочного рынка на фондовом рынке (режим Т+2)

Исполнение всех поставочных фьючерсных контрактов производится путём автоматического заключения сделок Т+2 в Секторе рынка Основной рынок ЗАО «ФБ ММВБ» (Торгово-клиринговая система ASTS).

В Клиринговой системе SPECTRA за каждой брокерской фирмой, которая желает проводить поставку, по заявлению Участника, закрепляется код фирмы и торгово-клиринговый счёт (далее – ТКС), зарегистрированные в Торгово-клиринговой системе фондового рынка (далее – ASTS ФР), с указанием которого должны быть заключены сделки Т+2 в целях исполнения обязательств по фьючерсным контрактам. За клиентским разделом регистра учета позиций может быть закреплён отдельный ТКС и код клиента, зарегистрированного в ASTS ФР.

Сделки Т+2 заключаются в ASTS ФР на отдельном режиме торгов (SPEQ) с кодом расчётов Y2. Сделка заключается между НКЦ и участником торгов фондового рынка. Никакого дополнительного подтверждения от участника торгов фондового рынка не требуется.

В случае, если сделка Т+2 не может быть заключена по причине отсутствия или неверных реквизитов привязки к фирме и ТКС, Участником до 15:00 MSK текущего дня должен быть закреплён за соответствующей брокерской фирмой действительный ТКС ФР. После 15:00 позиции по фьючерсным контрактам, по которым не может быть сформирована сделка в системе фондового рынка, принудительно закрываются Клиринговым центром с взиманием штрафа в размере гарантийного обеспечения.

После заключения сделок поставки по акциям в системе фондового рынка, в случае достаточности обеспечения под совокупную позицию на рынке T+2, фьючерсная позиция в системе SPECTRA закрывается, и обеспечение под эту позицию освобождается. В случае недостаточности обеспечения под совокупную позицию на рынке T+2, фьючерсная позиция и обеспечение под неё остаются заблокированными в системе SPECTRA до момента исполнения маржинального требования на рынке T+2.

После исполнения фьючерсов на акции технические сделки закрытия позиций по фьючерсам на акции транслируются в таблице сделок. Для этих сделок в полях status_sell и status_buy будут выставлены значения «Сделка исполнения фьючерса». Технические сделки, закрывающие фьючерсную позицию, будут также отображаться в отчётах срочного рынка f04.csv и fut_deal.csv в день их формирования..

Более подробную информацию по механизму реализации поставки вы можете найти на сайте – http://moex.com/s1262

Экспирация опционов

В настоящий момент система SPECTRA поддерживает американские опционы на фьючерсы. При экспирации опциона позиция по опциону превращается в позицию по фьючерсу с ценой, равной страйку экспирируемого опциона. Экспирация опционов осуществляется в клиринговую сессию. Технически экспирация оформляется сделкой закрытия позиции по опциону и сделкой открытия позиции по фьючерсу, которые в таблице deal помечаются специальным признаком в полях status_sell и status_buy (подробнее см. раздел Типы сделок, формuser_ируемые при исполнении и истечении фьючерсов и опционов).

Экспирация опционов возможна в двух режимах:

  • Досрочная, выполняемая по заявке участника. Покупатель может в любой момент предъявить продавцу требование об исполнении опциона, послав с систему заявку об экспирации (подробнее см. раздел Метод OptChangeExpiration — Заявки на экспирацию опционов). Заявки на экспирацию собираются в течение всей торговой сессии, но исполняются два раза в день — в промежуточный клиринг и в вечерний клиринг.

  • Автоматическая, в день завершения обращения опциона. В последний день обращения опционы, находящиеся "в деньгах", экспирируются автоматически.

Для опционов "на деньгах" (коллы и путы, страйк которых строго равен цене исполнения фьючерса) автоматическое исполнение осуществляется для половины открытой опционной позиции с данным страйком. Если величина открытой позиции является нечётным числом, то при расчёте величины исполняемой позиции для коллов применяется округление вверх (0.5=1), для путов – округление вниз (0.5=0).

В торговой системе есть возможность отказаться от автоматической экспирации – для этого в существующем поручении "Заявка на исполнение опциона" (OptChangeExpiration, поле amount) необходимо ввести количество контрактов, экспирация которых нежелательна, как отрицательное (со знаком минус).

При расчёте обеспечения за два клиринговых сеанса до экспирации не-квартальных опционов начинает применяться другой алгоритм. При оценке рисков к сценариям изменения волатильности добавляются сценарии экспирации. В каждом сценарии экспирации моделируется портфель, который образуется при автоматическом исполнении опционов "в деньгах" и неисполнении опционов "вне денег", и рассчитывается профиль риска. Брокер может включить расчёт сценариев экспирации для своих клиентов заранее с помощью неторгового приказа FutChangeClientMoney, поле num_clr_2delivery (i4), в котором указывается количество клиринговых сессий, за которые вступают в силу правила автоэкспирации. Значение num_clr_2delivery транслируется в таблице part потока FORTS_PART_REPL.

Типы сделок, формируемые при исполнении и истечении фьючерсов и опционов

Битовая маска признаков таблицы user_deal потоков FORTS_FUTTRADE_REPL и FORTS_OPTTRADE_REPL (поля status_buy и status_sell):

  • 0x4 – внесистемная сделка;

  • 0x8 – сделка переноса позиций;

  • 0x20 – сделка исполнения опциона;

  • 0x80 – признак истечения времени действия инструмента (для фьючерсов – исполнение, для опционов – истечение);

  • 0x20000 – сделка Репо;

  • 0x40000 – набор сделок;

  • 0x800000 – сделка истечения опциона;

  • 0x2000000 – сделка, сформированная вне торгов;

  • 0x4000000 – адресная сделка;

  • 0x8000000 – сделка по связке;

  • 0x10000000 – сделка при непоставке;

  • 0x40000000 - сделка исполнения фьючерса .

Для удобства работы бэк-офисов информация в Plaza-2 шлюзах и отчётах синхронизирована. Для этого в отчётах f04_XXYY.dbf, f04clXXYYZZZ.dbf, o04_XXYY.dbf, o04clXXYYZZZ.dbf используется поле signs. Это поле построено на основе битовой маски в Plaza-2.

Типы сделок, формируемые при исполнении и истечении фьючерсов и опционов, перечислены в следующей таблице:

Тип операцииСделка закрытия позицииСделка открытия позицииДата и время, когда сделки появятся в отчете и шлюзе
Исполнение фьючерса традиционным способом
  • В шлюзах будет ненулевой id, а в отчётах id будет равным 0.

  • Цена сделки округляется с точностью до минимального шага цены.

  • Техническая сделка юридически не является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x80 (истечение времени действия инструмента), 0x40000000 (сделка исполнения фьючерса).

НетУтром в день исполнения
Исполнение расчетного фьючерса
  • В шлюзах будет ненулевой id, а в отчётах id будет равным 0.

  • Цена сделки округляется с точностью до 5 знака после запятой.

  • Техническая сделка юридически не является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x80 (истечение времени действия инструмента), 0x40000000 (сделка исполнения фьючерса).

НетВечером в день исполнения фьючерса
Исполнение опциона
  • В шлюзах будет ненулевой id. В отчётах id будет равным 0 (сделка в вечернем клиринге), ненулевой id (сделка в промклиринге).

  • Цена сделки равна 0.

  • Техническая сделка юридически не является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x20 (сделка исполнения опциона).

  • В шлюзах будет ненулевой id, а в отчётах id будет равным 0.

  • Цена сделки округляется с точностью до 5 знака после запятой.

  • Юридически является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x20 (сделка исполнения опциона).

Сделки исполнения опционов генерируются:

  • В промклиринге

  • В вечернем клиринге

В зависимости от времени подачи заявки на исполнение опциона (генерация в ближайшем клиринге)

Истечение опциона
  • В шлюзах будет ненулевой id, а в отчётах id будет равным 0.

  • Цена сделки равна 0.

  • Техническая сделка юридически не является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x80 (истечение времени действия инструмента), 0x800000 (сделка истечения опциона).

НетВечером в день исполнения фьючерса

Торговые сделки отражаются следующим образом:

Операции в ходе торговИнформация по операциям
Сделка по фьючерсу на акции на основании адресной заявки
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до минимального шага цены.

  • Юридически является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x4000000 (адресная сделка).

Сделка по фьючерсу на акции на основании безадресной заявки
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до минимального шага цены.

  • Юридически является сделкой.

  • В шлюзах и отчётах в битовой маске: значение во всех перечисленных битах равно нулю.

Сделка по опциону на фьючерсы на акции на основании адресной заявки
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до минимального шага цены.

  • Юридически является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x4000000 (адресная сделка).

Сделка по опциону на фьючерсы на акции на основании безадресной заявки
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до минимального шага цены.

  • Юридически является сделкой.

  • В шлюзах и отчётах в битовой маске: значение во всех перечисленных битах равно нулю.

Сделка по переносу позиций
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до 5 знака после запятой.

  • Юридически не является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x8 (сделка переноса позиций), 0x4000000 (адресная сделка).

Техническая сделка на основании 1 части адресной заявки Репо
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до 5 знака после запятой.

  • Юридически является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x20000 (сделка Репо), 0x4000000 (адресная сделка), 0x8000000 (связка).

Техническая сделка на основании 2 части адресной заявки Репо
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до 5 знака после запятой.

  • Юридически является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x20000 (сделка Репо), 0x4000000 (адресная сделка), 0x8000000 (связка).

Техническая сделка на основании 1 части безадресной заявки Репо
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до 5 знака после запятой.

  • Юридически не является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x20000 (сделка Репо), 0x8000000 (связка).

Техническая сделка на основании 2 части адресной заявки Репо
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до 5 знака после запятой.

  • Юридически не является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x20000 (сделка Репо), 0x8000000 (связка).

Техническая сделка на основании 1 части адресной парной заявки
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до 5 знака после запятой.

  • Юридически является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x40000 (набор сделок), 0x4000000 (адресная сделка), 0x8000000 (связка).

Техническая сделка на основании 2 части адресной парной заявки
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до 5 знака после запятой.

  • Юридически является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x40000 (набор сделок), 0x4000000 (адресная сделка), 0x8000000 (связка).

Техническая сделка на основании 1 части безадресной парной заявки
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до 5 знака после запятой.

  • Юридически является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x40000 (набор сделок), 0x8000000 (связка).

Техническая сделка на основании 2 части адресной парной заявки
  • В шлюзах и отчётах будет уникальный ненулевой id.

  • Цена сделки округляется с точностью до 5 знака после запятой.

  • Юридически является сделкой.

  • В шлюзах и отчётах в битовой маске: признаки 0x4 (внесистемная сделка), 0x40000 (набор сделок), 0x8000000 (связка).

Расписание торгов и клиринга

Расписание торгов. Торговые сессии

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

  • Вечернюю торговую сессию — для реальных торгов длится с 19.00 до 23.50 по московскому времени.

  • Дневную торговую сессию — для реальных торгов длится с 10.00 до 18.45 следующих календарных суток.

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

Промежуточный клиринг

Внутри дневной торговой сессии существует перерыв, который в реальной системе SPECTRA длится с 14.00 до 14.03 по московскому времени, в течение которого проходит промежуточная клиринговая сессия (промежуточный клиринг). Промежуточная клиринговая сессия нужна для того, чтобы зафиксировать в середине дня новые расчетные цены по инструментам и перечислить вариационную маржу между участниками клиринга.

В промежуточный клиринг изменяются:

  • Расчетные цены инструментов, по которым были торговые операции в период вечерних торгов и первой половины дневных торгов. Старые и новые расчетные цены отображаются в специальных полях таблиц fut_sess_contents и opt_sess_contents, потоков FORTS_FUTINFO_REPL и FORTS_OPTINFO_REPL соответственно.

  • Свободные средства клиентов после расчета и перечисления вариационной маржи. Перечисленная вариационная маржа отображается в специальных полях таблицы part потока FORTS_PART_REPL.

В промежуточный клиринг не изменяются:

  • Размер лимитов по инструментам.

  • Состав торговых инструментов. Удаление старых инструментов и добавление новых осуществляется в основную клиринговую сессию.

Основной клиринг

Основной клиринг проводится по окончании торговой сессии в период с 18.45 до 19.00 московского времени. В процессе клиринга выполняется:

  • Расчет и фиксация расчетных цен инструментов по итогам всей торговой сессии

  • Расчет и перечисление вариационной маржи между участниками.

  • Удаление торговых инструментов, с истекшим сроком обращения, и добавление новых торговых инструментов.

  • Обновление информации о клиентах, брокерских и расчетных фирмах путем удаления старой информации и закачки новых данных из клиринга.

После основного клиринга производится генерация и рассылка отчетов по итогам текущей торговой сессии.

Особенности поведения разных сущностей в системе при назначении новой торговой сессии

Справочная и сессионная информация

При назначении новой торговой сессии данные из справочных таблиц, в которых существует привязка к номеру сессии закачиваются вновь из клиринга с указанием нового номера торговой сессии. В справочные таблицы, в которых нет привязки к номеру сессии, присылается набор изменений, то есть добавляются новые записи, появившиеся для новой торговой сессии, и удаляются записи для объектов, которых не должно быть в новой торговой сессии.Справочные таблицы — это таблицы, приходящие в потоках FORTS_FUTINFO_REPL и FORTS_OPTINFO_REPL. Итогом всех этих изменений является добавление в таблицу session записи с новым номером сессии.

Деньги и позиции

При смене торговой сессии информация о средствах, лимитах и позициях клиентов обновляется в режиме применения обновлений, то есть меняются только те записи, в которых во время клиринга реально произошли изменения (потоки FORTS_PART_REPL и FORTS_POS_REPL, поток FORTS_INFO_REPL, таблицы diler_params и client_params).

Заявки и сделки

Основная торговая информация (потоки FORTS_FUTTRADE_REPL и FORTS_OPTTRADE_REPL) сохраняется, т.е. до ночи текущего дня в репликации доступны заявки и сделки, сделанные до 19.00 в текущую торговую сессию.

При смене торговой сессии происходит автоматическое перевыставление многодневных заявок, дата истечения которых еще не наступила, путем удаления старой заявки и добавления новой (с новым номером). Учитывая, что в реплику в таблицу orders_log информация об этом не предается, клиентская система должна быть устроена следующим образом. При обнаружении нового номера торговой сессии в таблице session, клиентская система должна "забыть" обо всех заявках, которые у нее сохранились в памяти до этого, и "слушать" реплику на предмет появления новых заявок, с указанием нового номера торговой сессии.

Инструменты

При смене торговой сессии происходит удаление торговых инструментов, с истекшим сроком обращения, и добавление новых торговых инструментов. Существует правило — новыми инструментами нельзя торговать в вечернюю торговую сессию (с 19.00 до 23.50), при этом данные инструменты присутствуют в системе, информация по ним приходит в реплике. В таблицах fut_sess_contents и opt_sess_contents такие инструменты помечены специальным признаком.

Потоки репликации

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

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

Потоки, которые не переоткрываются:

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

Если для разрабатываемой системы критично иметь возможность отмечать совокупное консистентное состояние всех данных в торговой системе на некоторые «важные» моменты времени, то такая система должна использовать механизм синхрособытий, доступный начиная с версии 3.8.2 системы SPECTRA. Для синхронизации доступны следующие состояния торговой системы:

  • Данные для новой торговой сессии закачены и рассчитаны (~18:49-18:50, Московского времени)

  • Начало промежуточного клиринга (14:00, Московского времени)

  • Денежные средства после промклиринга перерассчитаны (~14:01:30, Московского времени)

  • Все расчетные процедуры в промклиринге закончены (~14:02, Московского времени)

  • Начало основного клиринга (18:45, Московского времени)

  • Данные после основного клиринга перерассчитаны (~18:49, Московского времени)

  • Раздвижка лимитов закончена (в течение торгов)

Для уведомления внешних систем о наступлении определенного состояния торговой системы, в потоки репликации добавляется новая таблица sys_events следующего формата:

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Идентификатор торговой сессии
event_typei4Тип события
messagec64Текстовое описание

Таблица добавляется в следующие потоки репликации:

Правила синхронизации данных следующие - при наступлении глобального события в торговой системе, после генерации всех данных по этому событию всеми подсистемами торговой системы, в таблицы sys_events вставляется запись с одним и тем же event_id, с event_type, соответствующим типу события:

  • 1 (session_data_ready) - закончена загрузка данных из клиринговой системы в торговую перед началом новой торговой сессии; события данного типа транслируются во всех потоках, где есть таблица sys_events, кроме потока FORTS_CLR_REPL

  • 2 (intraday_clearing_finished) - все расчетные процедуры в промклиринге закончены; события данного типа транслируются во всех потоках, где есть таблица sys_events, кроме потока FORTS_CLR_REPL

  • 3 (clearing_data_ready) - готовы данные после основного клиринга; транслируются только в потоке FORTS_CLR_REPL

  • 4 (intraday_clearing_started) - начало промклиринга; события данного типа транслируются во всех потоках, где есть таблица sys_events, кроме потока FORTS_CLR_REPL

  • 5 (clearing_started) - начало основного клиринга; события данного типа транслируются во всех потоках, где есть таблица sys_events, кроме потока FORTS_CLR_REPL

  • 6 (extension_of_limits_finished) - раздвижка лимитов закончена; события данного типа транслируются во всех потоках, где есть таблица sys_events, кроме потока FORTS_CLR_REPL

  • 8 (broker_recalc_finished) - денежные средства после промклиринга пересчитаны; события данного типа транслируются во всех потоках, где есть таблица sys_events, кроме потока FORTS_CLR_REPL

Внешняя система, может подписаться на получение таблицы событий во всех интересных ей потоках репликации и получить уведомление о том, когда данные готовы. Во всех потоках репликации записи в sys_events, относящиеся к одному событию в торговой системе будут иметь одинаковый event_id. В полях sess_id и message выдается расширенная информация – номер новой или текущей торговой сессии и текстовое сообщение. Обращаем особое внимание на тонкости:

  • Не гарантируется идентичность значений служебных полей replID, replRev в разных потоках репликации для одного и того же события. Ориентироваться стоит только на event_id.

  • Уведомление в sys_events приходит ПОСЛЕ всех данных, в частности это означает, что в режиме получения данных on-line внешняя система получит сначала сами новые данные, например, инструменты, назначенные в новую сессию или перенесенные в новую сессию многодневные заявки, а уже потом – уведомление в sys_events.

Расписание игровых и тестовых торгов

Помимо реальной торговой системы SPECTRA, существует игровая система и тестовая система для внешних разработчиков.

Расписание работы игровой системы:

  • Вечерняя торговая сессия: 19:15 — 22:00.

  • Утренняя торговая сессия: 06:00 — 09:00.

  • Основная торговая сессия: 09:00 — 18:45.

  • Промклиринг: 14:00 — 14:03.

  • Поставка и точки Х для поставки: 16:00 — 16:30.

Расписание работы тестовой системы для внешних разработчиков:

  • Вечерняя торговая сессия: 15:30 — 23:50.

  • Утренняя торговая сессия: 07:00 — 07:15.

  • Основная торговая сессия: 07:15 — 14:45.

  • Промклиринг: 12:00 — 12:05.

  • Точки Х для поставки: 13:00, 13:15.

  • Поставка: 13:30 — 14:00.

Управление рисками и лимитирование торговых операций

Гарантийное обеспечение

Реализованная в SPECTRA Система Управления Рисками позволяет в максимальной степени снизить риск неисполнения обязательств и осуществлять непрерывную оценку уровня рыночного риска позиций каждого участника. Ядром системы является алгоритм расчёта гарантийного обеспечения (initial margin, далее ГО) под открытые позиции участников торгов.

Одной из ключевых особенностей Системы Управления Рисками SPECTRA является использование онлайн расчёта обеспечения под заявки и позиции, производимого в рамках торговой транзакции. При таком подходе появление в системе необеспеченных заявок и сделок практически исключается, т.к. достаточность обеспечения проверяется до того, как заявка появляется в системе.

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

  • Расчетная фирма. Расчетные фирмы являются организациями, непосредственно несущими ответственность и покрывающие риски своих клиентов и субброкеров. Расчетные фирмы несут обязательства:

    • Членство в Секции срочного рынка.

    • Лицензия биржевого посредника, совершающего товарные фьючерсные и опционные сделки в биржевой торговле, выданная Федеральной службой по финансовым рынкам.

    • Взнос в Страховой фонд.

    • Гарантийное обеспечение собственных сделок и сделок своих клиентов и субброкеров.

  • Брокерская фирма. В отличие от расчетных фирм, брокерские фирмы не рассчитываются по операциям напрямую с биржей, а рассчитываются со своей расчетной фирмой, для брокеров нет требований по наличию лицензий и по внесению средств в Страховой фонд. Брокерские фирмы несут обязательства гарантийного обеспечения собственных сделок и сделок своих клиентов.

  • •Клиент. Любое юридическое и физическое лицо может принимать участие в торгах на рынке фьючерсов и опционов SPECTRA в качестве клиента. Для этого необходимо заключить договор на торговое обслуживание с брокерской фирмой или непосредственно с расчетной фирмой. Клиент совершает все действия в торгах от имени своей БФ или РФ.

В соответствии с реализованным подходом гарантийное обеспечение и риски рассчитываются на всех трех уровнях отдельно: отдельно риски по расчетной фирме, риски по всем брокерским фирмам РФ и риски по всем клиентам. Это является уникальным случаем в мировой практике, и гарантирует, что торговые лимиты, выставленные на клиента, никогда не будут им превышены.

Торговые лимиты

Торговые лимиты РФ и БФ — это денежные средства, размещенные этими РФ и БФ на своих торговых счетах в НКЦ. Денежные средства БФ — это сумма денежных средств всех клиентов БФ. Денежные средства РФ — это сумма денежных средств всех ее БФ, включая деньги самой РФ. РФ может переводить в течение торгов деньги между своими БФ и непосредственно собой. При этом суммарное количество денег у РФ не меняется.

Торговые лимиты используются для резервирования отрицательной вариационной маржи, списания сборов, списания/зачисления премии, резервирования ГО.

Денежные средства клиентов не поступают из клиринга. Они устанавливаются в рамках торговой системе самой БФ или РФ. Такие денежные средства называются торговым лимитом клиентов. Если у клиента есть лимит денежных средств, то при постановке им заявки происходит проверка достаточности средств у этого клиента. Если лимита денежных средств нет, то такая проверка не осуществляется. В этом случае осуществляется проверка достаточности средств только у БФ и ее РФ. В общем случае заявка может быть выставлена только при условии, что у всех трех уровней (клиента, БФ и РФ) достаточно денежных средств.

В ТС существуют денежные средства только двух видов — деньги и залоги. Залоги — это ЦБ или валюта, которые НКЦ согласен принимать в качестве обеспечения. Деньги и залоги в обеспечение принимаются в неравных долях. Доля залогов не может превышать 50% от общей суммы денежных средств.

Для управления торговыми лимитами клиентов используется Метод FutChangeClientMoney — Изменение клиентских лимитов. Он обеспечивает следующие возможности:

  • Установка/изменение/удаление торговых лимитов (отдельно для денег и залогов).

  • Усиление/ослабление требований к гарантийному обеспечению клиента путем ввода специального коэффициента, на который умножается суммарное ГО клиента при постановке заявки. Проверка на достаточность средств будет осуществляться с учетом этого коэффициента.

  • Автоматический учет результатов торгов клиента в лимитах в следующей торговой сессии.

Для управления торговыми лимитами брокерских фирм используется Метод FutChangeBFMoney — Изменение лимитов брокерских фирм Он позволяет только установить или изменить торговые лимиты.

Раздельный учёт средств и позиций участников клиринга и их клиентов

Раздельный учет средств и позиций (также - сегрегация средств) реализуется на уровне Брокерских Фирм (далее – БФ). Каждая БФ может быть использована для одной из трех целей:

  • для учета собственных средств и позиций Участника;

  • для учета средств и позиций клиентов Участника;

  • для учета средств и позиций, переданных в доверительное управление Участнику.

Учет денежных средств (рубли и валюта) БФ одного типа ведется по отдельному Расчетному коду (РК) в учетных системах НКЦ. Также у Участника есть возможность создавать дополнительные РК. Например, при желании участник может создать по одному РК для каждой БФ.

Ограничения на торговые операции и открытие позиций для клиентов

Система SPECTRA предоставляет возможность вводить дополнительные ограничения на проведение торговых операций клиентом, которые в системе формулируются как запреты. Можно по конкретному клиенту (по всем клиентам), инструменту (по всем инструментам) или базовому активу (по всем БА) запретить открывать позиции и выставлять заявки. Для выполнения таких действий в шлюзе предусмотрены методы: Метод FutChangeClientProhibit — Изменение клиентских ограничений для фьючерсов и Метод OptChangeClientProhibit — Изменение клиентских ограничений для опционов.

Проброс рисков между срочным рынком и валютным рынком

В ТКС SPECTRA заведены два технических инструмента (юридически не являеющихся торговыми инструментами) по управлению рисками: EURRUB_RSK и USDRUB_RSK, со специальным статусом в поле signs 0х20000.

В ТКС валютного рынка соответствующие инструменты заведены в борде RSKC.

В Клиринговой системе SPECTRA за каждой брокерской фирмой (далее – БФ) закрепляется Расчётный код, зарегистрированный в Торгово-клиринговой системе валютного рынка.

Для изменения единого лимита на валютном рынке участнику (Брокерской Фирме) необходимо подать адресную заявку без подтверждения с указанием инструмента по управлению рисками и выбором самого себя в качестве контрагента. Цена в заявке не указывается (система учитывает такую заявку как поданную по текущей расчетной цене, установленной для инструмента управления рисками).

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

В ТКС SPECTRA образуется техническая сделка по инструменту переноса риска, которая будет видна в шлюзовых интерфейсах в таблице deals с признаком nosystem=1, и будет присутствовать в отчётах с type=16.

Позиция, образовавшаяся в результате подобной сделки, является бессрочной. Закрыть ее можно совершением противоположно направленной сделки по тому же инструменту.

Перенос позиций (обязательств)

В рамках одной Расчетной Фирмы возможен перенос позиций с одной клиента Брокерской Фирмы на другого клиента Брокерской Фирмы.

Перенос позиций с одного кода раздела учета позиций на другой осуществляется путем подачи Участником клиринга в Торговую систему новой транзакции.

Проверки возможности подачи транзакции на перевод позиций — такие же, как при подаче заявки. Дополнительно проверяется, что в момент подачи транзакции объём переносимой позиции не превышает объёма соответствующей позиции, учитываемой на разделе-источнике; также при переводе позиций с одного клиентского раздела регистра учета позиций на другой ИНН/паспортные данные, закрепленные за такими разделами регистра учета позиций, должны совпадать, в том числе по разделам ОБФ.

Технически, перевод позиций оформляется как сделка с особым статусом status_buy==status_sell==0x4/0x8/0x4000000 по покупке (или продаже) с раздела-источника и продаже (покупке) по разделу-приемнику, и юридически сделкой не является. Перевод позиций транслируется и в шлюзе, и в отчетах (f04/o04).

Приостановка торгов для расширения лимита колебаний цен сделок

Приостановка торгов для расширения лимита колебаний цен сделок осуществляется в соответствии с "Положением о порядке установления и изменения лимитов колебаний цен сделок и о процедуре принудительного закрытия Позиций" (Приложение Ф5 к Правилам осуществления клиринговой деятельности на рынке ценных бумаг, срочном рынке и валютном рынке).

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

  • При наступлении условий для приостановки торгов по какому-либо базовому активу, торги по этому базовому активу приостанавливаются.

  • Администраторами торгов рассчитываются новые расширенные лимиты колебаний цен.

  • Производится пересчет обеспечения по всем позициям по этому базовому активу (при расширении лимитов обеспечение увеличивается).

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

  • Возобновление торгов в нормальном режиме.

Данные действия сопровождаются рассылкой администраторами торгов соответствующих уведомлений (см. таблицу sys_messages потока FORTS_FUTINFO_REPL):

  • Предупреждение о том, что если цены не изменятся, то через определенное время произойдет приостановка торгов по такому-то инструменту.

  • Уведомление о том, что приостановка торгов реально произведена.

  • Уведомление о том, что обеспечение пересчитано, можно удалять заявки.

  • Уведомление о возобновлении торгов.

Описание торгового шлюза

Состав, установка и настройка ПО шлюз SPECTRA Plaza-2

Состав и архитектура шлюза

Шлюз SPECTRA Plaza-2 включает в себя следующие программные компоненты:

  • Модуль P2MQRouter. Данный модуль обеспечивает:

    • Установку TCP-соединений с серверами биржи.

      Стандартно шлюз SPECTRA Plaza-2 использует четыре TCP-соединения с серверами биржи: одно исходящее default connection и три исходящих direct connection. Такое построение является основной штатной конфигурацией при подключении к серверной ферме биржи. Конфигурация соединений при подключении через сервер доступа брокера может отличаться, в этом случае требуется запрашивать конкретную конфигурацию у владельца сервера.

    • Прием/отправку P2-сообщений.

    • Шифрацию информации, отправляемую участником, и дешифрацию информации, принимаемую от биржи.

    • Аутентификацию участника в сети биржи.

  • Шлюзовая библиотека cgate.

    Библиотека является официальными программным интерфейсом, предоставляемым участникам торгов, клиентам участников торгов, а также компаниям-разработчикам для создания программного обеспечения. Данный интерфейс обеспечивает возможность создания и отсылки бизнес-сообщений в ТС, а также получения рыночной информации из нее (репликация данных). Библиотека выпускается для 32х разрядных и 64х разрядных систем Windows, а также для ОС Linux.

  • Системные библиотеки Plaza-2.

  • Комплект средств разработки: дополнительные утилиты и командные файлы, документация, тестовые примеры.

Рисунок 2. Шлюз SPECTRA Plaza-2. Архитектура

Шлюз SPECTRA Plaza-2. Архитектура

Требования к аппаратной и программной инфраструктурам

Аппаратные требования

Требования к аппаратному обеспечению варьируются в зависимости от способа использования шлюза Plaza-2.

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

  • Процессор Core 2 duo с частотой 1 ГГц или выше

  • Оперативная память не меньше 2 Гб, для 64-битных ОС 4Гб

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

  • Процессор Intel Xeon E5 серии, количество ядер от 2-х и больше

  • Оперативная память не меньше 16 Гб

  • Отдельный контроллер SAS. Как минимум 2 диска в RAID1. Два раздела 30 Гб

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

  • Процессор Intel Xeon E5 серии, количество ядер от 2-х и больше

  • Оперативная память не меньше 16 Гб

  • Отдельный контроллер SAS с режимом кеширования записи write-back. Как минимум 4 диска в RAID10. Два раздела 30 Гб

Программные требования

Шлюзовое ПО поддерживает следующие версии операционных систем:

  • Microsoft Windows 2003/XP

  • Microsoft Windows 7

  • Microsoft Windows Server 2008 R2 и старше

  • Linux RedHat 6.0 (CentOS 6.0) и старше

  • Ubuntu 14.04 LTS / Debian и старше

Для разработки ПО может использоваться любой язык программирования с поддержкой технологии COM, например C++, языки на технологии .NET, Delphi и т.п.

Установка ПО в среде Windows

Заберите новую версию шлюза с сервера разработчиков ftp://ftp.moex.com/pub/FORTS/Plaza2/CGate/. Имя инсталляционного файла - setup_SpectraCGate_x86_vx.x.x .exe (setup_SpectraCGate_x64_vx.x.x .exe), где х.х.х - номер версии ПО, например 1.3.10.

Запустите полученный файл setup_SpectraCGate_x86_vx.x.x.exe (setup_SpectraCGate_x64_vx.x.x.exe). Установка производится с помощью мастера установки.

Рисунок 3. Начало установки

Начало установки

Нажмите кнопку "Далее" для продолжения установки.

Рисунок 4. Вид установки

Вид установки

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

Нажмите кнопку "Далее", чтобы активировать следующий шаг.

Рисунок 5. Выборочная установка

Выборочная установка

Выберите требуемые программные компоненты и каталог для установки. Директория установки должна быть расположена в соответствии с административными рекомендациями.

Нажмите кнопку "Далее", чтобы активировать следующий шаг.

Рисунок 6. Варианты подключения к ТС

Варианты подключения к ТС

Выберите ТС, к которой необходимо подключаться (production, тестовая, игровая и т.п.), или введите свои параметры для соединения с серверами биржи. После установки соответствующие параметры соединения прописываются в ini-файле модуля P2MQRouter.

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

Нажмите кнопку "Далее", чтобы активировать следующий шаг.

Рисунок 7. Ввод логина и пароля

Ввод логина и пароля

Введите логин и пароль для доступа в торговую систему. После установки введенные значения прописываются в ini-файле модуля P2MQRouter, и используются им при запуске, для автоматической аутентификации в сети биржи. Обратите внимание на то, что логины и пароли от боевых подключений, тестовых и игровых – разные.

Нажмите кнопку "Далее", чтобы активировать следующий шаг.

Рисунок 8. Регистрация роутера как сервис ОС

Регистрация роутера как сервис ОС

При необходимости установить роутер как сервис ОС Windows выставите чекбокс и нажмите кнопку "Далее", чтобы активировать следующий шаг.

Если при инсталляции P2MQRouter не был зарегистрирован как сервис ОС, в дальнейшем это можно исправить вручную, воспользовавшись командным файлом install_router.cmd (uninstall_router.cmd) из дистрибутива.

Рисунок 9. Запуск установки

Запуск установки

Нажмите кнопку "Установить", чтобы начать установку.

Рисунок 10. Завершение установки

Завершение установки

Нажмите кнопку "Готово" для завершения процесса установки.

Установка ПО в среде Linux

Дистрибутив шлюза для среды Linux состоит из инсталляционного скрипта (install.sh) и архива tar.gz (например, cgate-1.3.9.8.x86_64.tar.gz), в котором находятся загружаемые модули cgate, cgate_java, файлы include, файлы документации и файлы примеров. Дистрибутив доступен для скачивания по адресу: ftp://ftp.moex.com/pub/FORTS/Plaza2/CGate/.

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

  1. Выполните команду:

    chmod 755 ./install.sh
  2. Выполните команду:

    ./install.sh ./cgate-1.3.9.8.x86_64.tar.gz

    Примечание

    Если после выполнения команды ./install.sh ./cgate-1.3.9.8.x86_64.tar.gz вы получите ответ "Отказано в доступе", выполните команду chmod 755 ./install.sh - она добавит необходимые разрешения в атрибуты файла.

  3. В ответ на запрос: "Please, enter cgate install path:" укажите полный путь к каталогу, в который вы хотите распаковать шлюз.

  4. В ответ на запрос: "Please, enter P2 login:" укажите логин пользователя.

  5. В ответ на запрос: "Please, enter P2 password:" укажите пароль пользователя.

  6. Дальнейшие шаги установки различаются в зависимости от версии ОС Linux, установленной на компьютере:

    • Debian 6:

      • Установить пакет ant

      • Установить пакет openjdk-6-jdk (компиляция примеров java)

      • Установить пакет g++ (компиляция примеров C++).

    • CentOS 6:

      • Установить пакет gcc

      • Установить пакет gcc-c++ (компиляция примеров C++)

      • Установить пакет ant (компиляция примеров java).

Рекомендации по разработке

Использование тестовых примеров

Для проверки корректности установки ПО и готовности к разработке можно выполнить тестовую сборку примеров и их исполнение.

Примеры располагаются в каталоге Moscow Exchange\SpectraCGate\SDK\samples для платформы Windows или в каталоге /usr/share/doc/cgate-examples для Linux. Сборка примеров выполняется запуском сборочных скриптов, которые различаются в зависимости от используемой платформы и языка программирования. Для ОС Linux рекомендуется сделать копию примеров в своём домашнем каталоге и собирать их оттуда.

Описание примеров:

  1. Пример aggrspy

    aggrspy - пример построения агрегированного стакана на покупку и продажу по фиксированному инструменту по потоку FORTS_FUTAGGR50_REPL. При нажатии Enter в outfile выводится срез стакана.

    Команда для запуска:

    aggrspy ISIN_ID depth outfile [r]

    Входные аргументы:

    • isin_id - id инструмента;

    • depth - глубина выводимого стакана в файл (не больше 50);

    • outfile - файл для печати стакана;

    • r - включить обратное направление сортировки (параметр используется для инструментов с обратной сортировкой).

  2. Пример repl

    repl - получение реплики данных по потоку. Пример печатает все получаемые сообщения в log. При разрыве соединения реплика начинается сначала. Входных аргументов нет.

  3. Пример repl_resume

    repl_resume - пример аналогичен repl. Отличие заключается в том, что после разрыва соединения repl_resume продолжает реплику с последнего сообщения TN_COMMIT. Входных аргументов нет.

  4. Пример send

    send - выставляет заявку на SPECTRA. Выводит в лог ответ торговой системы. Входных аргументов нет.

  5. Пример orderbook

    orderbook - пример построения агрегированного стакана на покупку и продажу по фиксированному инструменту по online потоку FORTS_ORDLOG_REPL и снэпшот потоку FORTS_FUTORDERBOOK_REPL. Рекомендуется для разработки late join и минимизации времени простоя при закачке архивных данных. При нажатии Enter в outfile выводится срез стакана.

    Команда для запуска:

    orderbook ISIN_ID depth outfile [r]

    Входные аргументы:

    • isin_id - id инструмента;

    • depth - глубина выводимого стакана в файл (не больше 50);

    • outfile - файл для печати стакана;

    • r - включить обратное направление сортировки (параметр используется для инструментов с обратной сортировкой).

  6. Пример p2sys

    p2sys - пример авторизации роутера из cgate. Повторяет в цикле следующие действия:

    • Посылает ошибочный набор (login, pwd), в ответ получает сообщение logon failed;

    • После этого посылает правильный набор (login, pwd);

    • На сообщение об успешной авторизации посылается запрос на logout;

    • Возврат к началу.

  7. Пример send_mt

    send_mt - пример многопоточной посылки заявки. (Примечание: компилируется только под компиляторами, поддерживающими C++11.). В треде 1 посылаются заявки. В треде 2 обрабатываются reply на посылаемые заявки.

Для исполнения примеров необходимо убедиться, что P2MQRouter запущен и соединен с сетью Plaza-2 (анализом сообщений роутера), в доступности библиотек Plaza-2 для запускаемого файла примера (возможно потребуется добавление каталога Moscow Exchange\SpectraCGate\bin в переменную окружения PATH или указание каталога Moscow Exchange\SpectraCGate\bin в вашей среде разработки), а также в доступности конфигурационных файлов.

Примечание

Указанные примеры не предназначены для копирования и использования в работе с данными, отличными от тестовых. Использование этих примеров для работы с реальными логинами категорически запрещено.

Распределенные конфигурации

Приложение пользователя с cgate и модуль P2MQRouter могут функционировать на разных компьютерах. Для разнесения роутера и клиентских приложений на разные компьютеры в сети брокера следует установить роутер из дистрибутива на компьютер, с которого будет осуществляться доступ в сеть биржи, установить cgate из дистрибутива на компьютер, где будет работать приложение пользователя, и сделать следующие настройки:

  • Со стороны клиента:

    • Установить свойства Host, Port в значения, соответствующие установке роутера в вашей корпоративной сети.

    • Правильно установить свойство Password — локальный пароль приложения AppName на роутере. При соединении приложения и роутера вне пределов одного компьютера, требуется задавать пароль локального соединения. Пароль локального соединения и пароль для аутентификации приложения в сети Plaza-2 – это разные вещи! Нельзя их путать.

  • Со стороны роутера:

    • В ini-файле роутера в секции [AS:Local] прописать строку <AppName>=<local password>, где AppName и local Password – имя приложения и его локальный пароль – должны соответствовать параметрам, передаваемым клиентским приложением.

Рекомендации по включению рантаймов МБ в приложение пользователя при распространении пользовательского ПО сторонним компаниям

Набор файлов, который копируется в каталог установки шлюза Moscow Exchange\SpectraCGate\bin, а также схемы данных и сообщений, находящиеся в каталоге Moscow Exchange\SpectraCGate\SDK\scheme, должны копироваться пользователем из каталога установки в каталог со своим приложением и распространяться вместе с ним.

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

Состав транслируемой информации

В данном разделе описывается состав информации, транслируемой в шлюзе Plaza-2.

Все транслируемые данные разделены на следующие логические группы:

  • Справочная информация

  • Торговая информация

  • Информация для восстановления

  • Информация о средствах и лимитах

  • Клиринговая информация

  • Информация об индексах и курсах

  • Вспомогательные информационные потоки

Справочная информация

Справочная информация содержит следующие данные:

  • Расписание и статус торговых сессий

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

  • Справочники инструментов и базовых активов, их свойства

    Назначенные в торговую сессию фьючерсные инструменты доступны в таблице fut_sess_contents потока FORTS_FUTINFO_REPL. Составные инструменты, такие как Репо, также перечислены в этой таблице. Опционные инструменты транслируются в таблице opt_sess_contents потока FORTS_OPTINFO_REPL. Справочник базовых активов фьючерсов представлен таблицей fut_vcb потока FORTS_FUTINFO_REPL.

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

  • Справочники фирм и клиентов

    Транслируются в таблицах diler и investr потока FORTS_FUTINFO_REPL. В данных справочниках доступны исключительно сведения о клиентах своей фирмы.

  • Справочник облигаций

    Облигации описываются набором таблиц потока FORTS_FUTINFO_REPL: справочник параметров облигаций fut_bond_registry, справочник инструментов облигаций fut_bond_isin, НКД на даты выплат купонов fut_bond_nkd, размеры выплат номинальной стоимости облигации fut_bond_nominal.

  • Коэффициенты параметрической кривой волатильности для опционов

    Транслируются в таблице volat_coeff потока FORTS_MISCINFO_REPL.

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

  • Расписание сессий (session)

  • Справочник инструментов (fut_sess_contents, opt_sess_contents)

Торговая информация

Торговая информация включает в себя:

  • Агрегированные стаканы

    Формируются на основе системных заявок пользователей путем суммирования объёма для каждого инструмента, ценового уровня и направления заявки. Обновляются в режиме он-лайн и являются основным способом получения информации о текущих ценах и объёмах. Пользователь может выбрать желаемую глубину стакана из вариантов 5, 20 или 50 котировок в каждом из направлений; данный выбор осуществляется при конфигурировании логина и не может быть изменен в ходе торговой сессии.

    Стаканы транслируются несколькими потоками репликации Plaza-2:

  • Общерыночные показатели

    В составе общерыночных показателей транслируется такая информация как лучшие заявки на покупку и продажу, цены открытия, закрытия, текущие расчетные цены и т.п. Данная информация транслируется в составе потоков FORTS_FUTCOMMON_REPL и FORTS_OPTCOMMON_REPL для фьючерсов и опционов соответственно.

  • Журнал заявок пользователя (а также - полный журнал заявок торговой системы)

    В журнале заявок пользователя транслируется вся история операций по заявкам пользователя. Журналы заявок пользователя доступны в таблице orders_log потока FORTS_FUTTRADE_REPL для фьючерсов, таблице orders_log потока FORTS_OPTTRADE_REPL для опционов, а также в таблице multileg_orders_log потока FORTS_FUTTRADE_REPL для заявок по инструментам Репо и составным инструментам.

    В случае, если пользователь при конфигурации логина указал опцию "Полный журнал заявок", помимо своих заявок, пользователь будет получать полный журнал всех операций с заявками на рынке в анонимизированном виде, доступный в таблице orders_log потока FORTS_ORDLOG_REPL.

  • Журнал сделок пользователя

    Содержит список всех совершенных пользователем за текущую сессию сделок. Журналы сделок пользователя доступны в таблице user_deal потока FORTS_FUTTRADE_REPL для фьючерсов, таблице user_deal потока FORTS_OPTTRADE_REPL для опционов, а также в таблице user_multileg_deal потока FORTS_FUTTRADE_REPL для сделок по инструментам Репо и составным инструментам.

  • Журнал сделок торговой системы

    Содержит список всех сделок, совершенных всеми пользователями за текущую сессию. Данные сделок чужих пользователей представлены в анонимизированном виде. Журналы сделок пользователя доступны в таблице deal потока FORTS_DEALS_REPL для фьючерсов и опционов, а также в таблице multileg_deal для сделок по инструментам Репо и составным инструментам.

Информация для восстановления

Для обеспечения возможности быстрого восстановления получения торговой информации после потери соединения со SPECTRA, равно как и для реализации сценария позднего подключения к бирже, в составе шлюза Plaza-2 осуществляется трансляция периодических срезов текущих стаканов в неагрегированном виде. Это позволяет получить актуальное состояние своих заявок (а в случае подключенной опции "Полный журнал заявок" - всех заявок в системе) на текущий момент времени.

Срезы активных заявок транслируются с периодичностью 1 минута в потоках FORTS_FUTORDERBOOK_REPL для фьючерсов и FORTS_OPTORDERBOOK_REPL для опционов. Для заявок Репо в настоящее время не предусмотрены подобные потоки в силу того, что объём транслируемой информации по таким инструментам мал и позволяет осуществлять восстановление с использованием потоков с торговой информацией.

Информация о средствах и лимитах

Включает следующие данные:

  • Информация о позициях

    Транслируется в виде временных срезов в потоке FORTS_POS_REPL. Для каждого значения позиции доступен идентификатор последней сделки, вошедней в расчет записи по позиции.

  • Информация о средствах и лимитах клиентов

    Транслируется в виде временных срезов в потоке FORTS_PART_REPL. Для каждого значения клиентского счета указаны размеры средств (как денег, так и залогов) на начало торговой сессии, текущие и резервы средств.

Клиринговая информация

Клиринговая информация, транслируемая в составе шлюза Plaza-2 включает следующие данные:

  • Расчетные цены клиринга

    Формируются в момент проведения вечернего клиринга. Доступны в таблице fut_sess_settl потока FORTS_FUTINFO_REPL. Таблица с расчетными ценами включает также инструменты, срок действия которых закончился, что позволяет использовать данную таблицу для получения правильных цен по которым будет произведена поставка.

  • ВМ промежуточного клиринга

    Вариационная маржа промежуточного клиринга доступна в таблице fut_intercl_info потока FORTS_FUTINFO_REPL для фьючерсов и таблице opt_intercl_info потока FORTS_OPTINFO_REPL для опционов.

  • Отчет о поставке

    Содержит сведения о поставленных и непоставленных активах в разрезе клиент-инструмент. Отчет доступен в таблице delivery_report потока FORTS_FUTINFO_REPL .

  • Реестры отвергнутых в клиринг заявок

    Перечисляют заявки, перевыставление которых в клиринг не было произведено по причине нехватки средства. Реестр для фьючерсов транслируется в таблице fut_rejected_orders потока FORTS_FUTINFO_REPL

  • Средства клиентов по результатам клиринга

    Включают в себя информацию о сумме средств на счетах, движении по счетам, сборах, суммарном ГО и ВМ на момент клиринга. Транслируются в потоке FORTS_CLMONEY_REPL.

  • Заявки на исполнение опционов

Информация об индексах и курсах

В составе данной группы присутствует следующая информация:

  • Текущие значения индексов РТС

    Включает текущие значения биржевых индексов. Значения в данной таблице обновляются с периодичностью 15 секунд. В состав информации об индексах входит значение курса USD, с использованием которого был произведен расчет индекса. Данные транслируются в потоке RTS_INDEX_REPL.

  • Значения курсов валют

    Содержат значения курсов валют, используемые в торговой системе для обработки контрактов, рассчитываемых в валюте, отличной от рублей. Значения курсов валют доступны в таблице curr_online потока MOEX_RATES_REPL.

Вспомогательные информационные потоки

В данную группу отнесены информационные потоки, предоставляющие дополнительные функции:

  • Текущие значения вариационной маржи

    Транслируются в потоке FORTS_VM_REPL в разрезе позиций клиентов.

  • Текущие значения волатильности и теоретические цены для опционов

    Транслируются в потоке FORTS_VOLAT_REPL .

Особенности использования шлюза

Служебные поля репликации

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

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

  • replRev — уникальный номер изменения в таблице. При любом изменении в таблице (вставке, редактировании, удалении записи) затронутая запись получает значение replRev, равное максимальному replRev в таблице до изменения +1.

  • replAct — признак того, что запись удалена. При удалении записи на сервере в поле replAct заносится значение ее replID. Если replAct = 0 — запись активна (не удалена).

Команды

Для отправки команд необходимо создать публикатор с параметрами NAME = FORTS_SRV, catеgory = FORTS_MSG. Для получения ответов на отправленные сообщения необходимо в функции отправки сообщения задать флаг CG_PUB_NEEDREPLY, а также создать подписчик с типом p2mqreply.

В случае ошибки в доставке и обработке сообщения на системном уровне, код клиента может получить либо ошибку при выполнении функции отправки сообщения, либо ответное сообщение специального типа "системная ошибка":

ПолеТипОписание
codei4Код возврата
messagec255Текст сообщения.

Обратите внимание, что сообщение "системная ошибка" может быть отправлено в ответ на любое сообщение бизнес-логики.

Контроль аномальной активности

В ТС SPECTRA действует система ограничения аномальной активности клиентских приложений. Она не позволяет приложению пользователя (одному логину в системе SPECTRA) присылать более оговорённого в заявке на подключение количества сообщений в единицу времени. В настоящий момент можно получить логин в систему SPECTRA с ограничением 30, 60, 90 и т.д. торговых операций в секунду. К торговым операциям относятся все команды управления заявками. Количество неторговых (всех остальных) операций для любого типа логина ограничено 500 в секунду.

При превышении лимита сообщений, система контроля не транслирует сообщение в ядро ТС, а посылает пользователю сообщение-ответ с уведомлением об отказе в обслуживании, P2_Type = 99 следующей структуры:

ПолеТипОписание
queue_sizei4Количество сообщений пользователя
penalty_remaini4Время в миллисекундах, по прошествии которого будет успешно принято следующее сообщение от этого пользователя
messagec128Текст сообщения об ошибке

Обращаем внимание на два нюанса:

  1. Количество сообщений за истекшую секунду оценивается при приёме КАЖДОГО сообщения. Это значит, что если пользователь постоянно присылает запросы с частотой, больше, чем ему разрешено, то его сообщения перестают обрабатываться вообще.

  2. Сообщение-отказ с типом 99 может быть послано в ответ на любое сообщение пользователя.

Мониторинг latency со стороны клиента

Для централизованного мониторинга времен выставления заявок и задержек в распространении данных, в P2ClientGate существует функциональность автоматической простановки метки времени в исходящих сообщениях и последующего анализа разницы во времени между текущим моментом при приходе ответа на команду или приходе записи по реплики и исходной меткой времени, проставленной при отправке. P2ClentGate накапливает срезы статистической информации по задержкам, которые доступны для считывания и анализа централизованной системой мониторинга SPECTRA. Важное замечание. Для работоспособности этого функционала требуется установить ПО Plaza2 и использовать версии схем сообщений, соответствующие системе SPECTRA 3.8.2 и новее. Отличительным признаком новых схем сообщений с поддержкой централизованного мониторинга являются строки

LocalTimeField=<имя поля>

в описаниях сообщений.

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

Автоматическое снятие заявок при отключении пользователя от торгов

В ТС SPECTRA предусмотрен механизм контроля за состоянием подключения клиента (сервис "Cancel On Disconnect"), который позволяет при отключении клиента от ТС автоматически снимать все активные заявки клиента. Снимаются только обычные (без срока истечения), безадресные заявки.

Для включения сервиса (а также отключения) фирме-Участнику торгов необходимо подать соответствующее распоряжение через Клиентский Центр. Сервис включается для идентификатора (p2login), принадлежащего фирме-Участнику.

При подключении идентификатора с включенной услугой "Cancel On Disconnect" к ТС для него активируется режим контроля за состоянием подключения (COD-режим).

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

  • Если для клиента активирован COD-режим, то система отслеживает активность подключения на транзакционном уровне. Каждая команда (сообщение) клиента, зарегистрированная в системе, вне зависимости от её успешности, трактуется как проявление активности.

  • Если за установленный в качестве порога неактивности временной интервал (в текущей реализации = 20 сек.) клиент не отправил ни одного сообщения или, потеряв подключение к системе, не подключился заново, все его активные заявки автоматически снимаются.

Возможные ситуации, при которых происходит запуск процедуры снятия активных заявок:

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

  • Клиентское приложение потеряло соединение с роутером. Активные заявки буду сняты по истечении установленного периода времени.

  • Роутер потерял соединение с сервером доступа. Активные заявки буду сняты по истечении установленного периода времени.

  • Сервер доступа потерял соединение с ТС или утратил работоспособность вследствие возникшей ошибки. Активные заявки клиентов, не установивших соединение с другим сервером доступа, будут сняты по прошествии времени, установленного в качестве порога неактивности.

  • Возможна ситуация, когда сервер доступа, частично утрачивая работоспособность, оповещает ТС об активности от имени своих клиентов, но фактически теряет с ними соединение. Такая ситуация не может быть идентифицирована ТС Биржи и должна быть урегулирована на стороне Участника.

Для всех клиентов с COD-режимом заявки также автоматически снимаются после окончания вечерней торговой сессии и при восстановлении системы после сбоя.

Заявки, снятые механизмом "Cancel On Disconnect", в таблицах помечаются специальным статусом (поле xstatus).

При отсутствии торговой активности, чтобы предотвратить снятие заявок, клиентское приложение должно информировать ТС об активности подключения путем отправки не реже одного раза в 10 секунд, но не чаще чем раз в секунду, специальной команды CODHeartbeat (P2_Type=10000) следующей структуры:

ПолеТипОписание
seq_numberi4Номер сообщения-хартбита (в текущей версии не используется).

Команда не учитывается при расчете сбора за транзакции.

Сервис контроля подключений не отправляет ответных сообщений на хартбиты, поэтому при вызове функции отправки сообщения следует указывать ноль (не ожидать ответа): cg_pub_post(pub, msgptr, 0). Вызов функции cg_pub_post с флагом CG_PUB_NEEDREPLY при отправке хартбита приведет к получению ошибки CG_MSG_P2MQ_TIMEOUT.

Обработка нештатных ситуаций

Восстановление при потере соединения с Биржей

Шлюз Plaza2 в стандартной конфигурации использует четыре TCP соединения с серверами биржи:

  • Соединение для подачи приказов/команд.

  • Соединение для получения основных рыночных данных. К таким данным относятся потоки агрегатов, потоки FORTS_ORDLOG_REPL, FORTS_DEALS_REPL, FORTS_FUTTRADE_REPL, FORTS_OPTTRADE_REPL, FORTS_FUTCOMMON_REPL и FORTS_OPTCOMMON_REPL.

  • Соединение для получения вспомогательных и справочных потоков.

  • Соединение для получения данных для восстановления при восстановлении связи или первоначальном присоединении (Snapshot).

Рисунок 11. Схема соединений

Схема соединений

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

Диагностика разрыва соединений

За установку TCP соединений отвечает ПО P2MQRouter, все настройки для данных соединений прописаны в конфигурационном файле роутера, при этом соединение для "Other Data" указывается как исходящее default connection, а остальные как исходящие direct connection. Такое построение является основной штатной конфигурацией при подключении к серверной ферме биржи. Конфигурация соединений при подключении через сервер доступа брокера может отличаться, в этом случае требуется запрашивать конкретную конфигурацию у владельца сервера.

За восстановление соединения в случае разрыва также отвечает P2MQRouter, при обрыве он автоматически, с заданной периодичностью пытается восстановить соединение, при этом пользовательское приложение повлиять на эти процессы никак не может. И в этом случае, отследить разрыв соединения приложение пользователя может по изменению статуса P2MQRouter с ROUTER_CONNECTED на ROUTER_RECONNECTING, получая уведомления об изменении статуса от объекта "connection".

Поведение клиентов разных API

Поведение приложений зависит от используемого ими программного интерфейса.

P2ClientGate

Библиотека P2ClientGate при обрыве соединения не генерирует дополнительных уведомлений и не изменяет состояния других объектов API (потоков данных DataStream). Поведение объектов DataStream таково – каждый экземпляр такого объекта ждет входящих данных или служебных сообщений от сервера в течение таймаута репликации. Этот таймаут фиксирован для всех потоков и равен 5 минутам. Таким образом, если у приложения происходит обрыв сетевого соединения и приложение не обрабатывает изменение статуса роутера на ROUTER_RECONNECTING, то через 5 минут один или несколько объектов DataStream могут перейти в ошибочное состояние.

Разрыв связи с гейтом обработки входящих приказов не диагностируется непосредственным образом. Косвенным признаком того, что соединение с гейтом обработки входящих приказов разорвано, служат ошибки P2MQ_TIMEOUT при отправке сообщений-приказов.

Рекомендуемым поведением в такой ситуации может быть следующее. Если требуется оперативно определить, что соединение разорвано, то приложение, получив уведомление об изменении статуса соединения на ROUTER_RECONNECTING, должно закрыть все свои потоки репликации (объекты DataStream) и попытаться их создать заново. Если какой-либо из них не создается по причине работы через сбойное сетевое соединение, то пытаться открыть этот поток в цикле с интервалом в несколько секунд между попытками. Другой вариант действий (пассивный) — это дождаться пока сбойный поток через какое-то время (5 минут) сам закроется с ошибкой, и тогда попытаться его открыть заново.

Для корректной работы с гейтом обработки входящих приказов рекомендуется при получении уведомление об изменении статуса соединения на ROUTER_RECONNECTING, выполнить вызов Connection.ResolveService для сервиса FORTS_SRV. Если вызов отработал без ошибок, то для отправки приказов надо использовать адрес, возвращенный вызовом ResolveService. Если вызов возвратил ошибку – гейт обработки входных приказов не доступен, необходимо вызывать ResolveService в цикле до успешного отрабатывания вызова.

CGate версий до 1.3.9 включительно

Библиотека CGate версии до 1.3.9 включительно ведет себя иначе. При нарушении соединений роутера все объекты (publisher, listener), которые привязаны к локальному соединению приложения с роутером, автоматически переводятся в состояние ERROR. В этом случае объекты в состоянии ERROR необходимо освободить, и с какой-то периодичностью (например, раз в несколько секунд) пытаться переоткрыть заново.

CGate версии 1.3.10

Библиотека CGate версии 1.3.10 имеет существенно переработанный механизм обработки разрывов связи.

Разрыв соединения с гейтом обработки входных приказов диагностируется непосредственно в момент получения ошибки TCP-соединения. При этом, затронутые разрывом объекты publisher переходят в ошибочное состояние.

Диагностика разрыва соединения, используемого для получения основных рыночных данных, происходит в течение 15 секунд для colocation (потоки _FASTREPL) или в течение 30 секунд при работе с основной фермой серверов (потоки _REPL). Затронутые объекты listener при этом переходят в ошибочное состояние.

Объекты в состоянии ERROR необходимо освободить, и с какой-то периодичностью (например, раз в несколько секунд) пытаться переоткрыть заново.

Процедура восстановления

В общем случае, алгоритм восстановления подключения следующий:

  • После старта предпринимать периодические попытки открыть соединение с P2MQRouter.

  • При восстановлении соединения рутера с сетью Plaza2 объект соединение перейдет в состояние ACTIVE.

  • Произвести открытие нужных потоков. Для ускорения процедуры восстановления рекомендуется выполнять получение данных с момента последнего обновления. При открытии потока следует указывать replstate, полученный в момент закрытия потока, или явно задавать номера ревизий для таблиц и номер жизни схемы, используя последние номера фактически полученных данных.

  • Произвести восстановление списка активных заявок (см. далее).

  • Зарегистрировать publisher для приказов/команд.

Ниже в таблице приведены рекомендуемые способы восстановления данных в зависимости от получаемого потока:

Имя потока (таблицы)Информация в потокеСпособ восстановления
FORTS_FUTTRADE_REPL
  • orders_log

FORTS_OPTTRADE_REPL

  • orders_log

Журналы операций со своими заявками по фьючерсам и опционамСписок активных заявок:
  • использование потока FORTS_FUTORDERBOOK_REPL (FORTS_OPTORDERBOOK_REPL) для получения snapshot, а затем открытие потока FORTS_FUTTRADE_REPL (FORTS_OPTTRADE_REPL) с указанным в snapshot номером ревизии

Журнал действий с заявками:

  • открытие FORTS_FUTTRADE_REPL (FORTS_OPTTRADE_REPL) с последнего полученного номера ревизии

FORTS_FUTTRADE_REPL
  • multileg_orders_log

Журналы операций со своими заявками по связкамЖурнал действий с заявками:
  • открытие FORTS_FUTTRADE_REPL с последнего полученного номера ревизии

FORTS_ORDLOG_REPL
  • orders_log

Полный анонимный журнал операций с заявками по фьючерсам и опционамСписок активных заявок:
  • использование потока FORTS_ORDRBOOK_REPL для получения snapshot, а затем открытие потока FORTS_ORDLOG_REPL с указанным в snapshot номером ревизии

Журнал действий с заявками:

  • открытие FORTS_ORDLOG_REPL с последнего полученного номера ревизии

FORTS_ ORDLOG _REPL
  • multileg_orders_log

Полный анонимный журнал операций с заявками по связкамЖурнал действий с заявками:
  • открытие FORTS_ORDLOG_REPL с последнего полученного номера ревизии

FORTS_DEALS_REPL
  • deal

  • multileg_deal

FORTS_FUTTRADE_REPL

  • user_deal

  • multileg_deal

FORTS_OPTTRADE_REPL

  • user_deal

Журнал сделок по фьючерсам, составным инструментам и опционамПереоткрытие соответствующего потока с указанием последнего полученного номера ревизии или repl state, полученного в момент закрытия потока
FORTS_FUTCOMMON_REPL

FORTS_OPTCOMMON_REPL

Общая рыночная информация по фьючерсам и опционамПереоткрытие соответствующего потока с нуля
FORTS_FUTAGGR##_REPL

FORTS_OPTAGGR##_REPL

Стаканы по фьючерсам и опционам (## - глубина стакана)Переоткрытие соответствующего потока с нуля
FORTS_FUTINFO_REPL

FORTS_OPTINFO_REPL

Справочная и сессионная информацияБыстрый способ:
  • Переоткрытие соответствующего потока с указанием последнего полученного номера ревизии или repl state, полученного в момент закрытия потока

Допустимый способ:

  • Переоткрытие соответствующего потока с нуля

FORTS_PART_REPLИнформация о лимитахПереоткрытие потока с нуля
FORTS_POS_REPLИнформация о позицияхПереоткрытие потока с нуля
FORTS_VM_REPLИнформация о ВМПереоткрытие потока с нуля
FORTS_VOLAT_REPLИнформация о волатильности и теоретических ценах опционовПереоткрытие потока с нуля
RTS_INDEX_REPLЗначения биржевых индексовПереоткрытие потока с нуля
RTS_INDEXLOG_REPLИстория значений биржевых индексовПереоткрытие потока с указанием последнего полученного номера ревизии или repl state, полученного в момент закрытия потока

Примечание

Восстановление данных по потокам colocation (с суффиксами _FASTREPL) происходит также, как и по обычным потокам с аналогичными названиями.

При восстановлении соединения важной задачей является получение текущих активных заявок пользователя:

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

  2. Получение журнал действий с заявками в период отсутствия соединения.

Задача 1 решается путём получения среза заявок (FORTS_FUTORDERBOOK_REPL/FORTS_OPTORDERBOOK_REPL) — заявки, отсутствующие в срезе, были сведены или отвергнуты в период отсутствия соединения.

Задача 2 решается получением журнала действий со своими заявками (таблица orders_log потоков FORTS_FUTTRADE_REPL и FORTS_OPTTRADE_REPL, а также таблица multileg_orders_log потока FORTS_FUTTRADE_REPL) за период отсутствия соединения. Для этого надо открыть соответствующий поток с указанием номера ревизии последней фактически полученной до сбоя записи. Все действия с заявками, происходившие до момента восстановления, будут отражены в виде записей этих таблиц. Индикатором получения всей пропущенной истории действий с заявками является переход потока в состояние ONLINE.

Примечание

Приведенная выше процедура восстановления подходит и для позднего входа.

Общие рекомендации

В общем же случае, для минимизации вероятности возникновения сетевых сбоев в пользовательских приложениях Биржа рекомендует устанавливать дублирующие каналы связи, иметь два логина для шлюза, с одинаковым набором прав, и, соответственно, запускать одновременно два пользовательских приложения, которые будут получать одинаковые данные, с возможностью переключения между ними при сбоях. Как альтернатива, в коде самого приложения должен быть предусмотрен механизм переключения на дублирующий канал связи, то есть установка соединения с P2MQRouter, работающим через резервный канал к бирже.

Рисунок 12. Дублирование каналов связи

Дублирование каналов связи

Восстановление при проблемах в инфраструктуре Биржи

Под такими проблемами понимаются аварии на стороне биржи, связанные с нарушениями в работе ядра ТС или сервисов, формирующих какие-либо рыночные данные. Как правило, это приводит к останову и перезапуску этих сервисов.

Очистка данных по потокам

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

Уведомления об очистке есть двух типов:

  • CG_MSG_P2REPL_CLEARDELETED – по каждой таблице, с указанием ревижена. Уведомление инструктирует клиента о необходимости удалить все записи со значением replRev меньшим, чем указано в уведомлении. Для оптимизации передачи данных, в уведомлении может быть указан ревижен, равный MAX(int64) – 1. Это означает, что клиент должен произвести полную очистку данных по таблице, таблица будет передана целиком.

  • CG_MSG_P2REPL_LIFENUM - для всего потока репликации целиком, с указанием нового "номера жизни" потока. Означает существенно изменение данных потока со времени последнего соединения. Клиент должен очистить все данные по всем таблицам, данные будут переданы "с нуля".

Возможные изменения данных при нештатной работе сервисов публикации

В штатном режиме работы, включая регламентные работы во внеторговое время, при открытии или переоткрытии любого потока репликации, кроме потоков, связанных с историей заявок и сделок (FORTS_FUTTRADE_REPL, FORTS_OPTTRADE_REPL, FORTS_ORDLOG_REPL и FORTS_DEALS_REPL), клиент может получить как нотификации CG_MSG_P2REPL_CLEARDELETED, так и нотификации CG_MSG_P2REPL_LIFENUM, которые требуется корректно обработать.

В штатном режиме для потоков, связанных с историей заявок и сделок (см. выше), уведомление CG_MSG_P2REPL_LIFENUM рассылается только при смене версии системы, после тестовых торгов, чтобы пользователи очистили тестовые данные. В уведомлении CG_MSG_P2REPL_CLEARDELETED указывается значение replRev для первой по времени, доступной в системе в настоящий момент заявки или сделки.

Приход уведомления CG_MSG_P2REPL_LIFENUM с новым "номером жизни" потока непосредственно в торгах означает, что в ТС произошел серьезный сбой, и требуется перепослать данные по заявкам и сделкам, которые могли быть уже разосланы пользователям.

Дополнительно по каналам, не связанным с самой ТС (система СОИ, новости на сайте биржи и т.п.), будет публиковаться информация о том, были ли в результате исправления ошибочных данных затронуты данные, которые реально попали к пользователям. В частности, был ли откат к состоянию системы до момента аварии, и какой последний номер заявки и сделки после перезапуска системы будет доступен пользователю.

Описание схемы репликации FORTS_PUBLIC

Поток FORTS_FUTTRADE_REPL - Фьючерсы: заявки и сделки

Схема данных

Таблицы:

  • orders_log - Журнал заявок
  • multileg_orders_log - Журнал заявок по связкам
  • deal - Журнал сделок
  • multileg_deal - Журнал сделок по связкам
  • heartbeat - Служебная таблица cерверных часов
  • sys_events - Таблица событий
  • user_deal - Журнал сделок пользователя
  • user_multileg_deal - Журнал сделок пользователя по связкам

Таблица orders_log: Журнал заявок

Таблица 1. Поля таблицы orders_log

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
id_ordi8Номер заявки
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой идентификатор инструмента
amounti4Количество в операции
amount_resti4Оставшееся количество в заявке
id_deali8Идентификатор сделки по данной записи журнала заявок
xstatusi8Расширенный статус заявки
statusi4Статус заявки
priced16.5Цена
momenttВремя изменения состояния заявки
diri1Направление
actioni1Действие с заявкой
deal_priced16.5Цена заключенной сделки
client_codec7Код клиента
login_fromc20Логин пользователя, поставившего заявку
commentc20Комментарий трейдера
hedgei1Признак хеджевой заявки
trusti1Признак заявки доверительного управления
ext_idi4Внешний номер
broker_toc7Код FORTS фирмы-адресата внесистемной заявки
broker_to_rtsc7Код RTS фирмы-адресата внесистемной заявки
broker_from_rtsc7Код РТС клиента - владельца заявки
date_exptДата истечения заявки
id_ord1i8Номер первой заявки
local_stamptЛокальное время пользователя


Примечания:

  • Поле status представляет собой битовую маску

    0x01

    Котировочная

    0x02

    Встречная

    0x04

    Внесистемная

    0x10

    При выставлении заявки не проверялись деньги по клиенту

    0x1000

    Запись является последней в транзакции

    0x100000

    Запись является результатом операции перемещения заявки

    0x200000

    Запись является результатом операции удаления заявки

    0x400000

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

    0x20000000

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

    0x00080000

    Заявка Fill-or-kill

  • Поле action описывает действие, произошедшее с заявкой

    0

    Заявка удалена

    1

    Заявка добавлена

    2

    Заявка сведена в сделку

  • Поле id_ord1 содержит номер первой заявки в последовательности перевыставлений заявки со сроком истечения

  • В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Таблица multileg_orders_log: Журнал заявок по связкам

Таблица 2. Поля таблицы multileg_orders_log

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
id_ordi8Номер заявки
sess_idi4Идентификатор торговой сессии
isin_idi4Идентификатор инструмента-связки
amounti4Количество в операции
amount_resti4Оставшееся количество в заявке
id_deali8Идентификатор сделки по данной записи журнала заявок
xstatusi8Расширенный статус заявки
statusi4Статус заявки
priced16.5Цена
momenttВремя изменения состояния заявки
diri1Направление
actioni1Действие с заявкой
deal_priced16.5Цена заключенной сделки
rate_priced16.5Ставка заявки
swap_priced16.5Своп-цена заявки
client_codec7Код клиента
login_fromc20Логин пользователя, поставившего заявку
commentc20Комментарий трейдера
hedgei1Признак хеджевой заявки
trusti1Признак заявки доверительного управления
ext_idi4Внешний номер
broker_toc7Код FORTS фирмы-адресата внесистемной заявки
broker_to_rtsc7Код RTS фирмы-адресата внесистемной заявки
broker_from_rtsc7Код РТС клиента - владельца заявки
date_exptДата истечения заявки
id_ord1i8Номер первой заявки
local_stamptЛокальное время пользователя


Примечания:

  • Поле status представляет собой битовую маску

    0x01

    Котировочная

    0x02

    Встречная

    0x04

    Внесистемная

    0x1000

    Запись является последней в транзакции

    0x2000

    Заявка Репо с КЦ

    0x20000

    Заявка Репо

    0x40000

    Обычная заявка по связке

  • Поле action описывает действие, произошедшее с заявкой

    0

    Заявка удалена

    1

    Заявка добавлена

    2

    Заявка сведена в сделку

  • Поле rate_price для инструментов, торгуемых в своп цене, содержит 0.

  • В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Таблица deal: Журнал сделок

Таблица 3. Поля таблицы deal

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой идентификатор инструмента
id_deali8Номер сделки
id_deal_multilegi8Номер сделки по связке
id_repoi8Номер другой части сделки РЕПО
posi4Кол-во позиций по инструменту на рынке после сделки
amounti4Объем, кол-во единиц инструмента
id_ord_buyi8Номер заявки покупателя
id_ord_selli8Номер заявки продавца
priced16.5Цена
momenttВремя заключения сделки
nosystemi1Признак внесистемной сделки
xstatus_buyi8Расширенный статус сделки со стороны покупателя
xstatus_selli8Расширенный статус сделки со стороны продавца
status_buyi4Статус сделки со стороны покупателя
status_selli4Статус сделки со стороны продавца
ext_id_buyi4Внешний номер из заявки покупателя
ext_id_selli4Внешний номер из заявки продавца
code_buyc7Код покупателя
code_sellc7Код продавца
comment_buyc20Комментарий из заявки покупателя
comment_sellc20Комментарий из заявки продавца
trust_buyi1Признак ДУ (доверительного управления) из заявки покупателя
trust_selli1Признак ДУ (доверительного управления) из заявки продавца
hedge_buyi1Признак хеджевой сделки со стороны покупателя
hedge_selli1Признак хеджевой сделки со стороны продавца
fee_buyd26.2Сбор по сделке покупателя
fee_selld26.2Сбор по сделке продавца
login_buyc20Логин пользователя покупателя
login_sellc20Логин пользователя продавца
code_rts_buyc7Код РТС покупателя
code_rts_sellc7Код РТС продавца


Примечания:

  • Поля code_sell, comment_sell, ext_id_sell, trust_sell, hedge_sell, login_sell, code_rts_sell, fee_sell, code_buy, comment_buy, ext_id_buy, trust_buy, hedge_buy, login_buy, code_rts_buy, fee_buy, заполняются только для своих сделок

  • Поля status_sell и status_buy являются битовыми масками (подробнее см. раздел Типы сделок, формuser_ируемые при исполнении и истечении фьючерсов и опционов)

  • Для технических сделок, являющимися результатами сделок по инструментам-связкам, поле nosystem всегда установлено в 1, вне зависимости от того, является ли сделка по связке системной или адресной. Для определения системности исходной сделки надо использовать признак nosystem соответствующей записи таблицы multileg_deal.

  • Поле id_repo содержит номер другой части сделки РЕПО. Для I-й части поле содержит номер II-й части, для II-й части – номер I-й

  • Поле id_deal_multileg содержит код сделки по инструменту-связке, в случае если данная запись является записью о технической сделке. В случае сделки по обычному инструменту данное поле содержит 0.

  • Для "чужих" сделок в полях status_buy и status_sell могут заполняються биты 0x4, 0x2000000, 0x4000000 и 0x8000000

  • В сделках экспирации id заявки на экспирацию указывается в поле id_ord_buy, если экспирировался опцион колл, либо в поле id_ord_sell, если экспирировался опцион пут.

  • В полях xstatus_sell и xstatus_buy первые 32 бита эквивалентны полям status_sell и status_buy, остальные биты зарезервированы под дополнительные статусы заявок.

Таблица multileg_deal: Журнал сделок по связкам

Таблица 4. Поля таблицы multileg_deal

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
isin_idi4Идентификатор инструмента-связки
isin_id_rdi4Идентификатор инструмента прямой части Репо
isin_id_rbi4Идентификатор инструмента обратной части Репо
isin_id_repoi4Идентификатор инструмента Репо
durationi4Разница в календарных днях между датами исполнения 2х фьючерсов (длительность РЕПО)
id_deali8Номер сделки
id_deal_rdi8Идентификатор записи первой части РЕПО в таблице deal
id_deal_rbi8Идентификатор записи второй части РЕПО в таблице deal
id_ord_buyi8Номер заявки покупателя
id_ord_selli8Номер заявки продавца
amounti4Объем, кол-во единиц инструмента
priced16.5Цена первой части парной связки
rate_priced16.5Ставка сделки
swap_priced16.5Своп-цена сделки
buyback_amountd16.2Сумма обратного выкупа для сделок Репо
momenttВремя заключения сделки
nosystemi1Признак внесистемной сделки
xstatus_buyi8Расширенный статус сделки со стороны покупателя
xstatus_selli8Расширенный статус сделки со стороны продавца
status_buyi4Статус сделки со стороны покупателя
status_selli4Статус сделки со стороны продавца
ext_id_buyi4Внешний номер из заявки покупателя
ext_id_selli4Внешний номер из заявки продавца
code_buyc7Код покупателя
code_sellc7Код продавца
comment_buyc20Комментарий из заявки покупателя
comment_sellc20Комментарий из заявки продавца
trust_buyi1Признак ДУ (доверительного управления) из заявки покупателя
trust_selli1Признак ДУ (доверительного управления) из заявки продавца
hedge_buyi1Признак хеджевой сделки со стороны покупателя
hedge_selli1Признак хеджевой сделки со стороны продавца
login_buyc20Логин пользователя покупателя
login_sellc20Логин пользователя продавца
code_rts_buyc7Код РТС покупателя
code_rts_sellc7Код РТС продавца


Примечания:

  • Поля code_sell, comment_sell, ext_id_sell, trust_sell, hedge_sell, code_rts_sell, fee_sell, code_buy, comment_buy, ext_id_buy, trust_buy, hedge_buy, code_rts_buy, fee_buy, заполняются только для своих сделок

  • Поле rate_price для инструментов, торгуемых в своп цене, содержит 0.

  • В полях xstatus_sell и xstatus_buy первые 32 бита эквивалентны полям status_sell и status_buy, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Таблица heartbeat: Служебная таблица cерверных часов

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

Таблица 5. Поля таблицы heartbeat

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
server_timetДата и время сервера


Таблица sys_events: Таблица событий

Таблица 6. Поля таблицы sys_events

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Номер сессии
event_typei4Тип события
messagec64Описание события


Примечания:

  • Возможные типы событий

    event_type = 1

    message = "session_data_ready"

    Закончена загрузка данных из клиринговой системы в торговую перед началом новой торговой сессии

    event_type = 2

    message = "intraday_clearing_finished"

    Все расчетные процедуры в промклиринге закончены

    event_type = 4

    message = "intraday_clearing_started"

    Начало промклиринга

    event_type = 5

    message = "clearing_started"

    Начало основного клиринга

    event_type = 6

    message = "extension_of_limits_finished"

    Раздвижка лимитов закончена

    event_type = 8

    message = "broker_recalc_finished"

    Денежные средства после промклиринга пересчитаны

Таблица user_deal: Журнал сделок пользователя

Таблица 7. Поля таблицы user_deal

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой идентификатор инструмента
id_deali8Номер сделки
id_deal_multilegi8Номер сделки по связке
id_repoi8Номер другой части сделки РЕПО
posi4Кол-во позиций по инструменту на рынке после сделки
amounti4Объем, кол-во единиц инструмента
id_ord_buyi8Номер заявки покупателя
id_ord_selli8Номер заявки продавца
priced16.5Цена
momenttВремя заключения сделки
nosystemi1Признак внесистемной сделки
xstatus_buyi8Статус сделки со стороны покупателя
xstatus_selli8Статус сделки со стороны продавца
status_buyi4Статус сделки со стороны покупателя
status_selli4Статус сделки со стороны продавца
ext_id_buyi4Внешний номер из заявки покупателя
ext_id_selli4Внешний номер из заявки продавца
code_buyc7Код покупателя
code_sellc7Код продавца
comment_buyc20Комментарий из заявки покупателя
comment_sellc20Комментарий из заявки продавца
trust_buyi1Признак ДУ (доверительного управления) из заявки покупателя
trust_selli1Признак ДУ (доверительного управления) из заявки продавца
hedge_buyi1Признак хеджевой сделки со стороны покупателя
hedge_selli1Признак хеджевой сделки со стороны продавца
fee_buyd26.2Сбор по сделке покупателя
fee_selld26.2Сбор по сделке продавца
login_buyc20Логин пользователя покупателя
login_sellc20Логин пользователя продавца
code_rts_buyc7Код РТС покупателя
code_rts_sellc7Код РТС продавца


Примечания:

  • Поля code_sell, comment_sell, ext_id_sell, trust_sell, hedge_sell, login_sell, code_rts_sell, fee_sell, code_buy, comment_buy, ext_id_buy, trust_buy, hedge_buy, login_buy, code_rts_buy, fee_buy, заполняются только для своих сделок

  • Поля status_sell и status_buy являются битовыми масками (подробнее см. раздел Типы сделок, формuser_ируемые при исполнении и истечении фьючерсов и опционов)

  • Для технических сделок, являющимися результатами сделок по инструментам-связкам, поле nosystem всегда установлено в 1, вне зависимости от того, является ли сделка по связке системной или адресной. Для определения системности исходной сделки надо использовать признак nosystem соответствующей записи таблицы multileg_deal.

  • Поле id_repo содержит номер другой части сделки РЕПО. Для I-й части поле содержит номер II-й части, для II-й части – номер I-й

  • Поле id_deal_multileg содержит код сделки по инструменту-связке, в случае если данная запись является записью о технической сделке. В случае сделки по обычному инструменту данное поле содержит 0.

  • Для "чужих" сделок в полях status_buy и status_sell могут заполняються биты 0x4, 0x2000000, 0x4000000 и 0x8000000

  • В сделках экспирации id заявки на экспирацию указывается в поле id_ord_buy, если экспирировался опцион колл, либо в поле id_ord_sell, если экспирировался опцион пут.

  • В полях xstatus_sell и xstatus_buy первые 32 бита эквивалентны полям status_sell и status_buy, остальные биты зарезервированы под дополнительные статусы заявок.

Таблица user_multileg_deal: Журнал сделок пользователя по связкам

Таблица 8. Поля таблицы user_multileg_deal

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
isin_idi4Идентификатор инструмента-связки
id_deali8Номер сделки
isin_id_rdi4Идентификатор инструмента прямой части Репо
isin_id_rbi4Идентификатор инструмента обратной части Репо
isin_id_repoi4Идентификатор инструмента Репо
durationi4Разница в календарных днях между датами исполнения 2х фьючерсов (длительность РЕПО)
id_deal_rdi8Идентификатор записи первой части РЕПО в таблице deal
id_deal_rbi8Идентификатор записи второй части РЕПО в таблице deal
id_ord_buyi8Номер заявки покупателя
id_ord_selli8Номер заявки продавца
amounti4Объем, кол-во единиц инструмента
priced16.5Цена первой части парной связки
rate_priced16.5Ставка сделки
swap_priced16.5Своп-цена сделки
buyback_amountd16.2Сумма обратного выкупа для сделок Репо
momenttВремя заключения сделки
nosystemi1Признак внесистемной сделки
xstatus_buyi8Расширенный статус сделки со стороны покупателя
xstatus_selli8Расширенный статус сделки со стороны продавца
status_buyi4Статус сделки со стороны покупателя
status_selli4Статус сделки со стороны продавца
ext_id_buyi4Внешний номер из заявки покупателя
ext_id_selli4Внешний номер из заявки продавца
code_buyc7Код покупателя
code_sellc7Код продавца
comment_buyc20Комментарий из заявки покупателя
comment_sellc20Комментарий из заявки продавца
trust_buyi1Признак ДУ (доверительного управления) из заявки покупателя
trust_selli1Признак ДУ (доверительного управления) из заявки продавца
hedge_buyi1Признак хеджевой сделки со стороны покупателя
hedge_selli1Признак хеджевой сделки со стороны продавца
login_buyc20Логин пользователя покупателя
login_sellc20Логин пользователя продавца
code_rts_buyc7Код РТС покупателя
code_rts_sellc7Код РТС продавца


Примечания:

  • Поля code_sell, comment_sell, ext_id_sell, trust_sell, hedge_sell, code_rts_sell, fee_sell, code_buy, comment_buy, ext_id_buy, trust_buy, hedge_buy, code_rts_buy, fee_buy, заполняются только для своих сделок

  • Поле rate_price для инструментов, торгуемых в своп цене, содержит 0.

  • В полях xstatus_sell и xstatus_buy первые 32 бита эквивалентны полям status_sell и status_buy, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Поток FORTS_OPTTRADE_REPL - Опционы: заявки и сделки

Схема данных

Таблицы:

  • orders_log - Журнал заявок
  • deal - Журнал сделок
  • heartbeat - Служебная таблица cерверных часов
  • sys_events - Таблица событий
  • user_deal - Журнал сделок пользователя

Таблица orders_log: Журнал заявок

Таблица 9. Поля таблицы orders_log

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
id_ordi8Номер заявки
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой идентификатор инструмента
amounti4Количество в операции
amount_resti4Оставшееся количество в заявке
id_deali8Код сделки, соответствующей данной записи журнала заявок
xstatusi8Расширенный статус заявки
statusi4Статус заявки
priced16.5Цена
momenttВремя изменения состояния заявки
diri1Направление
actioni1Действие с заявкой
deal_priced16.5Цена заключенной сделки
client_codec7Код клиента
login_fromc20Логин пользователя, поставившего заявку
commentc20Комментарий трейдера
hedgei1Признак хеджевой заявки
trusti1Признак заявки доверительного управления
ext_idi4Внешний номер
broker_toc7Код FORTS фирмы-адресата внесистемной заявки
broker_to_rtsc7Код RTS фирмы-адресата внесистемной заявки
broker_from_rtsc7Код РТС клиента - владельца заявки
date_exptДата истечения заявки
id_ord1i8Номер первой заявки
local_stamptЛокальное время пользователя


Примечания:

  • Поле status представляет собой битовую маску

    0x01

    Котировочная

    0x02

    Встречная

    0x04

    Внесистемная

    0x10

    При выставлении заявки не проверялись деньги по клиенту

    0x1000

    Запись является последней в транзакции

    0x100000

    Запись является результатом операции перемещения заявки

    0x200000

    Запись является результатом операции удаления заявки

    0x400000

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

    0x2000000

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

    0x00080000

    Заявка Fill-or-kill

  • Поле action описывает действие, произошедшее с заявкой

    0

    Заявка удалена

    1

    Заявка добавлена

    2

    Заявка сведена в сделку

  • Поле id_ord1 содержит номер первой заявки в последовательности перевыставлений заявки со сроком истечения

  • В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Таблица deal: Журнал сделок

Таблица 10. Поля таблицы deal

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой идентификатор инструмента
id_deali8Номер сделки
id_deal_multilegi8Номер сделки по связке
posi4Кол-во позиций по инструменту на рынке после сделки
amounti4Объем, кол-во единиц инструмента
id_ord_buyi8Номер заявки покупателя
id_ord_selli8Номер заявки продавца
priced16.5Цена
momenttВремя заключения сделки
nosystemi1Признак внесистемной сделки
xstatus_buyi8Расширенный статус сделки со стороны покупателя
xstatus_selli8Расширенный статус сделки со стороны продавца
status_buyi4Статус сделки со стороны покупателя
status_selli4Статус сделки со стороны продавца
ext_id_buyi4Внешний номер из заявки покупателя
ext_id_selli4Внешний номер из заявки продавца
code_buyc7Код покупателя
code_sellc7Код продавца
comment_buyc20Комментарий из заявки покупателя
comment_sellc20Комментарий из заявки продавца
trust_buyi1Признак ДУ (доверительного управления) из заявки покупателя
trust_selli1Признак ДУ (доверительного управления) из заявки продавца
hedge_buyi1Признак хеджевой сделки со стороны покупателя
hedge_selli1Признак хеджевой сделки со стороны продавца
fee_buyd26.2Сбор по сделке покупателя
fee_selld26.2Сбор по сделке продавца
login_buyc20Логин пользователя покупателя
login_sellc20Логин пользователя продавца
code_rts_buyc7Код РТС покупателя
code_rts_sellc7Код РТС продавца


Примечания:

  • Поля code_sell, comment_sell, ext_id_sell, trust_sell, hedge_sell, login_sell, code_rts_sell, fee_sell, code_buy, comment_buy, ext_id_buy, trust_buy, hedge_buy, login_buy, code_rts_buy, fee_buy, заполняются только для своих сделок

  • Поля status_sell и status_buy являются битовыми масками, определяющими следующие значения:

    0x20

    Сделка является сделкой экспирации

  • В сделках экспирации поле id_ord_sell заполняется id заявки на экспирацию

  • В полях xstatus_sell и xstatus_buy первые 32 бита эквивалентны полям status_sell и status_buy, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Таблица heartbeat: Служебная таблица cерверных часов

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

Таблица 11. Поля таблицы heartbeat

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
server_timetДата и время сервера


Таблица sys_events: Таблица событий

Таблица 12. Поля таблицы sys_events

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Номер сессии
event_typei4Тип события
messagec64Описание события


Примечания:

  • Возможные типы событий

    event_type = 1

    message = "session_data_ready"

    Закончена загрузка данных из клиринговой системы в торговую перед началом новой торговой сессии

    event_type = 2

    message = "intraday_clearing_finished"

    Все расчетные процедуры в промклиринге закончены

    event_type = 4

    message = "intraday_clearing_started"

    Начало промклиринга

    event_type = 5

    message = "clearing_started"

    Начало основного клиринга

    event_type = 6

    message = "extension_of_limits_finished"

    Раздвижка лимитов закончена

    event_type = 8

    message = "broker_recalc_finished"

    Денежные средства после промклиринга пересчитаны

Таблица user_deal: Журнал сделок пользователя

Таблица 13. Поля таблицы user_deal

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой идентификатор инструмента
id_deali8Номер сделки
id_deal_multilegi8Номер сделки по связке
posi4Кол-во позиций по инструменту на рынке после сделки
amounti4Объем, кол-во единиц инструмента
id_ord_buyi8Номер заявки покупателя
id_ord_selli8Номер заявки продавца
priced16.5Цена
momenttВремя заключения сделки
nosystemi1Признак внесистемной сделки
xstatus_buyi8Статус сделки со стороны покупателя
xstatus_selli8Статус сделки со стороны продавца
status_buyi4Статус сделки со стороны покупателя
status_selli4Статус сделки со стороны продавца
ext_id_buyi4Внешний номер из заявки покупателя
ext_id_selli4Внешний номер из заявки продавца
code_buyc7Код покупателя
code_sellc7Код продавца
comment_buyc20Комментарий из заявки покупателя
comment_sellc20Комментарий из заявки продавца
trust_buyi1Признак ДУ (доверительного управления) из заявки покупателя
trust_selli1Признак ДУ (доверительного управления) из заявки продавца
hedge_buyi1Признак хеджевой сделки со стороны покупателя
hedge_selli1Признак хеджевой сделки со стороны продавца
fee_buyd26.2Сбор по сделке покупателя
fee_selld26.2Сбор по сделке продавца
login_buyc20Логин пользователя покупателя
login_sellc20Логин пользователя продавца
code_rts_buyc7Код РТС покупателя
code_rts_sellc7Код РТС продавца


Примечания:

  • Поля code_sell, comment_sell, ext_id_sell, trust_sell, hedge_sell, login_sell, code_rts_sell, fee_sell, code_buy, comment_buy, ext_id_buy, trust_buy, hedge_buy, login_buy, code_rts_buy, fee_buy, заполняются только для своих сделок

  • Поля status_sell и status_buy являются битовыми масками, определяющими следующие значения:

    0x20

    Сделка является сделкой экспирации

  • В сделках экспирации поле id_ord_sell заполняется id заявки на экспирацию

  • В полях xstatus_sell и xstatus_buy первые 32 бита эквивалентны полям status_sell и status_buy, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Поток FORTS_ORDLOG_REPL - Поток анонимных заявок

Схема данных

Таблицы:

Таблица orders_log: Журнал заявок

Таблица 14. Поля таблицы orders_log

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
id_ordi8Номер заявки
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой идентификатор инструмента
amounti4Количество в операции
amount_resti4Оставшееся количество в заявке
id_deali8Идентификатор сделки по данной записи журнала заявок
xstatusi8Расширенный статус заявки
statusi4Статус заявки
priced16.5Цена
momenttВремя изменения состояния заявки
diri1Направление
actioni1Действие с заявкой
deal_priced16.5Цена заключенной сделки


Примечания:

  • Поле status представляет собой битовую маску

    0x01

    Котировочная

    0x02

    Встречная

    0x04

    Внесистемная

    0x10

    При выставлении заявки не проверялись деньги по клиенту

    0x1000

    Запись является последней в транзакции

    0x100000

    Запись является результатом операции перемещения заявки

    0x200000

    Запись является результатом операции удаления заявки

    0x400000

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

    0x20000000

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

    0x00080000

    Заявка Fill-or-kill

  • Поле action описывает действие, произошедшее с заявкой

    0

    Заявка удалена

    1

    Заявка добавлена

    2

    Заявка сведена в сделку

  • Поле id_ord1 содержит номер первой заявки в последовательности перевыставлений заявки со сроком истечения

  • В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Таблица multileg_orders_log: Журнал заявок по связкам

Таблица 15. Поля таблицы multileg_orders_log

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
id_ordi8Номер заявки
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой идентификатор инструмента
amounti4Количество в операции
amount_resti4Оставшееся количество в заявке
id_deali8Идентификатор сделки по данной записи журнала заявок
xstatusi8Расширенный статус заявки
statusi4Статус заявки
priced16.5Цена
momenttВремя изменения состояния заявки
diri1Направление
actioni1Действие с заявкой
deal_priced16.5Цена заключенной сделки
rate_priced16.5Ставка заявки
swap_priced16.5Своп-цена заявки


Примечания:

  • Поле status представляет собой битовую маску

    0x01

    Котировочная

    0x02

    Встречная

    0x04

    Внесистемная

    0x1000

    Запись является последней в транзакции

    0x2000

    Заявка Репо с КЦ

    0x20000

    Заявка Репо

    0x40000

    Обычная заявка по связке

  • Поле action описывает действие, произошедшее с заявкой

    0

    Заявка удалена

    1

    Заявка добавлена

    2

    Заявка сведена в сделку

  • Поле rate_price для инструментов, торгуемых в своп цене, содержит 0.

  • В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Таблица heartbeat: Служебная таблица cерверных часов

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

Таблица 16. Поля таблицы heartbeat

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
server_timetДата и время сервера


Таблица sys_events: Таблица событий

Таблица 17. Поля таблицы sys_events

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Номер сессии
event_typei4Тип события
messagec64Описание события


Примечания:

  • Возможные типы событий

    event_type = 1

    message = "session_data_ready"

    Закончена загрузка данных из клиринговой системы в торговую перед началом новой торговой сессии

    event_type = 2

    message = "intraday_clearing_finished"

    Все расчетные процедуры в промклиринге закончены

    event_type = 4

    message = "intraday_clearing_started"

    Начало промклиринга

    event_type = 5

    message = "clearing_started"

    Начало основного клиринга

    event_type = 6

    message = "extension_of_limits_finished"

    Раздвижка лимитов закончена

    event_type = 8

    message = "broker_recalc_finished"

    Денежные средства после промклиринга пересчитаны

Поток FORTS_DEALS_REPL - Поток анонимных сделок

Схема данных

Таблицы:

  • deal - Журнал сделок
  • multileg_deal - Журнал сделок по связкам
  • sys_events - Таблица событий
  • heartbeat - Служебная таблица cерверных часов

Таблица deal: Журнал сделок

Таблица 18. Поля таблицы deal

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
id_deali8Номер сделки
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой идентификатор инструмента
posi4Кол-во позиций по инструменту на рынке после сделки
amounti4Объем, кол-во единиц инструмента
id_ord_selli8Номер заявки продавца
id_ord_buyi8Номер заявки покупателя
priced16.5Цена
momenttВремя заключения сделки
nosystemi1Признак внесистемной сделки


Примечания:

  • В сделках экспирации id заявки на экспирацию указывается в поле id_ord_sell, если это сделка по опциону, в поле id_ord_buy в сделках по фьючерсу для опциона колл, в поле id_ord_sell в сделках по фьючерсу для опциона пут.

Таблица multileg_deal: Журнал сделок по связкам

Таблица 19. Поля таблицы multileg_deal

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
id_deali8Номер сделки
sess_idi4Идентификатор торговой сессии
isin_idi4Идентификатор инструмента-связки
id_ord_buyi8Номер заявки покупателя
id_ord_selli8Номер заявки продавца
amounti4Объем, кол-во единиц инструмента
priced16.5Цена первой части парной связки
rate_priced16.5Ставка сделки
swap_priced16.5Своп-цена сделки
buyback_amountd16.2Сумма обратного выкупа для сделок Репо
momenttВремя заключения сделки
nosystemi1Признак внесистемной сделки


Таблица sys_events: Таблица событий

Таблица 20. Поля таблицы sys_events

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Номер сессии
event_typei4Тип события
messagec64Описание события


Примечания:

  • Возможные типы событий

    event_type = 1

    message = "session_data_ready"

    Закончена загрузка данных из клиринговой системы в торговую перед началом новой торговой сессии

    event_type = 2

    message = "intraday_clearing_finished"

    Все расчетные процедуры в промклиринге закончены

    event_type = 4

    message = "intraday_clearing_started"

    Начало промклиринга

    event_type = 5

    message = "clearing_started"

    Начало основного клиринга

    event_type = 6

    message = "extension_of_limits_finished"

    Раздвижка лимитов закончена

    event_type = 8

    message = "broker_recalc_finished"

    Денежные средства после промклиринга пересчитаны

Таблица heartbeat: Служебная таблица cерверных часов

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

Таблица 21. Поля таблицы heartbeat

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
server_timetДата и время сервера


Поток FORTS_FEE_REPL - Поток комиссий биржи

Схема данных

Таблицы:

Таблица adjusted_fee: комиссии биржи

Таблица 22. Поля таблицы adjusted_fee

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
id_deali8Номер сделки
momenttВремя заключения сделки
code_buyc7Код покупателя
code_sellc7Код продавца
initial_fee_buyd26.2Сбор по сделке покупателя, грубо
initial_fee_selld26.2Сбор по сделке продавца, грубо
adjusted_fee_buyd26.2Сбор по сделке покупателя, точно
adjusted_fee_selld26.2Сбор по сделке продавца, точно
id_repoi8Номер другой части сделки РЕПО
id_deal_multilegi8Номер сделки по связке


Таблица sys_events: Таблица событий

Таблица 23. Поля таблицы sys_events

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Номер сессии
event_typei4Тип события
messagec64Описание события


Примечания:

  • Возможные типы событий

    event_type = 1

    message = "session_data_ready"

    Закончена загрузка данных из клиринговой системы в торговую перед началом новой торговой сессии

    event_type = 2

    message = "intraday_clearing_finished"

    Все расчетные процедуры в промклиринге закончены

    event_type = 4

    message = "intraday_clearing_started"

    Начало промклиринга

    event_type = 5

    message = "clearing_started"

    Начало основного клиринга

    event_type = 6

    message = "extension_of_limits_finished"

    Раздвижка лимитов закончена

    event_type = 8

    message = "broker_recalc_finished"

    Денежные средства после промклиринга пересчитаны

Поток FORTS_FUTORDERBOOK_REPL - Фьючерсы: Cрез стакана

Схема данных

Таблицы:

  • orders - Таблица активных фьючерсных заявок
  • info - Информация о стаканах

Таблица orders: Таблица активных фьючерсных заявок

Таблица 24. Поля таблицы orders

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
id_ordi8Номер заявки
sess_idi4Идентификатор торговой сессии
client_codec7Код клиента
momenttВремя изменения состояния заявки
xstatusi8Расширенный статус заявки
statusi4Статус заявки
actioni1Действие с заявкой
isin_idi4Уникальный числовой идентификатор инструмента
diri1Направление
priced16.5Цена
amounti4Количество в операции
amount_resti4Оставшееся количество в заявке
commentc20Комментарий трейдера
hedgei1Признак хеджевой заявки
trusti1Признак заявки доверительного управления
ext_idi4Внешний номер
login_fromc20Логин пользователя, поставившего заявку
broker_toc7Код FORTS фирмы-адресата внесистемной заявки
broker_to_rtsc7Код RTS фирмы-адресата внесистемной заявки
date_exptДата истечения заявки
id_ord1i8Номер первой заявки
broker_from_rtsc7Код РТС клиента - владельца заявки
init_momenttВремя появления заявки
init_amounti4Начальное количество в заявке


Примечания:

  • Поле status представляет собой битовую маску

    0x01

    Котировочная

    0x02

    Встречная

    0x04

    Внесистемная

    0x100000

    Запись является результатом операции перемещения заявки

    0x200000

    Запись является результатом операции удаления заявки

    0x400000

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

    0x20000000

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

  • Поле action описывает действие, произошедшее с заявкой

    1

    Заявка добавлена

    2

    Заявка сведена в сделку

  • В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Таблица info: Информация о стаканах

Таблица 25. Поля таблицы info

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
infoIDi8Уникальный ключ
logRevi8Ревизия по фьючерсам на момент формирования снэпшота
lifeNumi4Номер жизни входящего потока
momenttВремя формирования снэпшота


Поток FORTS_OPTORDERBOOK_REPL - Опционы: Cрез стакана

Схема данных

Таблицы:

  • orders - Таблица активных опционных заявок
  • info - Информация о стаканах

Таблица orders: Таблица активных опционных заявок

Таблица 26. Поля таблицы orders

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
id_ordi8Номер заявки
sess_idi4Идентификатор торговой сессии
client_codec7Код клиента
momenttВремя изменения состояния заявки
xstatusi8Расширенный статус заявки
statusi4Статус заявки
actioni1Действие с заявкой
isin_idi4Уникальный числовой идентификатор инструмента
diri1Направление
priced16.5Цена
amounti4Количество в операции
amount_resti4Оставшееся количество в заявке
commentc20Комментарий трейдера
hedgei1Признак хеджевой заявки
trusti1Признак заявки доверительного управления
ext_idi4Внешний номер
login_fromc20Логин пользователя, поставившего заявку
broker_toc7Код FORTS фирмы-адресата внесистемной заявки
broker_to_rtsc7Код RTS фирмы-адресата внесистемной заявки
date_exptДата истечения заявки
id_ord1i8Номер первой заявки
broker_from_rtsc7Код РТС клиента - владельца заявки
init_momenttВремя появления заявки
init_amounti4Начальное количество в заявке


Примечания:

  • Поле status представляет собой битовую маску

    0x01

    Котировочная

    0x02

    Встречная

    0x04

    Внесистемная

    0x100000

    Запись является результатом операции перемещения заявки

    0x200000

    Запись является результатом операции удаления заявки

    0x400000

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

    0x20000000

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

  • Поле action описывает действие, произошедшее с заявкой

    1

    Заявка добавлена

    2

    Заявка сведена в сделку

  • В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Таблица info: Информация о стаканах

Таблица 27. Поля таблицы info

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
infoIDi8Уникальный ключ
logRevi8Ревизия по опционам на момент формирования снэпшота
lifeNumi4Номер жизни входящего потока
momenttВремя формирования снэпшота


Поток FORTS_ORDBOOK_REPL - Cрез стакана. Анонимный

Схема данных

Таблицы:

  • orders - Таблица активных анонимных заявок
  • info - Информация о стаканах

Таблица orders: Таблица активных анонимных заявок

Таблица 28. Поля таблицы orders

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
id_ordi8Номер заявки
sess_idi4Идентификатор торговой сессии
momenttВремя изменения состояния заявки
xstatusi8Расширенный статус заявки
statusi4Статус заявки
actioni1Действие с заявкой
isin_idi4Уникальный числовой идентификатор инструмента
diri1Направление
priced16.5Цена
amounti4Количество в операции
amount_resti4Оставшееся количество в заявке
init_momenttВремя появления заявки
init_amounti4Начальное количество в заявке


Примечания:

  • Поле status представляет собой битовую маску

    0x01

    Котировочная

    0x02

    Встречная

    0x04

    Внесистемная

    0x100000

    Запись является результатом операции перемещения заявки

    0x200000

    Запись является результатом операции удаления заявки

    0x400000

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

    0x20000000

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

  • Поле action описывает действие, произошедшее с заявкой

    1

    Заявка добавлена

    2

    Заявка сведена в сделку

  • В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.

    0x100000000

    Запись является результатом операции удаления заявки сервисом Cancel On Disconnect

Таблица info: Информация о стаканах

Таблица 29. Поля таблицы info

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
infoIDi8Уникальный ключ
logRevi8Ревизия на момент формирования снэпшота
lifeNumi4Номер жизни входящего потока
momenttВремя формирования снэпшота


Поток FORTS_FUTCOMMON_REPL - Фьючерсы: общая информация

Схема данных

Таблицы:

  • common - Общая информация по сессии

Таблица common: Общая информация по сессии

Таблица содержит

Таблица 30. Поля таблицы common

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
sess_idi4Идентификатор торговой сессии
best_selld16.5Цена лучшей заявки на продажу
amount_selli4Количество в заявках на продажу с лучшей ценой
best_buyd16.5Цена лучшей заявки на покупку
amount_buyi4Количество в заявках на покупку с лучшей ценой
priced16.5Цена последней сделки
trendd16.5Тренд изменения цены (разница между ценами двух последних сделок)
amounti4Количество в последней сделке
deal_timetДата и время последней сделки
min_priced16.5Минимальная цена
max_priced16.5Максимальная цена
avr_priced16.5Средневзвешенная цена
old_kotird16.5Расчетная цена предыдущей сессии
deal_counti4Количество сделок
contr_counti4Общее количество контрактов в сделках
capitald26.2Суммарный объём сделок в рублях
posi4Текущее кол-во открытых позиций
mod_timetДата и время изменения записи
cur_kotird16.5Текущая котировка
cur_kotir_reald16.5Рыночная котировка
orders_sell_qtyi4Количество заявок на продажу
orders_sell_amounti4Объём в контрактах в заявках на продажу
orders_buy_qtyi4Количество заявок на покупку
orders_buy_amounti4Объём в контрактах в заявках на покупку
open_priced16.5Цена открытия
close_priced16.5Цена закрытия
local_timetПоле для мониторинга репликации common


Примечания:

  • Поле open_price содержит цену первой сделки в текущей сессии, а если её нет, то 0

  • Поле close_price содержит цену последней сделки в текущей сессии, а если её нет, то 0

Поток FORTS_OPTCOMMON_REPL - Опционы: общая информация

Схема данных

Таблицы:

  • common - Общая информация по сессии

Таблица common: Общая информация по сессии

Таблица содержит

Таблица 31. Поля таблицы common

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
sess_idi4Идентификатор торговой сессии
best_selld16.5Цена лучшей заявки на продажу
amount_selli4Количество в заявках на продажу с лучшей ценой
best_buyd16.5Цена лучшей заявки на покупку
amount_buyi4Количество в заявках на покупку с лучшей ценой
priced16.5Цена последней сделки
trendd16.5Тренд изменения цены (разница между ценами двух последних сделок)
amounti4Количество в последней сделке
deal_timetДата и время последней сделки
min_priced16.5Минимальная цена
max_priced16.5Максимальная цена
avr_priced16.5Средневзвешенная цена
old_kotird16.5Расчетная цена предыдущей сессии
deal_counti4Количество сделок
contr_counti4Общее количество контрактов в сделках
capitald26.2Суммарный объём сделок в рублях
posi4Текущее кол-во открытых позиций
mod_timetДата и время изменения записи
isin_is_speci1По этому инструменту сейчас возможно подавать запросы на котировку.
orders_sell_qtyi4Количество заявок на продажу
orders_sell_amounti4Объём в контрактах в заявках на продажу
orders_buy_qtyi4Количество заявок на покупку
orders_buy_amounti4Объём в контрактах в заявках на покупку
open_priced16.5Цена открытия
close_priced16.5Цена закрытия
local_timetПоле для мониторинга репликации common


Примечания:

  • Поле open_price содержит цену первой сделки в текущей сессии, а если её нет, то 0

  • Поле close_price содержит цену последней сделки в текущей сессии, а если её нет, то 0

Потоки агрегированных стаканов

Схема данных

Таблицы:

  • orders_aggr - Агрегированные стаканы

Таблица orders_aggr: Агрегированные стаканы

Таблица содержит список агрегированных котировок. Каждая агрегированная котировка является результатом суммирования по объёму активных заявок с одинаковыми инструментом, ценой и направлением.

Режимы использования таблицы в зависимости от режимов работы торговой системы:

  • Ночной период - таблицы содержат данные на момент завершения вечерней сессии

  • Торговая сессия до пром. клиринга - таблица обновляется активными заявками

  • Пром. клиринг - таблица не обновляется и содержит данные на момент начала пром. клиринга

  • Торговая сессия после пром. клиринга - таблица обновляется активными заявками

  • Клиринг - таблица очищается

  • Вечерняя торговая сессия - таблица обновляется активными заявками вечерней сессии

Таблица 32. Поля таблицы orders_aggr

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
priced16.5Цена котировки
volumei8Объем агрегированной котировки
momenttВремя последнего обновления котировки
diri1Направление котировки


Примечания:

  • Записи в таблице могут обновляться полностью, т.е. обновляться может не только объём котировки (volume), но и инструмент, цена, направление. В случае наступления такого события считается, что предыдущая котировка вышла из стакана, а новая – появилась.

  • В таблице могут присутствовать записи с нулевым объёмом (volume = 0). Такие записи следует игнорировать. При этом, может происходит обнуление существующей котировки – это означает, что котировка вышла из стакана или заполнение нулевой котировки какими либо значениями – это означает, что котировка с новыми значениями вошла в стакан.

Поток FORTS_POS_REPL - Информация о позициях

Схема данных

Таблицы:

Таблица position: Позиции клиентов

Таблица содержит информацию о позициях клиентов.

Таблица 33. Поля таблицы position

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
client_codec7Код клиента
open_qtyi4Количество позиций на начало сессии
buys_qtyi4Количество купленных контрактов в ходе сессии
sells_qtyi4Количество проданных контрактов в ходе сессии
posi4Текущая позиция
net_volume_rurd26.2Нетто-сумма денег, в рублях, на которую были совершены сделки. Положительное число - деньги приходят, отрицательное - деньги выплачиваются
last_deal_idi8Номер последней сделки
wapriced16.5Средневзвешенная цена


Таблица sys_events: Таблица событий

Таблица 34. Поля таблицы sys_events

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Номер сессии
event_typei4Тип события
messagec64Описание события


Примечания:

  • Возможные типы событий

    event_type = 1

    message = "session_data_ready"

    Закончена загрузка данных из клиринговой системы в торговую перед началом новой торговой сессии

    event_type = 2

    message = "intraday_clearing_finished"

    Все расчетные процедуры в промклиринге закончены

    event_type = 4

    message = "intraday_clearing_started"

    Начало промклиринга

    event_type = 5

    message = "clearing_started"

    Начало основного клиринга

    event_type = 6

    message = "extension_of_limits_finished"

    Раздвижка лимитов закончена

    event_type = 8

    message = "broker_recalc_finished"

    Денежные средства после промклиринга пересчитаны

Поток FORTS_PART_REPL - Информация о средствах, лимитах и настройках риск-параметров

Схема данных

Таблицы:

  • part - Средства, лимиты и настройки риск-параметров клиентов
  • sys_events - Таблица событий

Таблица part: Средства, лимиты и настройки риск-параметров клиентов

Таблица содержит информацию о лимитах и о настройках риск-параметров для клиентов

Таблица 35. Поля таблицы part

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
client_codec7Код клиента
coeff_god16.5Коэффициент клиентского ГО
coeff_liquidityd16.5Коэффициент ликвидности
money_oldd26.2Всего денег на конец предыдущей сессии
money_amountd26.2Всего денег
money_freed26.2Свободно денег
money_blockedd26.2Заблокировано денег
pledge_oldd26.2Залогов на начало сессии
pledge_amountd26.2Всего залогов
pledge_freed26.2Свободно залогов
pledge_blockedd26.2Заблокировано залогов
vm_reserved26.2Сумма, зарезервированная под отрицательную ВМ по закрытым позициям
vm_intercld26.2Вариационная маржа, списанная или полученная в пром. клиринг
feed26.2Списанный сбор
fee_reserved26.2Заблокированный резерв сбора под заявки
limit_spot_buyd26.2Лимит на Покупку Спотов
limit_spot_buy_usedd26.2Использованный Лимит на Покупку Спотов
is_auto_update_limiti1Признак автоматической коррекции лимита на величину дохода при закачке после клиринга: 0-нет, 1-менять.
is_auto_update_spot_limiti1Признак автоматической коррекции лимитов по Спотам (на Продажу, и на Покупку) при закачке после клиринга: 0-нет, 1-менять
no_fut_discounti1Флаг запрещения использования скидки по фьючерсам: 1-Запрет, 0-нет
limits_seti1Наличие установленных денежного и залогового лимитов
premiumd26.2Премия
premium_order_reservefРезерв премии под заявки
balance_moneyd26.2Сальдо денежных торговых переводов за текущую сессию
vm_order_reservefСумма, зарезервированная под отрицательную ВМ по заявкам
money_pledge_amountd26.2Суммарная оценочная стоимость залогов полного обеспечения
num_clr_2deliveryi4Количество клирингов, за которое включаются сценарии экспирации для расчета рисков по ближней неквартальной серии опционов для данного раздела
calc_exp_extra_riski1Признак того, что сценарии экспирации для расчета рисков по ближней неквартальной серии опционов для данного раздела включен


Таблица sys_events: Таблица событий

Таблица 36. Поля таблицы sys_events

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Номер сессии
event_typei4Тип события
messagec64Описание события


Примечания:

  • Возможные типы событий

    event_type = 1

    message = "session_data_ready"

    Закончена загрузка данных из клиринговой системы в торговую перед началом новой торговой сессии

    event_type = 2

    message = "intraday_clearing_finished"

    Все расчетные процедуры в промклиринге закончены

    event_type = 4

    message = "intraday_clearing_started"

    Начало промклиринга

    event_type = 5

    message = "clearing_started"

    Начало основного клиринга

    event_type = 6

    message = "extension_of_limits_finished"

    Раздвижка лимитов закончена

    event_type = 8

    message = "broker_recalc_finished"

    Денежные средства после промклиринга пересчитаны

Поток FORTS_FUTINFO_REPL - Фьючерсы: справочная и сессионная информация

Схема данных

Таблицы:

  • delivery_report - Отчет о поставке
  • fut_rejected_orders - Отвергнутые в клиринг заявки
  • fut_intercl_info - информация о ВМ, рассчитанной по результатам пром. клиринга
  • fut_bond_registry - Справочник параметров облигаций
  • fut_bond_isin - Справочник инструментов облигаций
  • fut_bond_nkd - НКД на даты выплат купонов
  • fut_bond_nominal - Размеры выплат номинальной стоимости облигации
  • usd_online - Трансляция курса USD
  • fut_vcb - Справочник торгуемых активов
  • session - Информация о торговой сессии
  • multileg_dict - Справочник связок
  • fut_sess_contents - Cправочник торгуемых инструментов
  • fut_instruments - Cправочник инструментов
  • diler - Справочник имен фирм
  • investr - Справочник клиентов
  • fut_sess_settl - Результаты клиринга: расчетные цены
  • sys_messages - Сообщения торговой системы
  • prohibition - Запреты
  • rates - Справочник курсов валют
  • sys_events - Таблица событий

Таблица delivery_report: Отчет о поставке

Таблица 37. Поля таблицы delivery_report

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
datetДата проведения клиринга
client_codec7Код клиента
typec2Признак РФ/БФ/клиента ('RF' - РФ; 'BF' - БФ; 'CL' - клиент). Здесь всегда равен 'CL'.
isin_idi4Уникальный числовой идентификатор иструмента
posi4Количество позиций, подлежащих исполнению, на начало данного этапа поставки (кроме исключенных по принципу совпадения ИНН (кодов))
pos_excli4Для первого этапа - это Количество позиций по фьючерсам, аннулированных в связи с тем, что они учитывались на регистрах с одним ИНН (кодом). Для второго этапа всегда 0
pos_unexeci4Количество позиций, неисполненных в ходе данного этапа поставки
unexeci1Признак исполнения/неисполнения клиентом позиций, указанных в поле pos_neisp (False - исполнение, True - неисполнение)
settl_pairc12Код РПС
asset_codec25Торговый код поставляемого актива
issue_codec25Депозитарный код поставляемого актива
oblig_rurd16.2Объём обязательств в руб.
oblig_qtyi8Объём обязательств в бумагах, шт.
fulfil_rurd16.2Объём выполненных обязательств в руб.
fulfil_qtyi8Объём выполненных обязательств в бумагах, шт.
stepi4Порядковый номер этапа поставки
sess_idi4Идентификатор торговой сессии
id_geni4Идентификатор этапа формирования отчетов


Примечания:

  • Поле unexec может принимать следующие значения:

    0

    Исполнение

    1

    Неисполнение

  • Поле step при поставке по Спотам всегда принимает значение 1

Таблица fut_rejected_orders: Отвергнутые в клиринг заявки

Таблица 38. Поля таблицы fut_rejected_orders

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
order_idi8Номер заявки
sess_idi4Идентификатор торговой сессии
client_codec7Код клиента
momenttВремя изменения состояния заявки
moment_rejecttВремя, когда заявка была отвергнута
isin_idi4Уникальный числовой идентификатор инструмента
diri1Направление
amounti4Объём, количество единиц инструмента
priced16.5Цена
date_exptДата истечения заявки
id_ord1i8Номер первой заявки
ret_codei4Код возврата процедуры перепостановки
ret_messagec255Текст сообщения о причине отвержения заявки при перепостановке
commentc20Комментарий трейдера
login_fromc20Логин пользователя, поставившего заявку
ext_idi4Внешний номер


Таблица fut_intercl_info: информация о ВМ, рассчитанной по результатам пром. клиринга

Таблица 39. Поля таблицы fut_intercl_info

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
client_codec7Код клиента
vm_intercld16.2Вариационная маржа, списанная или полученная в пром. клиринг


Таблица fut_bond_registry: Справочник параметров облигаций

Таблица 40. Поля таблицы fut_bond_registry

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
bond_idi4Цифровой код облигации
small_namec25Торговый код в корпоративных торгах РТС
short_isinc25Выпуск облигации
namec75Наименование облигации
date_redempttДата погашения облигации
nominald16.5Номинал облигации
bond_typei1Тип: акция/облигация
year_basei2База года


Примечания:

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

    0

    не задан

    0x1

    Акция

    0x2

    Облигация (без амортизации/формула актуальная)

    0x4

    Облигация с амортизацией

    0x8

    Облигация, формула виртуальная-американская

    0x10

    Облигация, формула виртуальная-европейская

Таблица fut_bond_isin: Справочник инструментов облигаций

Таблица 41. Поля таблицы fut_bond_isin

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
bond_idi4Цифровой код облигации
coeff_conversiond5.4Конверсионный коэффициент


Таблица fut_bond_nkd: НКД на даты выплат купонов

Таблица 42. Поля таблицы fut_bond_nkd

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
bond_idi4Цифровой код облигации
datetДата выплаты купона
nkdd16.7НКД на дату выплаты купона
is_couponi1Признак: 0 - НКД на дату исполнения срочного контракта с облигацией, 1 - купон на дату выплаты купона, 2 - НКД на дату поставки облигации


Таблица fut_bond_nominal: Размеры выплат номинальной стоимости облигации

Таблица 43. Поля таблицы fut_bond_nominal

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
bond_idi4Цифровой код облигации
datetДата выплаты купона
nominald16.5Размер выплат номинальной стоимости
face_valued16.5Размер остаточной номинальной стоимости облигации
coupon_nominald8.5Cтоимость купона в % от номинала
is_nominali1Признак записи в таблицах номиналов


Примечания:

  • Поле is_nominal может принимать следующие значения:

    0

    Размер остаточной номинальной стоимости на дату исполнения срочного контракта с облигацией

    1

    Размер остаточной номинальной стоимости на дату выплаты купона

    2

    Размер остаточной номинальной стоимости на дату поставки облигации

Таблица usd_online: Трансляция курса USD

Таблица 44. Поля таблицы usd_online

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
idi8Идентификатор курса
rated16.4Курс USD
momenttВремя расчета курса


Примечания:

  • На настоящий момент поле id принимает значение = 1 (рубль к доллару)

Таблица fut_vcb: Справочник торгуемых активов

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

Таблица 45. Поля таблицы fut_vcb

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
code_vcbc25Код базового актива
namec75Наименование
exec_typec1Тип исполнения
currc3Валюта платежа
exch_payd16.2Биржевой сбор за 1 контракт в рублях
exch_pay_scalpedi1Признак скальпирования биржевого сбора
clear_payd16.2Клиринговый сбор за 1 контракт в рублях
clear_pay_scalpedi1Признак скальпирования клирингового сбора
sell_feed7.3Комиссия с продавца. Не используется
buy_feed7.3Комиссия с покупателя. Не используется
trade_schemec1Форма торгов
sectionc50Наименование Секции
exch_pay_spotd16.5Биржевой сбор по Спотам за 1 лот в % от цены
client_codec7Код клиента
exch_pay_spot_repod16.5Биржевой сбор по Репо
rate_idi4Идентификатор курса


Примечания:

  • Поле exec_type может принимать следующие значения:

    A

    Альтернативный

    D

    Поставка

    I

    Индекс

    T

    Поставка акций через режим Т+, ASTS

  • Поле trade_scheme может принимать следующие значения:

    F

    С полным обеспечением

    G

    С залогом

Таблица session: Информация о торговой сессии

Таблица содержит информацию о расписании сессий.

Таблица 46. Поля таблицы session

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
begintВремя начала
endtВремя окончания
statei4Состояние сессии
opt_sess_idi4Номер соответствующей опционной сессии
inter_cl_begintВремя начала пром. клиринга
inter_cl_endtВремя окончания пром. клиринга
inter_cl_statei4Состояние пром. клиринга
eve_oni1Признак того, что доп вечерняя сессия будет проводиться
eve_begintВремя начала доп. вечерней сессии
eve_endtВремя окончания доп. вечерней сессии
mon_oni1Признак того, что доп утренняя сессия будет проводиться
mon_begintВремя начала доп. утренней сессии
mon_endtВремя окончания доп. утренней сессии
pos_transfer_begintНачало интервала переноса позиций
pos_transfer_endtКонец интервала переноса позиций


Примечания:

  • Поля pos_transfer_begin и pos_transfer_end обозначают период во время торговой сессии, в течение которого действует особый режим заключения сделок по инструменту с поставкой в текущий торговый день. Во время действия данного режима запрещены все заявки по указанному инструменту, за исключением адресных заявок внутри одной РФ.

  • Поле state может принимать следующие значения:

    0

    Сессия назначена. Нельзя ставить заявки, но можно удалять.

    1

    Сессия идет. Можно ставить и удалять заявки.

    2

    Приостановка торгов по всем инструментам. Нельзя ставить заявки, но можно удалять.

    3

    Сессия принудительно завершена. Нельзя ставить и удалять заявки.

    4

    Сессия завершена по времени. Нельзя ставить и удалять заявки.

  • Поле inter_cl_state выдается (по битово):

    0x0

    Неопределен. Можно ставить и удалять заявки.

    0x01

    Будущий на сегодня. Можно ставить и удалять заявки.

    0x02

    Отменен. Можно ставить и удалять заявки.

    0x04

    Текущий, т.е. идет, ничего нельзя. Нельзя ставить и удалять заявки.

    0x08

    Текущий, т.е. идет (по времени), но фактически завершен и уже можно выкачиваться, снимать заявки. Нельзя ставить заявки, но можно удалять.

    0x10

    Успешно завершен (в т.ч. и по времени). Можно ставить и удалять заявки.

Таблица multileg_dict: Справочник связок

Таблица 47. Поля таблицы multileg_dict

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой код связки
isin_id_legi4Уникальный код инструмента, входящего в связку
qty_ratioi4Коэффициент количества


Примечания:

  • Смысл поля qty_ratio состоит в указании количества и направления инструмента, входящего в связку: если значение qty_ratio > 0, то данный инструмент входит в связку с тем же направлением, с каким и заявка по связке, если qty_ratio < 0 – с противоположным. Абсолютное значение qty_ratio определяет коэффициент, на который умножается количество единиц инструмента-связки в заявке для получения количества единиц инструмента isin_id_leg.

Таблица fut_sess_contents: Cправочник торгуемых инструментов

Таблица содержит справочник инструментов, назначенных к торгам в сессию.

Таблица 48. Поля таблицы fut_sess_contents

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой идентификатор инструмента
short_isinc25Описатель инструмента
isinc25Символьный код инструмента
namec75Наименование инструмента
inst_termi4Смещение от спота
code_vcbc25Код базового актива
is_limitedi1Признак наличия лимитов в торгах
limit_upd16.5Верхний лимит цены
limit_downd16.5Нижний лимит цены
old_kotird16.5Скорректированная расчетная цена предыдущей сессии
buy_depositd16.2ГО покупателя
sell_depositd16.2ГО продавца
roundtoi4Количество знаков после запятой в цене
min_stepd16.5Минимальный шаг цены
lot_volumei4К-во единиц базового актива в инструменте
step_priced16.5Стоимость шага цены
d_pgtДата окончания обращения инструмента
is_spreadi1Признак вхождения фьючерса в межмесячный спрэд. 1 – входит; 0 – не входит
coeffd9.6Коэффициент межмесячного спрэда
d_exptДата исполнения инструмента
is_percenti1Признак контракта. 0 – обычный фьючерс, 1 – процентный фьючерс, 2 – фьючерс на погоду и электричество, 3 – фьючерс на евробонды, 4 - ставка РЕПО с ЦК
percent_rated6.2Процентная ставка для расчета вариационной маржи по процентным фьючерсам
last_cl_quoted16.5Котировка после последнего клиринга
signsi4Поле признаков
is_trade_eveningi1Признак торговли в вечернюю сессию
tickeri4Уникальный числовой код Главного Спота
statei4Состояние торговли по инструменту
price_diri1Направление цены инструмента
multileg_typei4Тип связки
legs_qtyi4Количество инструментов в связке
step_price_clrd16.5Cтоимость шага цены вечернего клиринга
step_price_interclrd16.5Cтоимость шага цены пром. клиринга
step_price_currd16.5Стоимость минимального шага цены, выраженная в валюте
d_starttДата ввода инструмента в обращение
exch_payd16.5Биржевой сбор
pctyield_coeffd16.5Коэффициент для вычисления доходности по фьючерсам на процентные ставки
pctyield_totald16.5Сумма ставок для вычисления доходности по фьючерсам на процентные ставки


Примечания:

  • Состояние сессии имеет приоритет над состоянием инструмента. То есть, если сессия находится в состоянии «приостановлена» или «завершена», то по всем инструмента нельзя торговать, независимо от значения state в инструменте.

  • Поле state может принимать следующие значения:

    0

    Сессия по этому инструменту назначена. Нельзя ставить заявки, но можно удалять по этому инструменту.

    1

    Сессия по этому инструменту идет. Можно ставить и удалять заявки по этому инструменту.

    2

    Приостановка торгов по всем инструментам. Нельзя ставить заявки, но можно удалять.

    3

    Сессия по этому инструменту принудительно завершена. Нельзя ставить и удалять заявки по этому инструменту.

    4

    Сессия по этому инструменту завершена по времени. Нельзя ставить и удалять заявки по этому инструменту.

    5

    Приостановка торгов по этому инструменту. Нельзя ставить заявки, но можно удалять по этому инструменту.

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

    0x01

    Признак торговли в вечернюю сессию

    0x02

    Маржируемый (1) или с уплатой премии (0)

    0x10

    Признак анонимной торговли

    0x20

    Признак неанонимной торговли

    0x40

    Признак торговли в основную сессию

    0x100

    Признак инструмента-связки

    0x1000

    Признак основной цены для составных инструментов:

    • 0 - инструмент котируется в своп-цене

    • 1 - инструмент котируется в ставке

    Значение признака влияет на смысл поля цены для данного инструмента в потоках со стаканами.

  • Поле price_dir может принимать следующие значения:

    0

    Стандартный порядок сортировки цен

    1

    Обратный порядок сортировки цен

  • Поле multileg_type может принимать следующие значения:

    0

    Обычный инструмент - не связка

    1

    Связка, торгуемая в режиме Репо

    Наличие данного признака означает, что инструмент может торговаться как в режиме Репо, так и в режиме связанных заявок.

    2

    Валютный своп

    3

    Календарный спред

  • Поле is_trade_evening является битовой маской:

    0

    Инструмент не торгуется

    1

    Инструмент торгуется в вечернюю сессию

    2

    Инструмент торгуется в дневную сессию

Таблица fut_instruments: Cправочник инструментов

Таблица 49. Поля таблицы fut_instruments

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
short_isinc25Описатель инструмента
isinc25Символьный код инструмента
namec75Наименование инструмента
inst_termi4Смещение от спота
code_vcbc25Код базового актива
is_limitedi1Признак наличия лимитов в торгах
old_kotird16.5Скорректированная расчетная цена предыдущей сессии
roundtoi4Количество знаков после запятой в цене
min_stepd16.5Минимальный шаг цены
lot_volumei4К-во единиц базового актива в инструменте
step_priced16.5Стоимость шага цены
d_pgtДата окончания обращения инструмента
is_spreadi1Признак вхождения фьючерса в межмесячный спрэд. 1 – входит; 0 – не входит
coeffd9.6Коэффициент межмесячного спрэда
d_exptДата исполнения инструмента
is_percenti1Признак контракта. 0 – обычный фьючерс, 1 – процентный фьючерс, 2 – фьючерс на погоду и электричество, 3 – фьючерс на евробонды, 4 - ставка РЕПО с ЦК
percent_rated6.2Процентная ставка для расчета вариационной маржи по процентным фьючерсам
last_cl_quoted16.5Котировка после последнего клиринга
signsi4Поле признаков
volat_mind20.15Нижняя граница волатильности
volat_maxd20.15Верхняя граница волатильности
price_diri1Направление цены инструмента
multileg_typei4Тип связки
legs_qtyi4Количество инструментов в связке
step_price_clrd16.5Cтоимость шага цены вечернего клиринга
step_price_interclrd16.5Cтоимость шага цены пром. клиринга
step_price_currd16.5Стоимость минимального шага цены, выраженная в валюте
d_starttДата ввода инструмента в обращение
is_limit_opti1Рассчитывать ли лимиты по опционам на этот базовый фьючерс, 1-да, 0-нет
limit_up_optd5.2Для опционов в деньгах: верхний лимит отклонения от волатильности центрального страйка
limit_down_optd5.2Для опционов в деньгах: нижний лимит отклонения от волатильности центрального страйка
adm_limd16.5Для опционов в деньгах: лимит отклонения теоретической цены, установленный администратором
adm_lim_offmoneyd16.5Для опционов вне денег: лимит отклонения теоретической цены
apply_adm_limiti1Для опционов в деньгах: 1 - применять лимит, установленный администратором, 0 - применять лимиты отклонения волатильности
pctyield_coeffd16.5Коэффициент для вычисления доходности по фьючерсам на процентные ставки
pctyield_totald16.5Сумма ставок для вычисления доходности по фьючерсам на процентные ставки


Таблица diler: Справочник имен фирм

Таблица 50. Поля таблицы diler

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
client_codec7Код клиента
namec200Наименование фирмы
rts_codec50Код РТС фирмы
transfer_codec7Код счета для переноса позиции
statusi4Признак обособленности раздела


Примечания:

  • Поля client_code, name, transfer_code заполняются только для своих фирм.

  • Поле status является битовой маской:

    • 0x01 - ДУ раздел

    • 0x02 - обособленный регистр

    • 0x04 - БФ является ДУ

Таблица investr: Справочник клиентов

Таблица 51. Поля таблицы investr

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
client_codec7Код клиента
namec200Наименование клиента
statusi4Признаки раздела


Примечания:

  • Поле status является битовой маской:

    • 0x01 - ДУ раздел

    • 0x02 - обособленный регистр

    • 0x04 - БФ является ДУ

Таблица fut_sess_settl: Результаты клиринга: расчетные цены

Таблица содержит расчетные цены по инструментам по результатам прошедшего клиринга.

Таблица 52. Поля таблицы fut_sess_settl

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
date_clrtДата клиринга
isinc25Символьный код инструмента
isin_idi4Уникальный числовой идентификатор инструмента
settl_priced16.5Расчетная цена


Таблица sys_messages: Сообщения торговой системы

Таблица 53. Поля таблицы sys_messages

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
msg_idi4Уникальный идентификатор сообщения
momenttДата и время регистрации сообщения
lang_codec8Язык сообщения
urgencyi1Признак срочности сообщения
statusi1Статус сообщения
textc255Краткий текст сообщения
message_bodyc4000Полный текст сообщения


Таблица prohibition: Запреты

Таблица 54. Поля таблицы prohibition

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
prohib_idi4Номер запрета
client_codec7Код клиента
initiatori4Инициатор запрета
sectionc50Секция
code_vcbc25Код базового актива
isin_idi4Уникальный числовой идентификатор инструмента
priorityi4Приоритет запрета
group_maski8Битовая маска групп, по которым действует запрет
typei4Тип запрета
is_legacyi4Признак добавления запретов через legacy-команды


Примечания:

  • Поле Initiator - Инициатор запрета:

    0

    БФ;

    1

    Главный трейдер РФ;

    2

    Администратор КЦ;

    3

    Администратор ТС.

  • Поле Type - Тип запрета

    0

    Всё разрешено (при отмене действующего запрета с меньшим приоритетом, иначе - просто удалить строку);

    1

    запрет открытия позиций;

    2

    запрет всех торговых операций;

    3

    запрет открытия позиций в продажу;

    бит 0x08

    запрет брокера на подачу заявок на Экспирацию.

    бит 0x10

    Заявки на Экспирацию разрешено подавать только Главному трейдеру.

  • Поле ProhibitionGroupMask - Битовая маска типов инструментов:

    0x1

    T+0

    0x2

    T+1

    0x4

    T+2

    ...

    ...

    0x8000000

    T+27

    0x10000000

    T-1

    0x20000000

    споты

    0x40000000

    фьючерсы

    0x80000000

    опционы

  • Поле Priority - От максимального приоритета к минимальному:

    Клиентский код, инструмент

    9

    Клиентский код, БА

    8

    Клиентский код, все БА

    7

    Код БФ, инструмент

    6

    Код БФ, БА

    5

    Код БФ, все БА

    4

    Код РФ, инструмент

    3

    Код РФ, БА

    2

    Код РФ, все БА

    1

  • Поле SectionID - Название:

    1

    Фондовая

    2

    Товарная

    3

    Денежная

    4

    MOSENEX

    5

    SPBEX

    6

    SPBEX_OAO

    7

    NAMEX

Таблица rates: Справочник курсов валют

Таблица 55. Поля таблицы rates

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
rate_idi4Идентификатор валюты платежа
curr_basec15Код базовой валюты
curr_coupledc15Код сопряжённой валюты
radiusd16.5Радиус изменения цены индикатора в процентах


Таблица sys_events: Таблица событий

Таблица 56. Поля таблицы sys_events

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Номер сессии
event_typei4Тип события
messagec64Описание события


Примечания:

  • Возможные типы событий

    event_type = 1

    message = "session_data_ready"

    Закончена загрузка данных из клиринговой системы в торговую перед началом новой торговой сессии

    event_type = 2

    message = "intraday_clearing_finished"

    Все расчетные процедуры в промклиринге закончены

    event_type = 4

    message = "intraday_clearing_started"

    Начало промклиринга

    event_type = 5

    message = "clearing_started"

    Начало основного клиринга

    event_type = 6

    message = "extension_of_limits_finished"

    Раздвижка лимитов закончена

    event_type = 8

    message = "broker_recalc_finished"

    Денежные средства после промклиринга пересчитаны

Поток FORTS_OPTINFO_REPL - Опционы: справочная и сессионная информация

Схема данных

Таблицы:

  • opt_rejected_orders - Отвергнутые в клиринг заявки
  • opt_intercl_info - информация о ВМ, рассчитанной по результатам пром. клиринга
  • opt_exp_orders - Заявки на экспирацию
  • opt_vcb - Справочник торгуемых активов
  • opt_sess_contents - Cправочник торгуемых инструментов
  • opt_sess_settl - Результаты клиринга: волатильность и теоретические цены
  • sys_events - Таблица событий

Таблица opt_rejected_orders: Отвергнутые в клиринг заявки

Таблица 57. Поля таблицы opt_rejected_orders

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
order_idi8Номер заявки
sess_idi4Идентификатор торговой сессии
client_codec7Код клиента
momenttВремя изменения состояния заявки
moment_rejecttВремя, когда заявка была отвергнута
isin_idi4Уникальный числовой идентификатор инструмента
diri1Направление
amounti4Объём, количество единиц инструмента
priced16.5Цена
date_exptДата истечения заявки
id_ord1i8Номер первой заявки
ret_codei4Код возврата процедуры перепостановки
ret_messagec255Текст сообщения о причине отвержения заявки при перепостановке
commentc20Комментарий трейдера
login_fromc20Логин пользователя, поставившего заявку
ext_idi4Внешний номер


Таблица opt_intercl_info: информация о ВМ, рассчитанной по результатам пром. клиринга

Таблица 58. Поля таблицы opt_intercl_info

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
client_codec7Код клиента
vm_intercld16.2Вариационная маржа, списанная или полученная в пром. клиринг


Таблица opt_exp_orders: Заявки на экспирацию

Таблица 59. Поля таблицы opt_exp_orders

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
exporder_idi8Идентификатор заявки на экспирацию
client_codec7Код клиента
isin_idi4Уникальный числовой идентификатор инструмента
amounti4Количество экспирируемых позиций
sess_idi4Идентификатор торговой сессии
datetДата и время
amount_applyi4Кол-во в заявках на момент пром.клиринга


Таблица opt_vcb: Справочник торгуемых активов

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

Таблица 60. Поля таблицы opt_vcb

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
code_vcbc25Код базового актива
namec75Наименование
exec_typec1Тип исполнения
currc3Валюта платежа
exch_payd16.2Биржевой сбор за 1 контракт в рублях
exch_pay_scalpedi1Признак скальпирования биржевого сбора
clear_payd16.2Клиринговый сбор за 1 контракт в рублях
clear_pay_scalpedi1Признак скальпирования клирингового сбора
sell_feed7.3Комиссия с продавца. Не используется
buy_feed7.3Комиссия с покупателя. Не используется
trade_schemec1Форма торгов
coeff_outd7.3Коэффициент приближенности 'внелимитных' опционов
is_speci11-по этому контракту шлюз (и его фирма) является специалистом по запросам на котировку
spec_spreadd16.5Спред специалиста
min_voli4Минимальный объем в котировках специалиста
client_codec7Код клиента
rate_idi4Идентификатор курса


Таблица opt_sess_contents: Cправочник торгуемых инструментов

Таблица содержит справочник инструментов, назначенных к торгам в сессию.

Таблица 61. Поля таблицы opt_sess_contents

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
isin_idi4Уникальный числовой идентификатор инструмента
isinc25Символьный код инструмента
short_isinc25Описатель инструмента
namec75Наименование инструмента
code_vcbc25Код базового актива
fut_isin_idi4Код фьючерсного инструмента
is_limitedi1Признак наличия лимитов в торгах
limit_upd16.5Верхний лимит премии
limit_downd16.5Нижний лимит премии
old_kotird16.5Котировка (Теоретическая цена опциона) предыдущей сессии
bgo_cd16.2Базовое ГО под одну покрытую позицию подписчика (руб)
bgo_ncd16.2Базовое ГО под одну непокрытую позицию подписчика (руб)
europei1Разновидность опциона. 0 - американский опцион, 1 - европейский опцион
puti1Тип опциона. 0 - Call опцион,1 - Put опцион
striked16.5Цена страйк
roundtoi4Количество знаков после запятой в цене
min_stepd16.5Минимальный шаг премии
lot_volumei4К-во единиц базового актива в инструменте
step_priced16.5Стоимость шага премии
d_pgtДата окончания обращения инструмента
d_exec_begtДата начала экспирации инструмента
d_exec_endtДата окончания экспирации инструмента
signsi4Поле признаков
last_cl_quoted16.5Расчетная Цена (Теоретическая цена опциона) после последнего клиринга
bgo_buyd16.2Базовое ГО под покупку маржируемого опциона
base_isin_idi4Числовой идентификатор базового инструмента
d_starttДата ввода инструмента в обращение
exch_payd16.2Биржевой сбор за 1 контракт в рублях


Примечания:

  • Поле signs является битовой маской и принимает следующие значения:

    0x01

    Признак торговли в вечернюю сессию

    0x02

    Маржируемый (1) или с уплатой премии (0)

    0x10

    Признак анонимной торговли

    0x20

    Признак неанонимной торговли

    0x40

    Признак торговли в основную сессию

Таблица opt_sess_settl: Результаты клиринга: волатильность и теоретические цены

Таблица содержит значения волатильности и теоретической по инструментам по результатам прошедшего клиринга.

Таблица 62. Поля таблицы opt_sess_settl

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
date_clrtДата клиринга
isinc25Символьный код инструмента
isin_idi4Уникальный числовой идентификатор иструмента
volatd16.5Волатильность опциона
theor_priced16.5Теоретическая цена опциона


Таблица sys_events: Таблица событий

Таблица 63. Поля таблицы sys_events

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Номер сессии
event_typei4Тип события
messagec64Описание события


Примечания:

  • Возможные типы событий

    event_type = 1

    message = "session_data_ready"

    Закончена загрузка данных из клиринговой системы в торговую перед началом новой торговой сессии

    event_type = 2

    message = "intraday_clearing_finished"

    Все расчетные процедуры в промклиринге закончены

    event_type = 4

    message = "intraday_clearing_started"

    Начало промклиринга

    event_type = 5

    message = "clearing_started"

    Начало основного клиринга

    event_type = 6

    message = "extension_of_limits_finished"

    Раздвижка лимитов закончена

    event_type = 8

    message = "broker_recalc_finished"

    Денежные средства после промклиринга пересчитаны

Поток FORTS_MISCINFO_REPL - Дополнительная справочная информация

Схема данных

Таблицы:

  • volat_coeff - Таблица с коэффициентами волатильности

Таблица volat_coeff: Таблица с коэффициентами волатильности

Таблица 64. Поля таблицы volat_coeff

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
ad16.10Коэффициент A параметрической кривой волатильности
bd16.10Коэффициент B параметрической кривой волатильности
cd16.10Коэффициент C параметрической кривой волатильности
dd16.10Коэффициент D параметрической кривой волатильности
ed16.10Коэффициент E параметрической кривой волатильности
sd16.10Коэффициент S параметрической кривой волатильности


Поток FORTS_MM_REPL - Информация об обязательствах ММ

Схема данных

Таблицы:

  • fut_MM_info - Обязательства ММ по фьючерсам
  • opt_MM_info - Обязательства ММ по опционам
  • cs_mm_rule - Таблица с инструментами для пересчета центрального страйка
  • mm_agreement_filter - Таблица с номерами и типами договоров на оказание маркет-мейкерских услуг

Таблица fut_MM_info: Обязательства ММ по фьючерсам

Таблица 65. Поля таблицы fut_MM_info

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
sess_idi4Идентификатор торговой сессии
spreadd16.5Спред в пунктах
price_edge_selld16.5Цена худшей заявки на продажу, вошедшей в спред
amount_sellsi4Кол-во контрактов в заявках на продажу, входящих в спред
price_edge_buyd16.5Цена худшей заявки на покупку, вошедшей в спред
amount_buysi4Кол-во контрактов в заявках на покупку, входящих в спред
mm_spreadd16.5Спред по договору
mm_amounti4Кол-во по договору
spread_signi1Признак: 1 – спред не держится, 0 – держится
amount_signi1Признак: 1 – кол-во не держится, 0 – держится
percent_timed6.2Процент выполнения Обязательств
period_starttНачало периода действия правил ММ
period_endtОкончание периода действия правил ММ
client_codec7Код клиента
active_signi4Признак: 1 – запись удалена (стала не активна), 0 – активна
agmt_idi4Идентификатор обязательства ММ
fulfil_mind6.2Процент минимального исполнения обязательств за торговую сессию
fulfil_partiald6.2Процент частичного исполнения обязательств за торговую сессию
fulfil_totald6.2Процент полного исполнения обязательств за торговую сессию
is_fulfil_mini1Признак минимального исполнения обязательств в текущий момент
is_fulfil_partiali1Признак частичного исполнения обязательств в текущий момент
is_fulfil_totali1Признак полного исполнения обязательств в текущий момент
is_rfi1Признак обязательства расчетной фирмы
id_groupi4Идентификатор маркет-мейкерской связки


Примечания: В таблице fut_MM_info потока FORTS_MM_REPL транслируются обязательства маркет-мейкеров с детализацией до семизначного клиентского кода.

Таблица opt_MM_info: Обязательства ММ по опционам

Таблица 66. Поля таблицы opt_MM_info

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
sess_idi4Идентификатор торговой сессии
spreadd16.5Спред в пунктах
price_edge_selld16.5Цена худшей заявки на продажу, вошедшей в спред
amount_sellsi4Кол-во контрактов в заявках на продажу, входящих в спред
price_edge_buyd16.5Цена худшей заявки на покупку, вошедшей в спред
amount_buysi4Кол-во контрактов в заявках на покупку, входящих в спред
mm_spreadd16.5Спред по договору
mm_amounti4Кол-во по договору
spread_signi1Признак: 1 – спред не держится, 0 – держится
amount_signi1Признак: 1 – кол-во не держится, 0 – держится
percent_timed6.2Процент выполнения Обязательств
period_starttНачало периода действия правил ММ
period_endtОкончание периода действия правил ММ
client_codec7Код клиента
cstrike_offsetd16.5Смещение от центрального страйка
active_signi4Признак: 1 – запись удалена (стала не активна), 0 – активна
agmt_idi4Идентификатор обязательства ММ
fulfil_mind6.2Процент минимального исполнения обязательств за торговую сессию
fulfil_partiald6.2Процент частичного исполнения обязательств за торговую сессию
fulfil_totald6.2Процент полного исполнения обязательств за торговую сессию
is_fulfil_mini1Признак минимального исполнения обязательств в текущий момент
is_fulfil_partiali1Признак частичного исполнения обязательств в текущий момент
is_fulfil_totali1Признак полного исполнения обязательств в текущий момент
is_rfi1Признак обязательства расчетной фирмы
id_groupi4Идентификатор маркет-мейкерской связки


Примечания: В таблице opt_MM_info потока FORTS_MM_REPL транслируются обязательства маркет-мейкеров с детализацией до семизначного клиентского кода.

Таблица cs_mm_rule: Таблица с инструментами для пересчета центрального страйка

Таблица 67. Поля таблицы cs_mm_rule

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
client_codec4Код клиента
isin_idi4Уникальный числовой идентификатор инструмента


Таблица mm_agreement_filter: Таблица с номерами и типами договоров на оказание маркет-мейкерских услуг

Таблица 68. Поля таблицы mm_agreement_filter

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
agmt_idi4Идентификатор договора
agreementc50Номер договора
client_codec7Код клиента
is_futi1Тип обязательства


Поток FORTS_CLR_REPL - Клиринговая информация

Схема данных

Таблицы:

  • money_clearing - Клиентские деньги в клиринге
  • clr_rate - Курсы валют и индексов
  • fut_pos - информация о позиционном состоянии на момент вечернего клиринга по фьючерсам
  • opt_pos - информация о позиционном состоянии на момент вечернего клиринга по опционам
  • fut_sess_settl - Расчетные цены по фьючерсам
  • opt_sess_settl - расчетные цены по опционам
  • pledge_details - Таблица детализации залогов
  • sys_events - Таблица событий

Таблица money_clearing: Клиентские деньги в клиринге

Таблица 69. Поля таблицы money_clearing

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
client_codec7Код клиента
sharei1Тип счета
amount_begd16.2Денег на начало дня
vmd16.2Вариационная маржа, включая вариационную маржу по маржируемым опционам
premiumd16.2Опционная премия
payd16.2Движение по счету
fee_futd16.2Фьючерсный биржевой сбор
fee_optd16.2Опционный биржевой сбор
god16.2Суммарное ГО по фьючерсам и опционам
amount_endd21.2На конец дня
freed22.2Свободно средств
ext_reserved26.2Дополнительный резерв


Примечания:

  • Для инструментов RUONIA поле ext_reserve содержит сумму средств, зарезервированных под возможное изменение ставки RUONIA

Таблица clr_rate: Курсы валют и индексов

Таблица 70. Поля таблицы clr_rate

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
rated16.5Значение индекса
momenttМомент фиксирования значения
signsi1Признаки, соответствующие данному значению
sess_idi4Идентификатор торговой сессии
rate_idi4Идентификатор курса


Таблица fut_pos: информация о позиционном состоянии на момент вечернего клиринга по фьючерсам

Таблица 71. Поля таблицы fut_pos

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
sess_idi4Идентификатор торговой сессии
isinc25Символьный код инструмента
client_codec7Код клиента
accounti1Тип счета (0 - РФ; 1 - БФ; 2 - клиент)
pos_begi4Позиция на начало дня
pos_endi4Позиция на конец дня
vmd16.2Суммарная ВМ по итогам основного клиринга для клиента/фирмы и инструмента
feed16.2Суммарный сбор для клиента/фирмы и инструмента
accum_god16.2Накопленный ГП
fee_exd16.2Биржевой сбор
vat_exd16.2НДС в составе биржевого сбора
fee_ccd16.2Клиринговый сбор
vat_ccd16.2НДС в составе клирингового сбора


Таблица opt_pos: информация о позиционном состоянии на момент вечернего клиринга по опционам

Таблица 72. Поля таблицы opt_pos

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
sess_idi4Идентификатор торговой сессии
isinc25Символьный код инструмента
client_codec7Код клиента
accounti1Тип счета (0 - РФ; 1 - БФ; 2 - клиент)
pos_begi4Позиция на начало дня
pos_endi4Позиция на конец дня
vmd16.2Суммарная ВМ по итогам основного клиринга для клиента/фирмы и инструмента. Равно сумме полей VAR_MARG_P и VAR_MARG_D
feed16.2Суммарный сбор для клиента/фирмы и инструмента. Совпадает с полем SBOR из отчетов
fee_exd16.2Биржевой сбор
vat_exd16.2НДС в составе биржевого сбора
fee_ccd16.2Клиринговый сбор
vat_ccd16.2НДС в составе клирингового сбора


Таблица fut_sess_settl: Расчетные цены по фьючерсам

Таблица 73. Поля таблицы fut_sess_settl

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
date_clrtДата клиринга
isinc25Символьный код инструмента
isin_idi4Уникальный числовой идентификатор инструмента
settl_priced16.5Расчетная цена


Таблица opt_sess_settl: расчетные цены по опционам

Таблица 74. Поля таблицы opt_sess_settl

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
sess_idi4Идентификатор торговой сессии
date_clrtДата клиринга
isinc25Символьный код инструмента
isin_idi4Уникальный числовой идентификатор иструмента
volatd16.5Волатильность опциона
theor_priced16.5Теоретическая цена опциона


Таблица pledge_details: Таблица детализации залогов

Таблица 75. Поля таблицы pledge_details

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
client_codec7Код клиента
pledge_namec10Код иностранной валюты или ценной бумаги
amount_begd10.0Количество ценных бумаг или иностранной валюты на начало сессии
payd10.0Сумма вводов-выводов в штуках ценных бумаг или иностранной валюты
amountd10.0Количество ценных бумаг или иностранной валюты на текущий момент
rated16.5Оценочная стоимость единицы иностранной валюты или одной ценной бумаги в рублях РФ
amount_beg_moneyd16.2Количество ценных бумаг или иностранной валюты на начало сессии в рублях РФ
pay_moneyd16.2Сумма вводов-выводов в штуках ценных бумаг или иностранной валюты в рублях РФ
amount_moneyd16.2Количество ценных бумаг или иностранной валюты на текущий момент в рублях РФ
com_ensurei1Тип cредств обеспечения


Примечания:

  • Поле amount_money - Количество ценных бумаг или иностранной валюты на текущий момент (в рублях РФ) (рассчитывается как «amount» * «rate»)

  • Поле amount_beg_money - Количество ценных бумаг или иностранной валюты на начало сессии (в рублях РФ) (рассчитывается как «amount_beg» * «rate»)

  • Поле pay_money - Сумма вводов-выводов в штуках ценных бумаг или иностранной валюты (в рублях РФ) (рассчитывается как «pay» * «rate»)

  • Поле com_ensure - Тип cредств обеспечения:

    0

    средства частичного обеспечения;

    1

    средства полного обеспечения.

Таблица sys_events: Таблица событий

Таблица 76. Поля таблицы sys_events

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Номер сессии
event_typei4Тип события
messagec64Описание события


Примечания:

  • Возможные типы событий:

    event_type = 3

    message = "clearing_data_ready"

    Готовы данные после основного клиринга

Поток RTS_INDEX_REPL - Биржевые индексы

Схема данных

Таблицы:

Таблица rts_index: Таблица индексов

Таблица содержит данные о значениях биржевых индексов.

Таблица 77. Поля таблицы rts_index

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
namec25Имя индекса
momenttМомент последнего расчета
valued18.4Значение индекса
prev_close_valued18.4Значение индекса на закрытие предыдущей торговой сессии
open_valued18.4Значение индекса на открытие текущей торговой сессии
max_valued18.4Максимальное значение индекса в течение текущей торговой сессии
min_valued18.4Минимальное значение индекса в течение текущей торговой сессии
usd_rated10.4Для индексов, в которых учитываются как рублевые, так и долларовые цены инструментов – курс рубля к доллару, использовавшийся для расчета
capd18.4Капитализация бумаг, входящих в индекс
volumed18.4Объём сделок, входящих в индекс


Поток RTS_INDEXLOG_REPL - История значений индексов

Схема данных

Таблицы:

Таблица rts_index_log: Журнал значений индексов

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

Таблица 78. Поля таблицы rts_index_log

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
namec25Имя индекса
momenttМомент последнего расчета
valued18.4Значение индекса
prev_close_valued18.4Значение индекса на закрытие предыдущей торговой сессии
open_valued18.4Значение индекса на открытие текущей торговой сессии
max_valued18.4Максимальное значение индекса в течение текущей торговой сессии
min_valued18.4Минимальное значение индекса в течение текущей торговой сессии
usd_rated10.4Для индексов, в которых учитываются как рублевые, так и долларовые цены инструментов – курс рубля к доллару, использовавшийся для расчета
capd18.4Капитализация бумаг, входящих в индекс
volumed18.4Объём сделок, входящих в индекс


Поток FORTS_VM_REPL - Вариационная маржа

Схема данных

Таблицы:

  • fut_vm - Вариационная маржа по фьючерсам
  • opt_vm - Вариационная маржа по опционам

Таблица fut_vm: Вариационная маржа по фьючерсам

Таблица 79. Поля таблицы fut_vm

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
sess_idi4Идентификатор торговой сессии
client_codec7Код клиента
vmd16.5Накопленная по сделкам вариационная маржа по фьючерсам, рассчитанная по текущей котировке
vm_reald16.5Накопленная по сделкам вариационная маржа по фьючерсам, рассчитанная по текущей рыночной котировке


Таблица opt_vm: Вариационная маржа по опционам

Таблица 80. Поля таблицы opt_vm

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
sess_idi4Идентификатор торговой сессии
client_codec7Код клиента
vmd16.5Накопленная по сделкам вариационная маржа по маржируемым опционам, рассчитанная по текущей опционной котировке
vm_reald16.5Накопленная по сделкам вариационная маржа по маржируемым опционам, рассчитанная по текущей опционной котировке


Поток FORTS_VOLAT_REPL - Волатильность

Схема данных

Таблицы:

  • volat - Волатильность

Таблица volat: Волатильность

Таблица 81. Поля таблицы volat

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isin_idi4Уникальный числовой идентификатор инструмента
sess_idi4Идентификатор торговой сессии
volatd16.5Волатильность опциона
theor_priced16.5Теоретическая цена опциона
theor_price_limitd16.5Теоретическая цена опциона с учетом лимитов
up_premd16.5Верхний лимит премии по опциону
down_premd16.5Нижний лимит премии по опциону


Поток FORTS_INFO_REPL - Дополнительная справочная информация

Схема данных

Таблицы:

Таблица base_contracts_params: Параметры базовых контрактов

Таблица 82. Поля таблицы base_contracts_params

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
code_vcbc25Код базового контракта
code_mcsc25Код межконтрактного спрэда
volat_numi1Количество кривых волатильности
points_numi1Количество точек риска
subrisk_stepfШаг подточек риска
is_percenti1Признак контракта
percent_rated16.5Процентная ставка (для контрактов на ставки)
currency_volatd16.5Волатильность курса валюты
is_usdi1Признак расчета в долларах
usd_rate_curv_radiusfРадиус кривизны курса валюты
somcfСтавка ГО по непокрытым продажам (в рублях)


Примечания:

  • Поле is_percent может принимать следующие значения:

    0

    обычный фьючерс

    1

    процентный фьючерс

    2

    фьючерс на погоду и электричество

    3

    фьючерс на евробонды

    4

    ставка РЕПО с ЦК

Таблица futures_params: Параметры фьючерсов

Таблица 83. Поля таблицы futures_params

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isinc25Идентификатор инструмента
isin_idi4Уникальный числовой идентификатор инструмента
code_vcbc25Код базового контракта
limitfЛимит колебания цены контракта
settl_priced16.5Расчетная цена
spread_aspecti1Признак вхождения в спрэд
subriski1Признак учета рисков по подточкам риска
step_pricefЦена минимального шага
base_god26.2Базовое ГО
exp_datetДата экспирации
spot_signsi1Признак спот-фьючерса
settl_price_reald16.5Реальная расчетная цена фьючерса
min_stepfМинимальный шаг изменения цены


Примечания:

  • Поле spread_aspect может принимать следующие значения:

    0

    Не входит в спрэд

    2

    Входит в межмесячный спрэд

  • Поле spot_signs может принимать следующие значения:

    0

    Обычный фьючерс

    1

    Спот

    3

    Главный спот

Таблица virtual_futures_params: Параметры виртуальных фьючерсов

Таблица 84. Поля таблицы virtual_futures_params

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isinc25Идентификатор инструмента
isin_basec25Код реального фьючерса
is_net_positivei1Признак учета положительных рисков по данному виртуальному фьючерсу
volat_rangefКоридор волатильности
t_squaredfВеличина квадратного корня из времени до экспирации опционов на данный виртуальный фьючерс
max_addriskfОграничение сверху на дополнительные риски
afПараметр a
bfПараметр b
cfПараметр c
dfПараметр d
efПараметр e
sfПараметр s
exp_datetДата экспирации
fut_typei1Признак маржинальной системы расчетов для опционов, привязанных к данному ВФ
use_null_volati1Признак нулевой волатильности
allow_use_extra_exp_riski1Разрешить брокеру включать расчёт дополнительных рисков экспирации по опционам в портфеле клиента
calc_extra_exp_riski1Принудительно рассчитывать дополнительные риски экспирации по опционам


Таблица options_params: Параметры опционов

Таблица 85. Поля таблицы options_params

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
isinc25Идентификатор инструмента
isin_idi4Уникальный числовой идентификатор инструмента
isin_basec25Код виртуального фьючерса
striked16.5Страйк опциона
opt_typei1Тип опциона: 1 - PUT, 2 - CALL
settl_priced16.5Расчетная цена
base_go_selld26.2Базовое ГО на продажу
synth_base_god26.2Базовое ГО по синтетической позиции на продажу
base_go_buyd26.2Базовое ГО на покупку


Таблица broker_params: Информация о параметрах фирм

Таблица 86. Поля таблицы broker_params

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
broker_codec7Код брокерской фирмы
code_vcbc25Код базового актива
limit_spot_selli4В данный момент не используются
used_limit_spot_selli4В данный момент не используются


Таблица client_params: Информация о параметрах клиентов

Таблица 87. Поля таблицы client_params

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
client_codec7Код клиента
code_vcbc25Код базового актива
coeff_god16.5Коэффициент ГО
limit_spot_selli4В данный момент не используются
used_limit_spot_selli4В данный момент не используются


Таблица sys_events: Таблица событий

Таблица 88. Поля таблицы sys_events

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
event_idi8Уникальный идентификатор события
sess_idi4Номер сессии
event_typei4Тип события
messagec64Описание события


Примечания:

  • Возможные типы событий

    event_type = 1

    message = "session_data_ready"

    Закончена загрузка данных из клиринговой системы в торговую перед началом новой торговой сессии

    event_type = 2

    message = "intraday_clearing_finished"

    Все расчетные процедуры в промклиринге закончены

    event_type = 4

    message = "intraday_clearing_started"

    Начало промклиринга

    event_type = 5

    message = "clearing_started"

    Начало основного клиринга

    event_type = 6

    message = "extension_of_limits_finished"

    Раздвижка лимитов закончена

    event_type = 8

    message = "broker_recalc_finished"

    Денежные средства после промклиринга пересчитаны

Поток FORTS_TNPENALTY_REPL - Информация о сборах за транзакции

Схема данных

Таблицы:

  • fee_all - Информация о количестве начисленных баллов
  • fee_tn - Детализированная информация по количеству некорректных транзакций

Таблица fee_all: Информация о количестве начисленных баллов

Таблица 89. Поля таблицы fee_all

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
timei8Время
p2loginc64Логин
sess_idi4Номер сессии
pointsi4Количество начисленных баллов за секунду из time
feed16.2Сбор за некорректные транзакции к моменту time


Таблица fee_tn: Детализированная информация по количеству некорректных транзакций

Таблица 90. Поля таблицы fee_tn

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
timei8Время
p2loginc64Логин
sess_idi4Номер сессии
tn_typei4Тип транзакции
err_codei4Код ошибки
counti4Количество некорректных транзакций


Поток MOEX_RATES_REPL - Курсы валют он-лайн

Схема данных

Таблицы:

Таблица curr_online: Значения курсов валют

Таблица 91. Поля таблицы curr_online

ПолеТипОписание
replIDi8Служебное поле подсистемы репликации
replRevi8Служебное поле подсистемы репликации
replActi8Служебное поле подсистемы репликации
rate_idi4Идентификатор валюты платежа
valued16.5Текущий курс валюты платежа
momenttВремя расчёта курса валюты платежа


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

Метод FutAddOrder - Добавление заявки

Тип сообщения: 64

Тип ответного сообщения: 101

Таблица 92. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
isinc25 Код инструмента
client_codec3 Код клиента
typei4 Вид заявки
diri4 Направления заявки
amounti4 Количество единиц инструмента
pricec17 Цена заявки
commentc20""Поле комментария. Добавляется в заявку, сделку. Может использоваться по собственному усмотрению разработчиков шлюза.
broker_toc20""Код РТС фирмы, которой адресована внесистемная заявка
ext_idi40Внешний номер. Добавляется в заявку, сделку
dui40Признак ДУ. Добавляется в заявку, сделку
date_expc8""Дата истечения заявки. Добавляется в заявку.
hedgei40Признак хэдж-заявки
dont_check_moneyi40Признак расчета рисков по клиентскому разделу по данной заявке
match_refc10""Текст-связка для однозначного соответствия двух встречных адресных заявок


Таблица 93. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения
order_idi8 Код заявки в системе


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Поле type может принимать следующие значения:

    1

    котировочная заявка (остаётся в очереди после частичного сведения)

    2

    встречная заявка (снимается после проведения аукциона)

    3

    заявка Fill-or-Kill

  • Поле dir может принимать следующие значения:

    1

    заявка на покупку

    2

    заявка на продажу

  • В поле price задаётся цена заявки в строковом виде 'nnnnnnnnnn.mmmmm'.

  • В поле date_exp задаётся дата истечения заявки в виде 'YYYYMMDD'. Если в качестве данного параметра передаётся пустая строка, то заявка считается обычной. При заданной дате заявка будет автоматически перевыставляться в следующую сессию, но - получая при этом новый номер и новое время. Таким образом получаются «многодневные» заявки. Время их жизни – до истечения даты. Заявки с истекшей датой будут автоматически сниматься после завершения вечерней сессии (если она есть в этот день), уже ночью. При перевыставлении делаются проверки на наличие инструмента, клиента, достаточности средств. Допустимый диапазон даты: >= сегодняшнего дня, <= одного года вперед.

  • Параметр заявки dont_check_moneyпринимает следующие значения:

    • 0 - проверять обеспечение на уровне клиентского раздела

    • 1 - не проверять обеспечение на уровне клиентского раздела

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

Метод FutAddMultiLegOrder - Добавление заявки по составному инструменту

Тип сообщения: 65

Тип ответного сообщения: 129

Осуществляет постановку заявки по составному инструменту - календарному спреду на фьючерс.

Таблица 94. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
sess_idi40Идентификатор сессии
isin_idi4 Код инструмента-связки
client_codec3 Код клиента
typei4 Вид заявки
diri4 Направления заявки
amounti4 Количество единиц инструмента
pricec17 Цена заявки
rate_pricec17 Своп-цена
commentc20""Поле комментария. Добавляется в заявку, сделку. Может использоваться по собственному усмотрению разработчиков шлюза.
hedgei40Признак хэдж-заявки
broker_toc20""Код РТС фирмы, которой адресована внесистемная заявка
ext_idi40Внешний номер. Добавляется в заявку, сделку
trusti40Признак ДУ. Добавляется в заявку, сделку
date_expc8""Дата истечения заявки. Добавляется в заявку.
trade_modei4 Тип заявки
dont_check_moneyi40Признак расчета рисков по клиентскому разделу по данной заявке
match_refc10""Текст-связка для однозначного соответствия двух встречных адресных заявок


Таблица 95. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения
order_idi8 Код заявки в системе


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Поле type может принимать следующие значения:

    1

    котировочная заявка (остаётся в очереди после частичного сведения)

    2

    встречная заявка (снимается после проведения аукциона)

    3

    заявка Fill-or-Kill

  • Поле dir может принимать следующие значения:

    1

    заявка на покупку

    2

    заявка на продажу

  • В поле price задаётся цена заявки в строковом виде 'nnnnnnnnnn.mmmmm'.

  • В поле date_exp задаётся дата истечения заявки в виде 'YYYYMMDD'.

  • Поле trade_mode может принимать следующие значения:

    1

    Репо

    2

    Обычная заявка по связке

  • В поле sess_id должен быть указан номер сессии или 0, что означает выставление заявки в текущую сессию.

  • Параметр заявки dont_check_moneyпринимает следующие значения:

    • 0 - проверять обеспечение на уровне клиентского раздела

    • 1 - не проверять обеспечение на уровне клиентского раздела

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

Метод FutDelOrder - Удаление заявки

Тип сообщения: 37

Тип ответного сообщения: 102

Таблица 96. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
order_idi8 Код заявки для удаления


Таблица 97. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения
amounti4 Количество единиц инструмента в удалённой заявке


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Код возврата = 14 (Не найдена заявка для удаления) означает, что такой заявки в очереди (уже) нет. Возможно, номер неправильный и ее сегодня вообще не было. Нет смысла повторно (а тем более многократно) посылать удаление с тем же номером. Особенно это актуально для автоматических систем.

Метод FutDelUserOrders - Удаление заявок по типу

Тип сообщения: 38

Тип ответного сообщения: 103

Таблица 98. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
buy_selli4 Выбор типа заявок в зависимости от направления
non_systemi4 Выбор типа заявок по признаку обычные/внесистемные
codec3 Код клиентского счета
code_vcbc25 Код контракта
ext_idi40Внешний номер
isinc25""Код инструмента


Таблица 99. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения
num_ordersi4 Количество удалённых заявок


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Параметр buy_sell может принимать следующие значения

    1

    Заявки на покупку

    2

    Заявки на продажу

    3

    Все заявки

    4

    все заявки вне лимитов (полезно после проведения пром. клиринга)

  • Параметр non_system может принимать следующие значения

    0

    Обычные заявки

    1

    Внесистемные

    2

    Все

  • Если параметр code не задан или его значение равно ‘%%%’, то производится удаление заявок для всех клиентских счетов.

  • Если параметр code_vcb не задан или его значение равно ‘%’, то производится удаление заявок для всех контрактов.

  • В случае задания для параметра ext_id значения, отличного от 0, производится удаления всех заявок с соответствующим ext_id; значения других параметров при этом игнорируются; при этом их значения должны находится в допустимом диапазоне.

  • Данная команда не может быть использована для удаления заявок по инструментам-связкам.

Метод FutMoveOrder - Перемещение двух заявок

Тип сообщения: 39

Тип ответного сообщения: 105

Таблица 100. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
regimei4 Режим работы команды
order_id1i8 Номер первой удаляемой заявки
amount1i40Новое количество единиц инструмента для первой заявки
price1c17"0"Новая цена для первой заявки
ext_id1i40Новый внешний номер для первой заявки
order_id2i80Номер второй удаляемой заявки
amount2i40Новое количество единиц инструмента для второй заявки
price2c17"0"Новая цена для второй заявки
ext_id2i40Новый внешний номер для второй заявки


Таблица 101. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения
order_id1i8 Новый номер первой заявки
order_id2i8 Новый номер второй заявки


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Параметр regime определяет режим работы команды и может принимать следующие значения:

    0

    Не менять объёмы заявок. Остается текущий фактический объем заявок в системе. Присланные количества игнорируются.

    1

    Изменить объёмы заявок. Если заявки найдены, вместо них выставляются заявки с присланными ценой и объемом.

    2

    Снять старые заявки. Если объем хотя бы одной из заявок не совпадает с присланным, удаляются обе заявки. Иначе - выполняется сдвиг.

    3

    Установить объемы заявок равными присланным за вычетом сведенной части заявки (не меньше 0). Если присланный объем меньше сведенной части заявки, удаляются обе заявки.

  • Для новых заявок проводится процедура аукциона.

  • Сдвиг заявок возможен только в рамках одного торгового инструмента. Только по одному клиентскому регистру.

  • Нельзя сдвигать заявки по связкам.

  • Нельзя сдвигать адресные заявки.

  • При сдвиге нельзя менять направление заявки.

  • Удаленная (или передвинутая, или полностью сведенная) заявка не перевыставляется; выдается сообщение об ошибке.

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

  • Если две заявки противоположного направления сдвигаются таким образом, что цены заявок пересекаются, параметры считаются некорректными, сдвиг не выполняется, выдается сообщение об ошибке.

  • Если при сдвиге пары заявок одна из них наткнулась на кросс-сделку (сведение с заявкой от того же ИНН, либо клиентского регистра), она откатывается, а другая заявка сдвигается.

  • При передвижке заявок date_exp переносятся в новые заявки.

  • В результатах обработки команды поля order_id1 и order_id2 заполняются номерами новых заявок. В случае, если заявка не была выставлена, соответствующее поле обнуляется.

Метод OptAddOrder - Добавление заявки

Тип сообщения: 66

Тип ответного сообщения: 109

Таблица 102. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
isinc25 Код инструмента
client_codec3 Код клиента
typei4 Вид заявки
diri4 Направления заявки
amounti4 Количество единиц инструмента
pricec17 Цена заявки
commentc20""Поле комментария. Добавляется в заявку, сделку. Может использоваться по собственному усмотрению разработчиков шлюза.
broker_toc20""Код РТС фирмы, которой адресована внесистемная заявка
ext_idi40Внешний номер. Добавляется в заявку, сделку
dui40Признак ДУ. Добавляется в заявку, сделку
check_limiti40Признак проверки лимитов
date_expc8""Дата истечения заявки. Добавляется в заявку.
hedgei40Признак хэдж-заявки
dont_check_moneyi40Признак расчета рисков по клиентскому разделу по данной заявке
match_refc10""Текст-связка для однозначного соответствия двух встречных адресных заявок


Таблица 103. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения
order_idi8 Код заявки в системе


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Поле type может принимать следующие значения:

    1

    Котировочная заявка (остаётся в очереди после частичного сведения)

    2

    Встречная заявка (снимается после проведения аукциона)

    3

    Заявка Fill-or-Kill

  • Поле dir может принимать следующие значения:

    1

    заявка на покупку

    2

    заявка на продажу

  • В поле price задаётся цена заявки в строковом виде 'nnnnnnnnnn.mmmmm'.

  • Поле check_limit может принимать следующие значения:

    0

    Не выполнять проверку лимитов

    1

    Выполнять проверку лимитов

  • В поле date_exp задаётся дата истечения заявки в виде 'YYYYMMDD'. Если в качестве данного параметра передаётся пустая строка, то заявка считается обычной. При заданной дате заявка будет автоматически перевыставляться в следующую сессию, но - получая при этом новый номер и новое время. Таким образом получаются «многодневные» заявки. Время их жизни – до истечения даты. Заявки с истекшей датой будут автоматически сниматься после завершения вечерней сессии (если она есть в этот день), уже ночью. При перевыставлении делаются проверки на наличие инструмента, клиента, достаточности средств. Допустимый диапазон даты: >= сегодняшнего дня, <= одного года вперед.

  • Параметр заявки dont_check_moneyпринимает следующие значения:

    • 0 - проверять обеспечение на уровне клиентского раздела

    • 1 - не проверять обеспечение на уровне клиентского раздела

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

Метод OptDelOrder - Удаление заявки

Тип сообщения: 42

Тип ответного сообщения: 110

Таблица 104. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
order_idi8 Код заявки для удаления


Таблица 105. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения
amounti4 Количество единиц инструмента в удалённой заявке


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Метод OptDelUserOrders - Удаление заявок по типу

Тип сообщения: 43

Тип ответного сообщения: 111

Таблица 106. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
buy_selli4 Выбор типа заявок в зависимости от направления
non_systemi4 Выбор типа заявок по признаку обычные/внесистемные
codec3 Код клиентского счета
code_vcbc25 Код контракта
ext_idi40Внешний номер
isinc25""Код инструмента


Таблица 107. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения
num_ordersi4 Количество удалённых заявок


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Параметр buy_sell может принимать следующие значения

    1

    Заявки на покупку

    2

    Заявки на продажу

    3

    Все заявки

  • Параметр non_system может принимать следующие значения

    0

    Обычные заявки

    1

    Внесистемные

    2

    Все

  • Если параметр code не задан или его значение равно ‘%%%’, то производится удаление заявок для всех клиентских счетов.

  • Если параметр code_vcb не задан или его значение равно ‘%’, то производится удаление заявок для всех контрактов.

  • В случае задания для параметра ext_id значения, отличного от 0, производится удаления всех заявок с соответствующим ext_id; значения других параметров при этом игнорируются; при этом их значения должны находится в допустимом диапазоне.

Метод OptMoveOrder - Перемещение двух заявок

Тип сообщения: 44

Тип ответного сообщения: 113

Таблица 108. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
regimei4 Режим работы команды
order_id1i8 Номер первой удаляемой заявки
amount1i40Новое количество единиц инструмента для первой заявки
price1c17"0"Новая цена для первой заявки
ext_id1i40Новый внешний номер для первой заявки
check_limiti40Признак проверки лимитов
order_id2i80Номер второй удаляемой заявки
amount2i40Новое количество единиц инструмента для второй заявки
price2c17"0"Новая цена для второй заявки
ext_id2i40Новый внешний номер для второй заявки


Таблица 109. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения
order_id1i8 Новый номер первой заявки
order_id2i8 Новый номер второй заявки


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Параметр regime определяет режим работы команды и может принимать следующие значения:

    0

    Не менять объёмы заявок. Остается текущий фактический объем заявок в системе. Присланные количества игнорируются.

    1

    Изменить объёмы заявок. Если заявки найдены, вместо них выставляются заявки с присланными ценой и объемом.

    2

    Снять старые заявки. Если объем хотя бы одной из заявок не совпадает с присланным, удаляются обе заявки. Иначе - выполняется сдвиг.

    3

    Установить объемы заявок равными присланным за вычетом сведенной части заявки (не меньше 0). Если присланный объем меньше сведенной части заявки, удаляются обе заявки.

  • Поле check_limit может принимать следующие значения:

    0

    Не выполнять проверку лимитов

    1

    Выполнять проверку лимитов

  • Для новых заявок проводится процедура аукциона.

  • Сдвиг заявок возможен только в рамках одного торгового инструмента. Только по одному клиентскому регистру.

  • Нельзя сдвигать заявки по связкам.

  • Нельзя сдвигать адресные заявки.

  • При сдвиге нельзя менять направление заявки.

  • Удаленная (или передвинутая, или полностью сведенная) заявка не перевыставляется; выдается сообщение об ошибке.

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

  • Если две заявки противоположного направления сдвигаются таким образом, что цены заявок пересекаются, параметры считаются некорректными, сдвиг не выполняется, выдается сообщение об ошибке.

  • Если при сдвиге пары заявок одна из них наткнулась на кросс-сделку (сведение с заявкой от того же ИНН, либо клиентского регистра), она откатывается, а другая заявка сдвигается.

  • При передвижке заявок date_exp переносятся в новые заявки.

  • В результатах обработки команды поля order_id1 и order_id2 заполняются номерами новых заявок. В случае, если заявка не была выставлена, соответствующее поле обнуляется.

Метод FutChangeClientMoney - Изменение клиентских лимитов и настроек расчета рисков

Тип сообщения: 63

Тип ответного сообщения: 104

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

Таблица 110. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
modei4 Режим работы команды
codec3 Код клиентского счета
limit_moneyc17"0"Лимит денежных средств
limit_pledgec17"0"Лимит залоговых средств
coeff_liquidityc17"0"Коэффициент ликвидности по фьючерсам
coeff_goc17"1"Коэффициент клиентского ГО
is_auto_update_limiti4-1Признак автоматической коррекции лимита на величину дохода при закачке после клиринга
is_auto_update_spot_limiti4-1Признак автоматической коррекции Спотовых лимитов (продажа и покупка) при закачке после клиринга
limit_spot_buyc17"-1"Лимит на Покупку Спотов
no_fut_discounti40Флаг запрета использования скидки по фьючерсам
check_limiti40Флаг разрешения или запрета проверки лимитов для клиента
num_clr_2deliveryi40Количество клирингов, за которое включаются сценарии экспирации для расчета рисков по ближней неквартальной серии опционов для данного раздела


Таблица 111. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Режим работы команды (поле mode):

    9

    Удалить рублевый лимит

    10

    Удалить залоговый лимит

    11

    Удалить рублевый, залоговый и спотовый лимиты

    12

    Установить лимиты денежных средств, залоговых средств и лимит на покупки спотов

    13

    Изменить лимиты денежных средств, залоговых средств

  • coeff_go – дополнительный коэффициент, на который умножается суммарное ГО по клиенту при постановке заявки. Проверка на достаточность средств осуществляется с учетом этого коэффициента.

  • Признак is_auto_update_limit установленный в 1 позволяет автоматизировать процесс изменения лимитов по результатам предыдущего дня. (-1) – при операциях в режимах 12 или 13, при изменении других параметров, значение этого параметра не изменять.

  • Для изменения только coeff_liquidity и/или coeff_go и/или is_auto_update_limit и/или is_auto_update_spot_limit – используйте режим 13, параметр limit_money =0.

  • Признак is_auto_update_spot_limit установленный в 1 позволяет автоматизировать процесс изменения лимитов и на Продажу, и на Покупку Спотов, по результатам предыдущего дня. Таким образом, скорректированный лимит будет действовать на все время действия инструмента. (-1) – при операциях в режимах 12 или 13, при изменении других параметров, значение этого параметра не изменять.

  • Формат параметра limit_spot_buy - 16.2. Задается в рублях.

  • В параметре no_fut_discount можно указать следующие значения:

    0

    Использовать скидку по ГО на фьючерсах

    1

    Не использовать скидку по ГО на фьючерсах

  • В параметре check_limit можно указать следующие значения:

    0

    Не выполнять проверку, произвести безусловное изменение лимита

    1

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

  • В параметре num_clr_2delivery можно указать количество клиринговых сессий до экспирации опционов, за которое включается расчет дополнительных рисков экспирации. Расчет дополнительных рисков применяется только по позициям и заявкам опционов, привязанных к определенным опционным сериям. У таких опционов запись в таблице virt_futures_params потока INFO имеет в поле allow_use_extra_exp_risk значение 1

  • Пустая строка, заданная в поле типа c17, дает возможность при посылке команды не изменять значение параметра (лимиты, залоговые средства и прочие атрибуты), которое пользователь ранее уже отправил в торговую систему.

  • Значение -1, заданное в поле типа i4, дает возможность при посылке команды не изменять значение параметра, которое пользователь ранее уже отправил в торговую систему.

Метод FutChangeClientVcb - Изменение клиентских параметров по БА

Тип сообщения: 33

Тип ответного сообщения: 106

Изменение клиентских параметров по базовым активам (БА). Процедура позволяет менять клиентские параметры по базовым активам.

Таблица 112. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
modei4 Режим работы команды
codec3 Код клиентского счета
code_vcbc25 Код базового актива
coeff_goc17"1"Коэффициент клиентского ГО по БА
limit_spotc10"-1"Лимит открытых позиций клиента на Продажу по спотам БА


Таблица 113. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Поле mode задает режим работы команды:

    11

    удалить лимит

    12

    установить лимит

  • coeff_go – дополнительный коэффициент, на который умножается суммарное ГО по клиенту при постановке заявки. Проверка на достаточность средств осуществляется с учетом этого коэффициента.

  • limit_spot - если лимитировать клиента не нужно, а mode=11 не задать, т.к. строка нужна (есть другие параметры) - то задавайте этот параметр равным ‘-1’. Внутренний тип переменной - int.

Метод FutChangeBrokerVcb - Изменение параметров БФ по БА

Тип сообщения: 14

Тип ответного сообщения: 114

Процедура позволяет менять параметры БФ по базовым активам.

Таблица 114. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
modei4 Режим работы команды
code_vcbc25 Код базового актива
limit_spotc10"-1"Лимит открытых позиций БФ на продажу по спотам БА


Таблица 115. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Поле mode задает режим работы команды:

    11

    удалить лимит

    12

    установить лимит

  • limit_spot - если лимитировать клиента не нужно, а mode=11 не задать, т.к. строка нужна (есть другие параметры) - то задавайте этот параметр равным ‘-1’. Внутренний тип переменной - int.

Метод FutChangeBFMoney - Изменение лимитов БФ

Тип сообщения: 7

Тип ответного сообщения: 107

Процедура позволяет менять деньги по своим БФ. При этом, при увеличении счета БФ, недостающие деньги снимаются со счета самой РФ, а при уменьшении, деньги возвращаются на счет РФ.

Таблица 116. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
modei4 Режим работы команды
codec2 Код БФ
limit_moneyc17"0"Лимит денежных средств
limit_pledgec17"0"Лимит залоговых средств


Таблица 117. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Режим работы команды (поле mode):

    12

    Установить лимиты равные limit_money и limit_pledge

    13

    Изменить лимиты limit_money и limit_pledge

  • Процедура доступна только тому логину шлюза от РФ, которому Администратор торгов проставил необходимые права.

Метод FutChangeMoney - Изменение лимита на покупку спотов по БФ

Тип сообщения: 16

Тип ответного сообщения: 116

Процедура позволяет менять денежные параметры БФ.

Таблица 118. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
modei4 Режим работы команды
limit_spot_buyc17"-1"Лимит денежных средств
is_auto_update_spot_limiti4-1Признак автоматической коррекции Спотовых лимитов (продажа и покупка) при закачке после клиринга
statei4-1В данный момент не используются


Таблица 119. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Режим работы команды (поле mode):

    11

    Удалить

    12

    Установить

  • Процедура доступна только тому логину шлюза от РФ или БФ, которому Администратор торгов проставил необходимые права.

  • Лимит денежных средств (поле limit_spot_buy). Если указать -1, то данный лимит не будет проверяться. Если указать '' или -2, то данный лимит не будет изменяться. Если не указан, то равен -1.

  • Поле is_auto_update_spot_limit, установленное в 1 позволяет автоматизировать процесс изменения лимитов по результатам предыдущего дня. (-1) – при операциях в режиме 12, при изменении других параметров, значение этого параметра не изменять.

  • Для изменения только параметра is_auto_update_spot_limit можно использовать режим 12 при значении параметра limit_spot_buy=''.

Метод OptChangeExpiration - Заявки на экспирацию опционов

Тип сообщения: 12

Тип ответного сообщения: 112

Таблица 120. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
modei4 Режим работы команды
order_idi4 Номер заявки на экспирацию
codec3 Код клиента
isinc25 Код инструмента
amounti40Экспирируемое количество


Таблица 121. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения
order_idi4 Уникальный идентификатор заявки


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Режим работы команды (поле mode):

    11

    Удалить

    12

    Вставить/обновить

  • Для заявок на экспирацию ключевыми полями являются isin и code.

  • Разрешено при Delete и Update задавать:

    • или order_id (тогда code и isin для поиска не используются)
    • или code и isin (только если order_id не задан или =0)

  • При постановках новой заявки, заносите order_id=0. Это будет являться признаком, что надо ставить новую заявку, а не корректировать старую.

Метод FutChangeClientProhibit - Изменение клиентских ограничений для фьючерсов

Тип сообщения: 15

Тип ответного сообщения: 115

Таблица 122. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
modei4 Режим работы команды
codec3 Код клиентского счета или '%%%' - по всем
code_vcbc25 Код базового актива или '%' - по всем
isinc25 Фьючерсный инструмент или '%' - по всем
statei40Ограничение
state_maski43Маска для параметра state


Таблица 123. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Полеmodeопределяет режим работы команды:

    11

    удалить

    12

    установить

  • Поле state может принимать следующие значения:

    1

    нельзя открывать позиции

    2

    нельзя ставить любые заявки

    3

    нельзя открывать позиции на Продажу

  • Значения параметра state_mask определяются битовой маской. На настоящий момент данный параметр должен устанавливаться = 3.

  • При задании конкретного инструмента в поле isin следует указывать код соответствующего БА в поле code_vcb.

Метод OptChangeClientProhibit - Изменение клиентских ограничений для опционов

Тип сообщения: 17

Тип ответного сообщения: 117

Таблица 124. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
modei4 Режим работы команды
codec3 Код клиентского счета или '%%%' - по всем
code_vcbc25 Код базового актива или '%' - по всем
isinc25 Фьючерсный инструмент или '%' - по всем
statei40Ограничение
state_maski48Маска для параметра state


Таблица 125. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Режим работы команды (поле mode):

    11

    удалить

    12

    установить

  • Поле state является битовой маской

    • Первые два бита определяют числовое значение:

      1

      нельзя открывать позиции

      2

      нельзя ставить любые заявки

      3

      нельзя открывать позиции на Продажу

    • 4 - резерв

    • 8 - запрет брокера на подачу заявок на Экспирацию

  • Битовая маска состояний. Определяет те биты поля state, значения которых будут изменены в результате выполнения процедуры. На настоящий момент данный параметр должен устанавливаться = 0x0F.

  • Ограничения по фьючерсам и опционам действуют независимо.

Метод FutExchangeBFMoney - Перевод денежных средств между двумя БФ одной РФ

Тип сообщения: 35

Тип ответного сообщения: 130

Процедура позволяет выполнять переводы средств между двумя различными БФ, принадлежащими одной РФ.

Таблица 126. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
modei4 Режим работы команды
code_fromc2 Код БФ для списания средств
code_toc2 Код БФ назначения
amount_moneyc17 Размер денежных средств для перевода
amount_pledgec17 Размер залоговых средств для перевода


Таблица 127. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечания:

  • Режим работы команды (поле mode):

    1

    Перевод только в торгах

    3

    Перевод в торгах и клиринге

  • В настоящий момент системой поддерживается перевод денежных средств. Переводы залоговых средств не поддерживаются и поле amount_pledge должно быть равно 0.

Метод OptRecalcCS - Изменение центрального страйка

Тип сообщения: 45

Тип ответного сообщения: 132

Процедура позволяет произвести пересчет центрального страйка, по тем обязательствам Маркет-Мейкера, для которых выбран вариант пересчета ЦС «Смещение по запросу». Предназначена для Маркет-Мейкеров.

Таблица 128. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
isin_idi4 Числовой идентификатор базового инструмента


Таблица 129. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Метод FutTransferClientPosition - Перенос фьючерсной позиции между БФ

Тип сообщения: 61

Тип ответного сообщения: 137

Процедура позволяет переносить фьючерсные позиции между счетами своих БФ.

Таблица 130. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
code_fromc7 Код донора
code_toc7 Код реципиента
isinc25 Код инструмента
amounti4 Размер переносимой позиции


Таблица 131. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения


Коды возврата команды:

успех выполнения операции

Другое значение

ошибка

Примечание:

0

Процедура доступна только тому логину шлюза от РФ, которому Администратор торгов предоставил необходимые права.

Метод OptTransferClientPosition - Перенос опционной позиции между БФ

Тип сообщения: 62

Тип ответного сообщения: 138

Процедура позволяет переносить опционные позиции между счетами своих БФ.

Таблица 132. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
code_fromc7 Код донора
code_toc7 Код реципиента
isinc25 Код инструмента
amounti4 Размер переносимой позиции


Таблица 133. Результат выполнения

Имя параметраТипЗначение по умолчаниюОписание
codei4 Код возврата
messagec255 Текст сообщения


Коды возврата команды:

0

успех выполнения операции

Другое значение

ошибка

Примечание:

Процедура доступна только тому логину шлюза от РФ, которому Администратор торгов предоставил необходимые права.

Метод CODHeartbeat - Сообщение-хартбит для сервиса Cancel on Disconnect

Тип сообщения: 10000

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

Таблица 134. Входящие параметры

Имя параметраТипЗначение по умолчаниюОписание
seq_numberi40Номер сообщения-хартбита (в текущей версии не используется)


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

Примечание:

Требование посылать хартбиты распространяется только на пользователей, использующих сервис Cancel on Disconnect

Сервис мониторинга не отправляет ответных сообщений на хартбиты. Поэтому в поле флагов при вызове функции отправки сообщения требуется указать ноль (не ожидать ответа): cg_pub_post(pub, msgptr, 0);

Вызов функции cg_pub_post с флагом CG_PUB_NEEDREPLY при отправке хартбита приведет к получению уведомления-ошибки СG_MSG_P2MQ_TIMEOUT.

A. Типы данных платформы Plaza-2

Plaza-2С++ODBCКомментарий
u1UINT8SMALLINTЦелое число размером 1 байт.
u2UINT16INTEGERЦелое число размером 2 байта.
u4UINT32NUMERIC,10Целое число размером 4 байта.
u8UINT64NUMERIC,20Целое число размером 8 байт.
i1INT8SMALLINTЦелое число со знаком размером 1 байт.
i2INT16SMALLINTЦелое число со знаком размером 2 байта.
i4INT32INTEGERЦелое число со знаком размером 4 байта.
i8INT64BIGINTЦелое число со знаком размером 8 байт.
aCHARVARCHARСтрока символов размером 1 байт.
cNCHAR[N+1]VARCHAR,NСтрока символов, оканчивающаяся нулевым символом.
dN,M sN,M P2BCDIINUMERIC,N,MДесятичное число в двоичной кодировке с фиксированной точкой, где
  • N — общее количество цифр в числе;

  • M — количество цифр в дробной части.

tP2TIMETIMESTAMPДата и время.
fDOUBLEREALЧисло с плавающей точкой двойной точности размером 8 байт.
bN VARBINARY,NБлок данных.
zN VARBINARY,NБлок данных, где первые четыре байта задают длину буфера.

B. Справочник кодов возврата

Код возвратаОписание
-1Ошибка при выполнении операции.
0Операция выполнена успешно.
1Нет такого пользователя.
2Нет такого дилера.
3Сейчас эта сессия не идёт.
4Сессия приостановлена.
5Ошибка при выполнении операции.
6Нет прав на выполнение операции.
7Попытка доступа к чужому счету дилера.
8Нет прав на удаление заявки другого клиента/пользователя своей фирмы.
9Фирме операции с заявками заблокированы Администратором Клирингового Центра.
10Нехватка средств на счету для резервирования.
12Премия по опциону вне лимитов.
13Лимит поз. по всему рынку превышен.
14Не найдена заявка для удаления.
25Запрет Администратора торгов на постановку любых заявок.
26Запрет Администратора торгов на открытие позиций.
27Запрет Администратора торгов на открытие позиций на Продажу.
28Нет прав для выполнения операции.
31Не разрешена встречная заявка на один счёт и/или ИНН.
32Цена сделки вне лимита.
33Этой фирме операции с заявками заблокированы Администратором Клирингового Центра.
34Попытка операции на несуществующий код клиента.
35Ошибка в задании входных параметров.
36Попытка операции по несуществующему базовому активу.
37Перестановка заявок по Связкам недопустима.
38Перестановка адресных заявок недопустима.
39Цена не кратна минимальному шагу цены.
40Попытка адресовать внесистемную заявку несуществующему контрагенту.
41Не наступил или истёк срок доверенности пользователя.
42Запрещена работа Главным трейдером Расчётной фирмы.
44Главный трейдер Расчётной фирмы не поставил признак своей работы от этой фирмы.
45Попытка поставить внесистемную заявку от фирмы, у которой не прописан код РТС.
46По этому инструменту разрешены только внесистемные заявки.
47В назначенной сессии по этому инструменту торгов нет.
48По этому инструменту идёт Поставка. Разрешены только внесистемные заявки всем БФ своей РФ.
49Попытка поставить внесистемную заявку от трейдера одного клиентского счета, а не от кода фирмы.
50Не найдена заявка для перестановки.
53Ошибка в задании входного параметра - количество. Слишком велико.
54В операции отказано: Превышен лимит операций от указанного клиента.
56Нет прав на выполнение операции от указанного логина и кода. Обратитесь к Администратору торгов.
57Нет прав на соединение с сервером Биржи. Обратитесь к Администратору торгов.
58Нет прав на выставление заявки без проверки достаточности средств на уровне клиента.
60Приостановка аукциона в режиме управления риском по всем инструментам.
61Приостановка торгов в режиме управления риском.
62Приостановка торгов по секции Срочного рынка Московской Биржи.
63Приостановка аукциона в режиме управления риском по всем инструментам данного БА.
64Приостановка торгов в режиме управления риском по данному БА.
65Приостановка торгов во всех режимах и по всем инструментам данного БА.
66Приостановка торгов во всех режимах по данному инструменту.
67Запрет Администратора торгов на открытие позиций в режиме управления риском по данному инструменту.
68Запрет Брокера на выставление любых заявок в режиме управления риском.
69Запрет Главного трейдера на выставление любых заявок в режиме управления риском.
70Торговая операция не поддерживается.
71Количество контрактов в позиции превысило допустимый предел.
72Заявка в процессе перемещения.
73Суммарное количество контрактов в заявках на покупку превысило допустимый предел.
74Суммарное количество контрактов в заявках на продажу превысило допустимый предел.
310Запрет Администратора Клирингового Центра на постановку любых заявок.
311Запрет Администратора Клирингового Центра на открытие позиций.
312Запрет Администратора Клирингового Центра на открытие позиций на Продажу.
314Запрет Трейдера на постановку любых заявок по клиентскому счету.
315Запрет Трейдера на открытие позиции по клиентскому счету.
316Запрет Трейдера на открытие позиции на Продажу по клиентскому счету.
317Превышен лимит заявок на покупку/продажу.
318Запрет Администратора Клирингового Центра на выставление любых заявок по клиентскому счету: для клиентского регистра нет Депо счета, разрешённого для Поставки по инструментам Денежного рынка.
320Превышен допустимый предел числа активных заявок с клиентского регистра по инструменту.
332Нехватка средств по лимитам клиента.
333Нехватка средств по брокерской фирме.
334Нехватка средств по расчётной фирме.
335Превышен лимит клиента на покупку бумаг.
336Превышен лимит брокера на покупку бумаг.
337Превышен лимит клиента на продажу бумаг.
338Превышен лимит брокера на продажу бумаг.
380Идёт пром. клиринг, нельзя совершать торговые операции.
381Идёт пром. клиринг, нельзя удалять заявки.
382Идёт пром. клиринг, нельзя переставлять заявки.
680Нехватка средств по лимитам клиента.
681Нехватка средств по расчётной фирме.
4000Ошибка во входных параметрах.
4001У пользователя нет прав на выполнение операции.
4002Невозможно изменить денежный лимит по клиенту. Нет текущих сессий.
4004Невозможно изменить денежный лимит по клиенту. Кода нет в таблице клиентов.
4005Нехватка средств при изменении клиентского лимита.
4006Невозможно установить денежный лимит по клиенту. Ошибка при выполнении операции.
4007Невозможно установить денежный лимит по клиенту. Ошибка при выполнении операции.
4008Невозможно установить денежный лимит по клиенту. Ошибка при выполнении операции.
4009Невозможно установить денежный лимит по клиенту. Ошибка при выполнении операции.
4010Невозможно установить денежный лимит по клиенту. Ошибка при выполнении операции.
4011Невозможно установить денежный лимит по клиенту. Ошибка при выполнении операции.
4012Невозможно установить денежный лимит по клиенту. Ошибка при выполнении операции.
4013Невозможно установить денежный лимит по клиенту. Ошибка при выполнении операции.
4014Невозможно изменить параметры по клиенту. Нет текущих сессий.
4015Невозможно изменить параметры по клиенту. Кода нет в таблице клиентов.
4016Невозможно изменить параметры по клиенту. Кода БА нет в таблице базовых активов.
4017Невозможно установить денежный лимит по клиенту. Слишком велик.
4018Администратор производит изменение параметров расчёта ГО.
4021Не хватает свободных залоговых средств у Брокерской Фирмы, чтобы установить требуемое количество Расчётной Фирме.
4022Не хватает свободных денежных средств у Брокерской Фирмы, чтобы установить требуемое количество Расчётной Фирме.
4023Невозможно изменить денежный лимит по БФ. Нет текущих сессий.
4024Невозможно изменить денежный лимит по БФ. Данная БФ не зарегистрирована в торгах.
4025Не хватает свободных залоговых средств у Расчётной Фирмы, чтобы установить требуемое количество Брокерской Фирме.
4026Не хватает сальдо денежных средств у Обособленного раздела, чтобы установить требуемое количество Расчётной Фирме.
4027Не хватает сальдо залоговых средств у Обособленного раздела, чтобы установить требуемое количество Расчётной Фирме.
4028Не хватает свободных денежных средств у Расчётной Фирмы, чтобы установить требуемое количество Брокерской Фирме.
4030Невозможно изменить параметры по Брокеру. Нет текущих сессий.
4031Невозможно изменить параметры по Брокеру. Кода нет в таблице клиентов.
4032Невозможно изменить параметры по Брокеру. Кода БА нет в таблице базовых активов.
4033Невозможно изменить параметры по Брокеру. Нет прав на работу с этим базовым активом.
4034Клиринговый перевод Залоговых средств с Обособленного раздела запрещён.
4035Перевод залоговых средств частичного обеспечения запрещён.
4040Невозможно изменить лимит по БФ в режиме управления риском. Нет текущих сессий.
4041Невозможно изменить лимит по БФ в режиме управления риском. Данная БФ не зарегистрирована в торгах.
4042Невозможно изменить лимит по БФ в режиме управления риском. Кода БФ нет в таблице клиентов.
4043Невозможно изменить лимит по БФ в режиме управления риском. Ошибка при выполнении операции.
4044Невозможно изменить лимит по БФ в режиме управления риском. Ошибка при выполнении операции.
4045Невозможно удалить лимит по БФ в режиме управления риском. Ошибка при выполнении операции.
4046Недостаточно прав на удаление запрета Главного трейдера на торги в режиме управления риском.
4050Заявка на экспирацию не обработана. Запрет Главного трейдера на подачу заявок на Экспирацию.
4051Заявка на экспирацию не обработана. Запрет брокера на подачу заявок на Экспирацию.
4052Заявка на экспирацию не обработана. В существующей заявке с присланным номером другие: "код клиента" и/или "инструмент".
4053Заявка на экспирацию не обработана. Идёт пром. клиринг. Удалять заявки нельзя.
4054Заявка на экспирацию не обработана. Идёт пром. клиринг. Изменять заявки нельзя.
4055Заявка на экспирацию не обработана. Не найдена заявка по номеру для удаления/изменения.
4060Заявка на экспирацию не обработана. Нет прав на выполнение операции.
4061Заявка на экспирацию не обработана. Время ввода заявок окончилось.
4062Заявка на экспирацию не обработана. Нет такого клиентского счета.
4063Заявка на экспирацию не обработана. Не найдена заявка для удаления.
4064Заявка на экспирацию не обработана. Нет прав на выполнение операции.
4065Заявка на экспирацию не обработана. Не найден опционный инструмент.
4066Заявка на экспирацию не обработана. Отказ от автоэкспирации возможен только в день истечения опциона.
4067Заявка на экспирацию не обработана. Ошибка при выполнении операции.
4068Заявка на экспирацию не обработана. Ошибка при выполнении операции.
4069Заявка на экспирацию не обработана. Ошибка при выполнении операции.
4070Заявка на экспирацию не обработана. На клиентском счёте нет такого количества позиций.
4090Нет текущих сессий.
4091Кода нет в таблице клиентов.
4092Кода БА нет в таблице базовых активов.
4093Не найден указанный фьючерсный инструмент.
4094Указанный фьючерсный инструмент не соответствует указанному БА.
4095Не м.б. указан конкретный фьючерс, когда БА указан - Для всех.
4096Не найдено ограничения для удаления.
4097Ограничение Главного трейдера нельзя удалить трейдеру Брокерской Фирмы.
4098Инструмент отсутствует в текущей сессии.
4099Оба инструмента должны быть для одного базового актива.
4100Для заявки по Связке должно выполняться требование к инструментам: дата исполнения прямого инструмента меньше даты исполнения обратного инструмента.
4101Запрещены Связки между инструментами с разными лотами.
4102Нет позиций для переноса.
4103Неполное сведение FOK заявки.
4104Заявка по Анонимному РЕПО должна быть только с указанием типа "РЕПО".
4105Запрещена заявка с указанием типа "РЕПО" по данной Связке.
4106Связки разрешены только для Денежного рынка.
4107Этой процедурой нельзя ставить заявки по инструменту-Связке.
4108Нет прав на торговлю по Т0 инструментам в режиме управления риском.
4109Ставка (или Своп-цена) не кратна минимальному шагу.
4110Цена первой части сделки не совпадает с ценой поставки.
4111Превышен предел Ставки (или Своп-цены).
4112Указанный фьючерсный инструмент - Связка, по нему Ограничения не ставятся.
4115Невозможно перевести денежные средства с БФ на БФ. Нет текущих сессий.
4116Невозможно перевести денежные средства с БФ на БФ. БФ-донор не зарегистрирована в торгах.
4117Невозможно перевести денежные средства с БФ на БФ. БФ-получатель не зарегистрирована в торгах.
4118Не хватает свободных денежных средств у Брокерской Фирмы.
4119Не хватает свободных залоговых средств частичного обеспечения у Брокерской Фирмы.
4120Не хватает сальдо денежных средств у Обособленного раздела.
4121Не хватает сальдо залоговых средств частичного обеспечения у Обособленного раздела.
4122Не хватает свободных денежных средств у Расчётной Фирмы.
4123Не хватает в наличии залоговых средств частичного обеспечения у Брокерской Фирмы.
4124Не найден код указанной Брокерской Фирмы.
4125Попытка перевода между разделами различных Расчётных Фирм.
4126Перевод запрещён. Ошибка логики переводов.
4128Не хватает свободных денежных средств у Брокерской Фирмы.
4129Не хватает сальдо денежных средств у Обособленного раздела.
4130Не хватает свободных денежных средств у Расчётной Фирмы.
4131Не найден код указанной Брокерской Фирмы.
4132Вывод запрещён. Ошибка логики отзывов средств.
4133Нет поручений для отмены.
4134Не хватает в наличии денежных средств у Брокерской Фирмы.
4135Не хватает в наличии денежных средств у Расчётной Фирмы.
4136Перевод залоговых средств полного обеспечения запрещён.
4137Не хватает в наличии залоговых средств полного обеспечения у Брокерской Фирмы.
4140Нет позиций для переноса по выбранному инструменту.
4141Не хватает открытых позиций для переноса.
4142Попытка переноса позиций с клиентского счёта на чужой счёт (с другим ИНН).
4143Нельзя переносить позиции между БФ, принадлежащим разным РФ.
4144Нельзя переносить позиции на нулевой раздел БФ.
4145Запрет Администратора торгов на перенос позиций по указанной БФ.
4146Запрет на перенос позиции по указанному инструменту.
4147Не найден указанный опционный инструмент.
10579Для выбранного финансового инструмента цена меньше допустимой.
10580Для выбранного финансового инструмента цена больше допустимой.