Содержание
Дата | Изменения |
---|---|
12.08.2015 | Добавлены новые коды ошибок (200 - 208). |
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 | Добавлены новые поля:
в таблицы fut_MM_info, opt_MM_info потока FORTS_MM_REPL |
31.05.2013 | Добавлено новое поле:
в таблицу clr_rate потока FORTS_CLR_REPL |
18.04.2013 | Добавлен анонимный поток orderbook:
Добавлено поле:
в таблицу money_clearing потока FORTS_CLR_REPL Удален поток FORTS_CLMONEY_REPL |
12.04.2013 | Добавлено новое поле:
в таблицу fut_sess_contents потока FORTS_FUTINFO_REPL |
10.04.2013 | Добавлено новое поле:
в таблицу opt_sess_contents потока FORTS_OPTINFO_REPL |
26.03.2013 | Добавлено новое поле:
в таблицы fut_vcb и opt_vcb потоков FORTS_FUTINFO_REPL и FORTS_OPTINFO_REPL Добавлен поток репликации:
Добавлена новая таблица:
в поток FORTS_FUTINFO_REPL |
27.11.2012 | Изменение описания таблицы user_deal. |
01.11.2012 | Добавлено описание двух событий для таблицы sys_events. |
30.10.2012 | Обновление документации:
|
22.10.2012 | Обновление документации:
|
10.02.12 | Обновления документации:
|
09.02.2012 | Добавлено новое поле:
в таблицы:
потоков:
|
24.01.2012 | В таблицу orders потоков:
добавлены следующие поля:
|
23.01.2012 | Добавлена таблица событий sys_events в потоки:
|
17.01.2012 | В таблицу fut_vcb потока FORTS_FUTINFO_REPL добавлено поле exch_pay_spot_repo, содержащее биржевой сбор по Репо |
12.01.2012 | Добавлен поток репликации:
|
02.11.2011 | Добавлены новые поля:
в таблицы:
|
25.11.2011 | Добавлен раздел "Использование тестовых примеров". |
7.11.2011 | Ревизия документа. Доработаны разделы "Введение" и "Описание торгового шлюза". Добавлен раздел "Краткий обзор системы SPECTRA". |
20.10.2011 | Добавлены следующие поля:
Добавлена таблица событий sys_events в потоки:
|
4.10.2011 | Добавлены потоки репликации:
Изменены номера команд торговых операций для поддержки возможности мониторинга времен полной обработки, включая канал до пользователя. |
14.09.2011 | Исправлены ошибки в значениях по умолчанию некоторых команд: Если параметр является строковым - его значение по умолчанию берется в кавычки |
15.04.2011 | Добавлены следующие поля:
Изменения в системе команды:
|
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 | Исправлен ряд ошибок в именовании полей команд, а также значения по умолчанию некоторых команд:
. |
26.11.2010 | Изменен формат агрегированных стаканов - убрано поле price2. Теперь поле price принимает различный смысл в зависимости от значения признака 0x1000 инструмента (поле signs таблицы fut_sess_contents потока FORTS_FUTINFO_REPL): в случае установки признака поле price содержит ставку, иначе - своп-цену. |
15.10.2010 | Новые признаки инструмента (поле signs таблицы fut_sess_contents потока FORTS_FUTINFO_REPL):
Новое значение признака составных инструментов 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) Добавлены таблицы:
|
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 | Добавлена информация о параметрах инструментов:
Добавлена информация о стоимости шага цены инструмента в вечерний клиринг – поле step_price_clr таблицы fut_sess_contents потока FORTS_FUTINFO_REPL, а также в пром. клиринг – поле step_price_interclr той же таблицы. |
19.04.2010 | Изменены типы многих полей, в частности:
Таблица money_clearing перенесена из потока FORTS_FUTINFO_REPL в поток FORTS_CLMONEY_REPL. Переименованы:
Добавлены:
Удалены:
|
16.03.2010 | Изменен описание команды FutAddRepo: • вместо параметра swap_price, теперь используется параметр repo_rate |
24.02.2010 | Добавлено:
|
18.01.2010 |
|
15.01.2010 |
|
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 в качестве клиента. Для этого необходимо заключить договор на торговое обслуживание с брокерской фирмой или непосредственно с расчетной фирмой. Важным атрибутом клиента служит ИНН или номер паспорта.
Участники торгов в системе кодируются с помощью семисимвольной строки вида:XXYYZZZ, где
XX — код расчетной фирмы
YY — код брокерской фирмы
ZZZ — код клиента
Код брокерской фирмы 00 предназначен для отражения состояния самой расчетной фирмы.
Код Клиента 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, т.к. составные части инструментов являются обычными инструментами торговой системы. Для каждой составной части также указывается коэффициент, на который умножается объём исходной заявки для получения объёма заявки по составной части. Знак этого коэффициента указывает на направление заявки по составляющей — положительное значение означает, что составляющая будет направлена в ту же сторону, что и заявка по составному инструменту, отрицательное — в противоположную сторону.
В системе SPECTRA инструмент имеет четыре идентификатора:
Поле isin_id — уникальный числовой идентификатор инструмента в системе.
Поле isin — символьный идентификатор инструмента.
Поле short_isin — короткий символьный код инструмента для информационных систем.
Поле 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 в Секторе рынка Основной рынок ЗАО «ФБ ММВБ» (Торгово-клиринговая система 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.
Типы сделок, формируемые при исполнении и истечении фьючерсов и опционов, перечислены в следующей таблице:
Тип операции | Сделка закрытия позиции | Сделка открытия позиции | Дата и время, когда сделки появятся в отчете и шлюзе |
---|---|---|---|
Исполнение фьючерса традиционным способом |
| Нет | Утром в день исполнения |
Исполнение расчетного фьючерса |
| Нет | Вечером в день исполнения фьючерса |
Исполнение опциона |
|
| Сделки исполнения опционов генерируются:
В зависимости от времени подачи заявки на исполнение опциона (генерация в ближайшем клиринге) |
Истечение опциона |
| Нет | Вечером в день исполнения фьючерса |
Торговые сделки отражаются следующим образом:
Операции в ходе торгов | Информация по операциям |
---|---|
Сделка по фьючерсу на акции на основании адресной заявки |
|
Сделка по фьючерсу на акции на основании безадресной заявки |
|
Сделка по опциону на фьючерсы на акции на основании адресной заявки |
|
Сделка по опциону на фьючерсы на акции на основании безадресной заявки |
|
Сделка по переносу позиций |
|
Техническая сделка на основании 1 части адресной заявки Репо |
|
Техническая сделка на основании 2 части адресной заявки Репо |
|
Техническая сделка на основании 1 части безадресной заявки Репо |
|
Техническая сделка на основании 2 части адресной заявки Репо |
|
Техническая сделка на основании 1 части адресной парной заявки |
|
Техническая сделка на основании 2 части адресной парной заявки |
|
Техническая сделка на основании 1 части безадресной парной заявки |
|
Техническая сделка на основании 2 части адресной парной заявки |
|
Торги в системе 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 такие инструменты помечены специальным признаком.
На границе торговых сессий потоки репликации могут быть штатным образом закрыты и переоткрыты заново серверами торговой системы, при этом по некоторым потокам может придти уведомление о смене номера жизни схемы.
В настоящий момент, без смены номера жизни могут переоткрываться следующие потоки:
Потоки с общими рыночными данными FORTS_FUTCOMMON_REPL и FORTS_OPTCOMMON_REPL.
Поток с текущими значениями волатильности FORTS_VOLAT_REPL.
Поток с текущими значениями вариационной маржи FORTS_VM_REPL.
Потоки, которые не переоткрываются:
Потоки со справочной информацией FORTS_FUTINFO_REPL и FORTS_OPTINFO_REPL.
Потоки с торговой информацией FORTS_FUTTRADE_REPL и FORTS_OPTTRADE_REPL.
Потоки со срезами стаканов FORTS_FUTORDERBOOK_REPL и FORTS_OPTORDERBOOK_REPL.
Потоки агрегированных стаканов.
Потоки FORTS_PART_REPL, FORTS_POS_REPL, FORTS_INFO_REPL
Поток биржевых индексов RTS_INDEX_REPL.
Потоки FORTS_MISCINFO_REPL и FORTS_CLR_REPL.
Если для разрабатываемой системы критично иметь возможность отмечать совокупное консистентное состояние всех данных в торговой системе на некоторые «важные» моменты времени, то такая система должна использовать механизм синхрособытий, доступный начиная с версии 3.8.2 системы SPECTRA. Для синхронизации доступны следующие состояния торговой системы:
Данные для новой торговой сессии закачены и рассчитаны (~18:49-18:50, Московского времени)
Начало промежуточного клиринга (14:00, Московского времени)
Денежные средства после промклиринга перерассчитаны (~14:01:30, Московского времени)
Все расчетные процедуры в промклиринге закончены (~14:02, Московского времени)
Начало основного клиринга (18:45, Московского времени)
Данные после основного клиринга перерассчитаны (~18:49, Московского времени)
Раздвижка лимитов закончена (в течение торгов)
Для уведомления внешних систем о наступлении определенного состояния торговой системы, в потоки репликации добавляется новая таблица sys_events следующего формата:
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
event_id | i8 | Уникальный идентификатор события |
sess_id | i4 | Идентификатор торговой сессии |
event_type | i4 | Тип события |
message | c64 | Текстовое описание |
Таблица добавляется в следующие потоки репликации:
Правила синхронизации данных следующие - при наступлении глобального события в торговой системе, после генерации всех данных по этому событию всеми подсистемами торговой системы, в таблицы 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 включает в себя следующие программные компоненты:
Модуль P2MQRouter. Данный модуль обеспечивает:
Установку TCP-соединений с серверами биржи.
Стандартно шлюз SPECTRA Plaza-2 использует четыре TCP-соединения с серверами биржи: одно исходящее default connection и три исходящих direct connection. Такое построение является основной штатной конфигурацией при подключении к серверной ферме биржи. Конфигурация соединений при подключении через сервер доступа брокера может отличаться, в этом случае требуется запрашивать конкретную конфигурацию у владельца сервера.
Прием/отправку P2-сообщений.
Шифрацию информации, отправляемую участником, и дешифрацию информации, принимаемую от биржи.
Аутентификацию участника в сети биржи.
Шлюзовая библиотека cgate.
Библиотека является официальными программным интерфейсом, предоставляемым участникам торгов, клиентам участников торгов, а также компаниям-разработчикам для создания программного обеспечения. Данный интерфейс обеспечивает возможность создания и отсылки бизнес-сообщений в ТС, а также получения рыночной информации из нее (репликация данных). Библиотека выпускается для 32х разрядных и 64х разрядных систем Windows, а также для ОС Linux.
Системные библиотеки 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 и т.п.
Заберите новую версию шлюза с сервера разработчиков 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). Установка производится с помощью мастера установки.
Нажмите кнопку "Далее" для продолжения установки.
Выберите вариант установки, определяющий состав устанавливаемых программных компонентов. Полная установка предполагает установку всех компонентов шлюза: модуля P2MQRouter, библиотеки cgate, дополнительных утилит, а также комплекта средств разработки. Выборочная - это различные комбинации программных компонент.
Нажмите кнопку "Далее", чтобы активировать следующий шаг.
Выберите требуемые программные компоненты и каталог для установки. Директория установки должна быть расположена в соответствии с административными рекомендациями.
Нажмите кнопку "Далее", чтобы активировать следующий шаг.
Выберите ТС, к которой необходимо подключаться (production, тестовая, игровая и т.п.), или введите свои параметры для соединения с серверами биржи. После установки соответствующие параметры соединения прописываются в ini-файле модуля P2MQRouter.
Для выбора правильных адресов подключения необходимо проконсультироваться с вашим брокером и/или службой технической поддержки биржи.
Нажмите кнопку "Далее", чтобы активировать следующий шаг.
Введите логин и пароль для доступа в торговую систему. После установки введенные значения прописываются в ini-файле модуля P2MQRouter, и используются им при запуске, для автоматической аутентификации в сети биржи. Обратите внимание на то, что логины и пароли от боевых подключений, тестовых и игровых – разные.
Нажмите кнопку "Далее", чтобы активировать следующий шаг.
При необходимости установить роутер как сервис ОС Windows выставите чекбокс и нажмите кнопку "Далее", чтобы активировать следующий шаг.
Если при инсталляции P2MQRouter не был зарегистрирован как сервис ОС, в дальнейшем это можно исправить вручную, воспользовавшись командным файлом install_router.cmd (uninstall_router.cmd) из дистрибутива.
Нажмите кнопку "Установить", чтобы начать установку.
Нажмите кнопку "Готово" для завершения процесса установки.
Дистрибутив шлюза для среды 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/
.
Порядок установки:
Выполните команду:
chmod 755 ./install.sh
Выполните команду:
./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 - она добавит необходимые разрешения в атрибуты файла.
В ответ на запрос: "Please, enter cgate install path:" укажите полный путь к каталогу, в который вы хотите распаковать шлюз.
В ответ на запрос: "Please, enter P2 login:" укажите логин пользователя.
В ответ на запрос: "Please, enter P2 password:" укажите пароль пользователя.
Дальнейшие шаги установки различаются в зависимости от версии ОС 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 рекомендуется сделать копию примеров в своём домашнем каталоге и собирать их оттуда.
Описание примеров:
Пример aggrspy
aggrspy - пример построения агрегированного стакана на покупку и продажу по фиксированному инструменту по потоку FORTS_FUTAGGR50_REPL. При нажатии Enter в outfile выводится срез стакана.
Команда для запуска:
aggrspy ISIN_ID depth outfile [r]
Входные аргументы:
isin_id - id инструмента;
depth - глубина выводимого стакана в файл (не больше 50);
outfile - файл для печати стакана;
r - включить обратное направление сортировки (параметр используется для инструментов с обратной сортировкой).
Пример repl
repl - получение реплики данных по потоку. Пример печатает все получаемые сообщения в log. При разрыве соединения реплика начинается сначала. Входных аргументов нет.
Пример repl_resume
repl_resume - пример аналогичен repl. Отличие заключается в том, что после разрыва соединения repl_resume продолжает реплику с последнего сообщения TN_COMMIT. Входных аргументов нет.
Пример send
send - выставляет заявку на SPECTRA. Выводит в лог ответ торговой системы. Входных аргументов нет.
Пример 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 - включить обратное направление сортировки (параметр используется для инструментов с обратной сортировкой).
Пример p2sys
p2sys - пример авторизации роутера из cgate. Повторяет в цикле следующие действия:
Посылает ошибочный набор (login, pwd), в ответ получает сообщение logon failed;
После этого посылает правильный набор (login, pwd);
На сообщение об успешной авторизации посылается запрос на logout;
Возврат к началу.
Пример 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_FUTAGGR5_REPL, FORTS_FUTAGGR20_REPL и FORTS_FUTAGGR50_REPL
Для опционов - потоки FORTS_OPTAGGR5_REPL, FORTS_OPTAGGR20_REPL и FORTS_OPTAGGR50_REPL
Общерыночные показатели
В составе общерыночных показателей транслируется такая информация как лучшие заявки на покупку и продажу, цены открытия, закрытия, текущие расчетные цены и т.п. Данная информация транслируется в составе потоков 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_CLR_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 — признак того, что запись удалена. Если replAct не нулевой — запись удалена. Если replAct = 0 — запись активна..
Для отправки команд необходимо создать публикатор с параметрами NAME = FORTS_SRV, catеgory = FORTS_MSG. Для получения ответов на отправленные сообщения необходимо в функции отправки сообщения задать флаг CG_PUB_NEEDREPLY, а также создать подписчик с типом p2mqreply.
В случае ошибки в доставке и обработке сообщения на системном уровне, код клиента может получить либо ошибку при выполнении функции отправки сообщения, либо ответное сообщение специального типа "системная ошибка":
Поле | Тип | Описание |
---|---|---|
code | i4 | Код возврата |
message | c255 | Текст сообщения. |
Обратите внимание, что сообщение "системная ошибка" может быть отправлено в ответ на любое сообщение бизнес-логики.
В ТС SPECTRA действует система ограничения аномальной активности клиентских приложений. Она не позволяет приложению пользователя (одному логину в системе SPECTRA) присылать более оговорённого в заявке на подключение количества сообщений в единицу времени. В настоящий момент можно получить логин в систему SPECTRA с ограничением 30, 60, 90 и т.д. торговых операций в секунду. К торговым операциям относятся все команды управления заявками. Количество неторговых (всех остальных) операций для любого типа логина ограничено 500 в секунду.
При превышении лимита сообщений, система контроля не транслирует сообщение в ядро ТС, а посылает пользователю сообщение-ответ с уведомлением об отказе в обслуживании, P2_Type = 99 следующей структуры:
Поле | Тип | Описание |
---|---|---|
queue_size | i4 | Количество сообщений пользователя |
penalty_remain | i4 | Время в миллисекундах, по прошествии которого будет успешно принято следующее сообщение от этого пользователя |
message | c128 | Текст сообщения об ошибке |
Обращаем внимание на два нюанса:
Количество сообщений за истекшую секунду оценивается при приёме КАЖДОГО сообщения. Это значит, что если пользователь постоянно присылает запросы с частотой, больше, чем ему разрешено, то его сообщения перестают обрабатываться вообще.
Сообщение-отказ с типом 99 может быть послано в ответ на любое сообщение пользователя.
Для централизованного мониторинга времен выставления заявок и задержек в распространении данных, в 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_number | i4 | Номер сообщения-хартбита (в текущей версии не используется). |
Команда не учитывается при расчете сбора за транзакции.
Сервис контроля подключений не отправляет ответных сообщений на хартбиты, поэтому при вызове функции отправки сообщения следует указывать ноль (не ожидать ответа): 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).
Для обеспечения надежности в торговой системе реализовано дублирование аппаратных компонентов, обслуживающих соединения пользователей, с использованием балансировщиков нагрузки, которые направляют пользователя при установке соединения на тот сервер, который наименее загружен в данный момент.
За установку TCP соединений отвечает ПО P2MQRouter, все настройки для данных соединений прописаны в конфигурационном файле роутера, при этом соединение для "Other Data" указывается как исходящее default connection, а остальные как исходящие direct connection. Такое построение является основной штатной конфигурацией при подключении к серверной ферме биржи. Конфигурация соединений при подключении через сервер доступа брокера может отличаться, в этом случае требуется запрашивать конкретную конфигурацию у владельца сервера.
За восстановление соединения в случае разрыва также отвечает P2MQRouter, при обрыве он автоматически, с заданной периодичностью пытается восстановить соединение, при этом пользовательское приложение повлиять на эти процессы никак не может. И в этом случае, отследить разрыв соединения приложение пользователя может по изменению статуса P2MQRouter с ROUTER_CONNECTED на ROUTER_RECONNECTING, получая уведомления об изменении статуса от объекта "connection".
Поведение приложений зависит от используемого ими программного интерфейса.
Библиотека 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 включительно ведет себя иначе. При нарушении соединений роутера все объекты (publisher, listener), которые привязаны к локальному соединению приложения с роутером, автоматически переводятся в состояние ERROR. В этом случае объекты в состоянии ERROR необходимо освободить, и с какой-то периодичностью (например, раз в несколько секунд) пытаться переоткрыть заново.
Библиотека CGate версии 1.3.10 имеет существенно переработанный механизм обработки разрывов связи.
Разрыв соединения с гейтом обработки входных приказов диагностируется непосредственно в момент получения ошибки TCP-соединения. При этом, затронутые разрывом объекты publisher переходят в ошибочное состояние.
Диагностика разрыва соединения, используемого для получения основных рыночных данных, происходит в течение 15 секунд для colocation (потоки _FASTREPL) или в течение 30 секунд при работе с основной фермой серверов (потоки _REPL). Затронутые объекты listener при этом переходят в ошибочное состояние.
Объекты в состоянии ERROR необходимо освободить, и с какой-то периодичностью (например, раз в несколько секунд) пытаться переоткрыть заново.
В общем случае, алгоритм восстановления подключения следующий:
После старта предпринимать периодические попытки открыть соединение с P2MQRouter.
При восстановлении соединения рутера с сетью Plaza2 объект соединение перейдет в состояние ACTIVE.
Произвести открытие нужных потоков. Для ускорения процедуры восстановления рекомендуется выполнять получение данных с момента последнего обновления. При открытии потока следует указывать replstate, полученный в момент закрытия потока, или явно задавать номера ревизий для таблиц и номер жизни схемы, используя последние номера фактически полученных данных.
Произвести восстановление списка активных заявок (см. далее).
Зарегистрировать publisher для приказов/команд.
Ниже в таблице приведены рекомендуемые способы восстановления данных в зависимости от получаемого потока:
Имя потока (таблицы) | Информация в потоке | Способ восстановления |
---|---|---|
FORTS_FUTTRADE_REPL
FORTS_OPTTRADE_REPL
| Журналы операций со своими заявками по фьючерсам и опционам | Список активных заявок:
Журнал действий с заявками:
|
FORTS_FUTTRADE_REPL
| Журналы операций со своими заявками по связкам | Журнал действий с заявками:
|
FORTS_ORDLOG_REPL
| Полный анонимный журнал операций с заявками по фьючерсам и опционам | Список активных заявок:
Журнал действий с заявками:
|
FORTS_ ORDLOG _REPL
| Полный анонимный журнал операций с заявками по связкам | Журнал действий с заявками:
|
FORTS_DEALS_REPL
FORTS_FUTTRADE_REPL
FORTS_OPTTRADE_REPL
| Журнал сделок по фьючерсам, составным инструментам и опционам | Переоткрытие соответствующего потока с указанием последнего полученного номера ревизии или repl state, полученного в момент закрытия потока |
FORTS_FUTCOMMON_REPL FORTS_OPTCOMMON_REPL | Общая рыночная информация по фьючерсам и опционам | Переоткрытие соответствующего потока с нуля |
FORTS_FUTAGGR##_REPL FORTS_OPTAGGR##_REPL | Стаканы по фьючерсам и опционам (## - глубина стакана) | Переоткрытие соответствующего потока с нуля |
FORTS_FUTINFO_REPL FORTS_OPTINFO_REPL | Справочная и сессионная информация | Быстрый способ:
Допустимый способ:
|
FORTS_PART_REPL | Информация о лимитах | Переоткрытие потока с нуля |
FORTS_POS_REPL | Информация о позициях | Переоткрытие потока с нуля |
FORTS_VM_REPL | Информация о ВМ | Переоткрытие потока с нуля |
FORTS_VOLAT_REPL | Информация о волатильности и теоретических ценах опционов | Переоткрытие потока с нуля |
RTS_INDEX_REPL | Значения биржевых индексов | Переоткрытие потока с нуля |
RTS_INDEXLOG_REPL | История значений биржевых индексов | Переоткрытие потока с указанием последнего полученного номера ревизии или repl state, полученного в момент закрытия потока |
Восстановление данных по потокам colocation (с суффиксами _FASTREPL) происходит также, как и по обычным потокам с аналогичными названиями.
При восстановлении соединения важной задачей является получение текущих активных заявок пользователя:
Получение набора активных в момент восстановления заявок.
Получение журнал действий с заявками в период отсутствия соединения.
Задача 1 решается путём получения среза заявок (FORTS_FUTORDERBOOK_REPL/FORTS_OPTORDERBOOK_REPL) — заявки, отсутствующие в срезе, были сведены или отвергнуты в период отсутствия соединения.
Задача 2 решается получением журнала действий со своими заявками (таблица orders_log потоков FORTS_FUTTRADE_REPL и FORTS_OPTTRADE_REPL, а также таблица multileg_orders_log потока FORTS_FUTTRADE_REPL) за период отсутствия соединения. Для этого надо открыть соответствующий поток с указанием номера ревизии последней фактически полученной до сбоя записи. Все действия с заявками, происходившие до момента восстановления, будут отражены в виде записей этих таблиц. Индикатором получения всей пропущенной истории действий с заявками является переход потока в состояние ONLINE.
Приведенная выше процедура восстановления подходит и для позднего входа.
В общем же случае, для минимизации вероятности возникновения сетевых сбоев в пользовательских приложениях Биржа рекомендует устанавливать дублирующие каналы связи, иметь два логина для шлюза, с одинаковым набором прав, и, соответственно, запускать одновременно два пользовательских приложения, которые будут получать одинаковые данные, с возможностью переключения между ними при сбоях. Как альтернатива, в коде самого приложения должен быть предусмотрен механизм переключения на дублирующий канал связи, то есть установка соединения с P2MQRouter, работающим через резервный канал к бирже.
Под такими проблемами понимаются аварии на стороне биржи, связанные с нарушениями в работе ядра ТС или сервисов, формирующих какие-либо рыночные данные. Как правило, это приводит к останову и перезапуску этих сервисов.
При регламентных работах, штатных или нештатных перезапусках сервисов на стороне биржи и после восстановления связи с клиентом, сервисы публикации данных присылают уведомления об очистке старых данных, перед тем как присылать текущее состояние данных.
Уведомления об очистке есть двух типов:
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 с новым "номером жизни" потока непосредственно в торгах означает, что в ТС произошел серьезный сбой, и требуется перепослать данные по заявкам и сделкам, которые могли быть уже разосланы пользователям.
Дополнительно по каналам, не связанным с самой ТС (система СОИ, новости на сайте биржи и т.п.), будет публиковаться информация о том, были ли в результате исправления ошибочных данных затронуты данные, которые реально попали к пользователям. В частности, был ли откат к состоянию системы до момента аварии, и какой последний номер заявки и сделки после перезапуска системы будет доступен пользователю.
Таблицы:
Таблица 1. Поля таблицы orders_log
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
id_ord | i8 | Номер заявки |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
amount | i4 | Количество в операции |
amount_rest | i4 | Оставшееся количество в заявке |
id_deal | i8 | Идентификатор сделки по данной записи журнала заявок |
xstatus | i8 | Расширенный статус заявки |
status | i4 | Статус заявки |
price | d16.5 | Цена |
moment | t | Время изменения состояния заявки |
dir | i1 | Направление |
action | i1 | Действие с заявкой |
deal_price | d16.5 | Цена заключенной сделки |
client_code | c7 | Код клиента |
login_from | c20 | Логин пользователя, поставившего заявку |
comment | c20 | Комментарий трейдера |
hedge | i1 | Признак хеджевой заявки |
trust | i1 | Признак заявки доверительного управления |
ext_id | i4 | Внешний номер |
broker_to | c7 | Код FORTS фирмы-адресата внесистемной заявки |
broker_to_rts | c7 | Код RTS фирмы-адресата внесистемной заявки |
broker_from_rts | c7 | Код РТС клиента - владельца заявки |
date_exp | t | Дата истечения заявки |
id_ord1 | i8 | Номер первой заявки |
local_stamp | t | Локальное время пользователя |
Примечания:
Поле status представляет собой битовую маску
Котировочная
Встречная
Внесистемная
При выставлении заявки не проверялись деньги по клиенту
Запись является последней в транзакции
Запись является результатом операции перемещения заявки
Запись является результатом операции удаления заявки
Запись является результатом группового удаления
Признак удаления остатка заявки по причине кросс-сделки
Заявка Fill-or-kill
Поле action описывает действие, произошедшее с заявкой
Заявка удалена
Заявка добавлена
Заявка сведена в сделку
Поле id_ord1 содержит номер первой заявки в последовательности перевыставлений заявки со сроком истечения
В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Таблица 2. Поля таблицы multileg_orders_log
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
id_ord | i8 | Номер заявки |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Идентификатор инструмента-связки |
amount | i4 | Количество в операции |
amount_rest | i4 | Оставшееся количество в заявке |
id_deal | i8 | Идентификатор сделки по данной записи журнала заявок |
xstatus | i8 | Расширенный статус заявки |
status | i4 | Статус заявки |
price | d16.5 | Цена |
moment | t | Время изменения состояния заявки |
dir | i1 | Направление |
action | i1 | Действие с заявкой |
deal_price | d16.5 | Цена заключенной сделки |
rate_price | d16.5 | Ставка заявки |
swap_price | d16.5 | Своп-цена заявки |
client_code | c7 | Код клиента |
login_from | c20 | Логин пользователя, поставившего заявку |
comment | c20 | Комментарий трейдера |
hedge | i1 | Признак хеджевой заявки |
trust | i1 | Признак заявки доверительного управления |
ext_id | i4 | Внешний номер |
broker_to | c7 | Код FORTS фирмы-адресата внесистемной заявки |
broker_to_rts | c7 | Код RTS фирмы-адресата внесистемной заявки |
broker_from_rts | c7 | Код РТС клиента - владельца заявки |
date_exp | t | Дата истечения заявки |
id_ord1 | i8 | Номер первой заявки |
local_stamp | t | Локальное время пользователя |
Примечания:
Поле status представляет собой битовую маску
Котировочная
Встречная
Внесистемная
Запись является последней в транзакции
Заявка Репо с КЦ
Заявка Репо
Обычная заявка по связке
Поле action описывает действие, произошедшее с заявкой
Заявка удалена
Заявка добавлена
Заявка сведена в сделку
Поле rate_price для инструментов, торгуемых в своп цене, содержит 0.
В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Таблица 3. Поля таблицы deal
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
id_deal | i8 | Номер сделки |
id_deal_multileg | i8 | Номер сделки по связке |
id_repo | i8 | Номер другой части сделки РЕПО |
pos | i4 | Кол-во позиций по инструменту на рынке после сделки |
amount | i4 | Объем, кол-во единиц инструмента |
id_ord_buy | i8 | Номер заявки покупателя |
id_ord_sell | i8 | Номер заявки продавца |
price | d16.5 | Цена |
moment | t | Время заключения сделки |
nosystem | i1 | Признак внесистемной сделки |
xstatus_buy | i8 | Расширенный статус сделки со стороны покупателя |
xstatus_sell | i8 | Расширенный статус сделки со стороны продавца |
status_buy | i4 | Статус сделки со стороны покупателя |
status_sell | i4 | Статус сделки со стороны продавца |
ext_id_buy | i4 | Внешний номер из заявки покупателя |
ext_id_sell | i4 | Внешний номер из заявки продавца |
code_buy | c7 | Код покупателя |
code_sell | c7 | Код продавца |
comment_buy | c20 | Комментарий из заявки покупателя |
comment_sell | c20 | Комментарий из заявки продавца |
trust_buy | i1 | Признак ДУ (доверительного управления) из заявки покупателя |
trust_sell | i1 | Признак ДУ (доверительного управления) из заявки продавца |
hedge_buy | i1 | Признак хеджевой сделки со стороны покупателя |
hedge_sell | i1 | Признак хеджевой сделки со стороны продавца |
fee_buy | d26.2 | Сбор по сделке покупателя |
fee_sell | d26.2 | Сбор по сделке продавца |
login_buy | c20 | Логин пользователя покупателя |
login_sell | c20 | Логин пользователя продавца |
code_rts_buy | c7 | Код РТС покупателя |
code_rts_sell | c7 | Код РТС продавца |
Примечания:
Поля 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, остальные биты зарезервированы под дополнительные статусы заявок.
Таблица 4. Поля таблицы multileg_deal
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Идентификатор инструмента-связки |
isin_id_rd | i4 | Идентификатор инструмента прямой части Репо |
isin_id_rb | i4 | Идентификатор инструмента обратной части Репо |
isin_id_repo | i4 | Идентификатор инструмента Репо |
duration | i4 | Разница в календарных днях между датами исполнения 2х фьючерсов (длительность РЕПО) |
id_deal | i8 | Номер сделки |
id_deal_rd | i8 | Идентификатор записи первой части РЕПО в таблице deal |
id_deal_rb | i8 | Идентификатор записи второй части РЕПО в таблице deal |
id_ord_buy | i8 | Номер заявки покупателя |
id_ord_sell | i8 | Номер заявки продавца |
amount | i4 | Объем, кол-во единиц инструмента |
price | d16.5 | Цена первой части парной связки |
rate_price | d16.5 | Ставка сделки |
swap_price | d16.5 | Своп-цена сделки |
buyback_amount | d16.2 | Сумма обратного выкупа для сделок Репо |
moment | t | Время заключения сделки |
nosystem | i1 | Признак внесистемной сделки |
xstatus_buy | i8 | Расширенный статус сделки со стороны покупателя |
xstatus_sell | i8 | Расширенный статус сделки со стороны продавца |
status_buy | i4 | Статус сделки со стороны покупателя |
status_sell | i4 | Статус сделки со стороны продавца |
ext_id_buy | i4 | Внешний номер из заявки покупателя |
ext_id_sell | i4 | Внешний номер из заявки продавца |
code_buy | c7 | Код покупателя |
code_sell | c7 | Код продавца |
comment_buy | c20 | Комментарий из заявки покупателя |
comment_sell | c20 | Комментарий из заявки продавца |
trust_buy | i1 | Признак ДУ (доверительного управления) из заявки покупателя |
trust_sell | i1 | Признак ДУ (доверительного управления) из заявки продавца |
hedge_buy | i1 | Признак хеджевой сделки со стороны покупателя |
hedge_sell | i1 | Признак хеджевой сделки со стороны продавца |
login_buy | c20 | Логин пользователя покупателя |
login_sell | c20 | Логин пользователя продавца |
code_rts_buy | c7 | Код РТС покупателя |
code_rts_sell | c7 | Код РТС продавца |
Примечания:
Поля 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, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Данная таблица наполняется ядром торговой системы с определенной периодичностью и может быть использована для задач синхронизации (например, для проверки прихода всех сделок за определенный момент времени). Таблица используется в режиме добавления записей; очистка таблицы происходит в ночное время.
Примечания:
Возможные типы событий
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"
Денежные средства после промклиринга пересчитаны
Таблица 7. Поля таблицы user_deal
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
id_deal | i8 | Номер сделки |
id_deal_multileg | i8 | Номер сделки по связке |
id_repo | i8 | Номер другой части сделки РЕПО |
pos | i4 | Кол-во позиций по инструменту на рынке после сделки |
amount | i4 | Объем, кол-во единиц инструмента |
id_ord_buy | i8 | Номер заявки покупателя |
id_ord_sell | i8 | Номер заявки продавца |
price | d16.5 | Цена |
moment | t | Время заключения сделки |
nosystem | i1 | Признак внесистемной сделки |
xstatus_buy | i8 | Статус сделки со стороны покупателя |
xstatus_sell | i8 | Статус сделки со стороны продавца |
status_buy | i4 | Статус сделки со стороны покупателя |
status_sell | i4 | Статус сделки со стороны продавца |
ext_id_buy | i4 | Внешний номер из заявки покупателя |
ext_id_sell | i4 | Внешний номер из заявки продавца |
code_buy | c7 | Код покупателя |
code_sell | c7 | Код продавца |
comment_buy | c20 | Комментарий из заявки покупателя |
comment_sell | c20 | Комментарий из заявки продавца |
trust_buy | i1 | Признак ДУ (доверительного управления) из заявки покупателя |
trust_sell | i1 | Признак ДУ (доверительного управления) из заявки продавца |
hedge_buy | i1 | Признак хеджевой сделки со стороны покупателя |
hedge_sell | i1 | Признак хеджевой сделки со стороны продавца |
fee_buy | d26.2 | Сбор по сделке покупателя |
fee_sell | d26.2 | Сбор по сделке продавца |
login_buy | c20 | Логин пользователя покупателя |
login_sell | c20 | Логин пользователя продавца |
code_rts_buy | c7 | Код РТС покупателя |
code_rts_sell | c7 | Код РТС продавца |
Примечания:
Поля 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, остальные биты зарезервированы под дополнительные статусы заявок.
Таблица 8. Поля таблицы user_multileg_deal
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Идентификатор инструмента-связки |
id_deal | i8 | Номер сделки |
isin_id_rd | i4 | Идентификатор инструмента прямой части Репо |
isin_id_rb | i4 | Идентификатор инструмента обратной части Репо |
isin_id_repo | i4 | Идентификатор инструмента Репо |
duration | i4 | Разница в календарных днях между датами исполнения 2х фьючерсов (длительность РЕПО) |
id_deal_rd | i8 | Идентификатор записи первой части РЕПО в таблице deal |
id_deal_rb | i8 | Идентификатор записи второй части РЕПО в таблице deal |
id_ord_buy | i8 | Номер заявки покупателя |
id_ord_sell | i8 | Номер заявки продавца |
amount | i4 | Объем, кол-во единиц инструмента |
price | d16.5 | Цена первой части парной связки |
rate_price | d16.5 | Ставка сделки |
swap_price | d16.5 | Своп-цена сделки |
buyback_amount | d16.2 | Сумма обратного выкупа для сделок Репо |
moment | t | Время заключения сделки |
nosystem | i1 | Признак внесистемной сделки |
xstatus_buy | i8 | Расширенный статус сделки со стороны покупателя |
xstatus_sell | i8 | Расширенный статус сделки со стороны продавца |
status_buy | i4 | Статус сделки со стороны покупателя |
status_sell | i4 | Статус сделки со стороны продавца |
ext_id_buy | i4 | Внешний номер из заявки покупателя |
ext_id_sell | i4 | Внешний номер из заявки продавца |
code_buy | c7 | Код покупателя |
code_sell | c7 | Код продавца |
comment_buy | c20 | Комментарий из заявки покупателя |
comment_sell | c20 | Комментарий из заявки продавца |
trust_buy | i1 | Признак ДУ (доверительного управления) из заявки покупателя |
trust_sell | i1 | Признак ДУ (доверительного управления) из заявки продавца |
hedge_buy | i1 | Признак хеджевой сделки со стороны покупателя |
hedge_sell | i1 | Признак хеджевой сделки со стороны продавца |
login_buy | c20 | Логин пользователя покупателя |
login_sell | c20 | Логин пользователя продавца |
code_rts_buy | c7 | Код РТС покупателя |
code_rts_sell | c7 | Код РТС продавца |
Примечания:
Поля 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, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Таблицы:
Таблица 9. Поля таблицы orders_log
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
id_ord | i8 | Номер заявки |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
amount | i4 | Количество в операции |
amount_rest | i4 | Оставшееся количество в заявке |
id_deal | i8 | Код сделки, соответствующей данной записи журнала заявок |
xstatus | i8 | Расширенный статус заявки |
status | i4 | Статус заявки |
price | d16.5 | Цена |
moment | t | Время изменения состояния заявки |
dir | i1 | Направление |
action | i1 | Действие с заявкой |
deal_price | d16.5 | Цена заключенной сделки |
client_code | c7 | Код клиента |
login_from | c20 | Логин пользователя, поставившего заявку |
comment | c20 | Комментарий трейдера |
hedge | i1 | Признак хеджевой заявки |
trust | i1 | Признак заявки доверительного управления |
ext_id | i4 | Внешний номер |
broker_to | c7 | Код FORTS фирмы-адресата внесистемной заявки |
broker_to_rts | c7 | Код RTS фирмы-адресата внесистемной заявки |
broker_from_rts | c7 | Код РТС клиента - владельца заявки |
date_exp | t | Дата истечения заявки |
id_ord1 | i8 | Номер первой заявки |
local_stamp | t | Локальное время пользователя |
Примечания:
Поле status представляет собой битовую маску
Котировочная
Встречная
Внесистемная
При выставлении заявки не проверялись деньги по клиенту
Запись является последней в транзакции
Запись является результатом операции перемещения заявки
Запись является результатом операции удаления заявки
Запись является результатом группового удаления
Признак удаления остатка заявки по причине кросс-сделки
Заявка Fill-or-kill
Поле action описывает действие, произошедшее с заявкой
Заявка удалена
Заявка добавлена
Заявка сведена в сделку
Поле id_ord1 содержит номер первой заявки в последовательности перевыставлений заявки со сроком истечения
В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Таблица 10. Поля таблицы deal
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
id_deal | i8 | Номер сделки |
id_deal_multileg | i8 | Номер сделки по связке |
pos | i4 | Кол-во позиций по инструменту на рынке после сделки |
amount | i4 | Объем, кол-во единиц инструмента |
id_ord_buy | i8 | Номер заявки покупателя |
id_ord_sell | i8 | Номер заявки продавца |
price | d16.5 | Цена |
moment | t | Время заключения сделки |
nosystem | i1 | Признак внесистемной сделки |
xstatus_buy | i8 | Расширенный статус сделки со стороны покупателя |
xstatus_sell | i8 | Расширенный статус сделки со стороны продавца |
status_buy | i4 | Статус сделки со стороны покупателя |
status_sell | i4 | Статус сделки со стороны продавца |
ext_id_buy | i4 | Внешний номер из заявки покупателя |
ext_id_sell | i4 | Внешний номер из заявки продавца |
code_buy | c7 | Код покупателя |
code_sell | c7 | Код продавца |
comment_buy | c20 | Комментарий из заявки покупателя |
comment_sell | c20 | Комментарий из заявки продавца |
trust_buy | i1 | Признак ДУ (доверительного управления) из заявки покупателя |
trust_sell | i1 | Признак ДУ (доверительного управления) из заявки продавца |
hedge_buy | i1 | Признак хеджевой сделки со стороны покупателя |
hedge_sell | i1 | Признак хеджевой сделки со стороны продавца |
fee_buy | d26.2 | Сбор по сделке покупателя |
fee_sell | d26.2 | Сбор по сделке продавца |
login_buy | c20 | Логин пользователя покупателя |
login_sell | c20 | Логин пользователя продавца |
code_rts_buy | c7 | Код РТС покупателя |
code_rts_sell | c7 | Код РТС продавца |
Примечания:
Поля 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 являются битовыми масками, определяющими следующие значения:
Сделка является сделкой экспирации
В сделках экспирации поле id_ord_sell заполняется id заявки на экспирацию
В полях xstatus_sell и xstatus_buy первые 32 бита эквивалентны полям status_sell и status_buy, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Данная таблица наполняется ядром торговой системы с определенной периодичностью и может быть использована для задач синхронизации (например, для проверки прихода всех сделок за определенный момент времени). Таблица используется в режиме добавления записей; очистка таблицы происходит в ночное время.
Примечания:
Возможные типы событий
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"
Денежные средства после промклиринга пересчитаны
Таблица 13. Поля таблицы user_deal
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
id_deal | i8 | Номер сделки |
id_deal_multileg | i8 | Номер сделки по связке |
pos | i4 | Кол-во позиций по инструменту на рынке после сделки |
amount | i4 | Объем, кол-во единиц инструмента |
id_ord_buy | i8 | Номер заявки покупателя |
id_ord_sell | i8 | Номер заявки продавца |
price | d16.5 | Цена |
moment | t | Время заключения сделки |
nosystem | i1 | Признак внесистемной сделки |
xstatus_buy | i8 | Статус сделки со стороны покупателя |
xstatus_sell | i8 | Статус сделки со стороны продавца |
status_buy | i4 | Статус сделки со стороны покупателя |
status_sell | i4 | Статус сделки со стороны продавца |
ext_id_buy | i4 | Внешний номер из заявки покупателя |
ext_id_sell | i4 | Внешний номер из заявки продавца |
code_buy | c7 | Код покупателя |
code_sell | c7 | Код продавца |
comment_buy | c20 | Комментарий из заявки покупателя |
comment_sell | c20 | Комментарий из заявки продавца |
trust_buy | i1 | Признак ДУ (доверительного управления) из заявки покупателя |
trust_sell | i1 | Признак ДУ (доверительного управления) из заявки продавца |
hedge_buy | i1 | Признак хеджевой сделки со стороны покупателя |
hedge_sell | i1 | Признак хеджевой сделки со стороны продавца |
fee_buy | d26.2 | Сбор по сделке покупателя |
fee_sell | d26.2 | Сбор по сделке продавца |
login_buy | c20 | Логин пользователя покупателя |
login_sell | c20 | Логин пользователя продавца |
code_rts_buy | c7 | Код РТС покупателя |
code_rts_sell | c7 | Код РТС продавца |
Примечания:
Поля 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 являются битовыми масками, определяющими следующие значения:
Сделка является сделкой экспирации
В сделках экспирации поле id_ord_sell заполняется id заявки на экспирацию
В полях xstatus_sell и xstatus_buy первые 32 бита эквивалентны полям status_sell и status_buy, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Таблицы:
Таблица 14. Поля таблицы orders_log
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
id_ord | i8 | Номер заявки |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
amount | i4 | Количество в операции |
amount_rest | i4 | Оставшееся количество в заявке |
id_deal | i8 | Идентификатор сделки по данной записи журнала заявок |
xstatus | i8 | Расширенный статус заявки |
status | i4 | Статус заявки |
price | d16.5 | Цена |
moment | t | Время изменения состояния заявки |
dir | i1 | Направление |
action | i1 | Действие с заявкой |
deal_price | d16.5 | Цена заключенной сделки |
Примечания:
Поле status представляет собой битовую маску
Котировочная
Встречная
Внесистемная
При выставлении заявки не проверялись деньги по клиенту
Запись является последней в транзакции
Запись является результатом операции перемещения заявки
Запись является результатом операции удаления заявки
Запись является результатом группового удаления
Признак удаления остатка заявки по причине кросс-сделки
Заявка Fill-or-kill
Поле action описывает действие, произошедшее с заявкой
Заявка удалена
Заявка добавлена
Заявка сведена в сделку
Поле id_ord1 содержит номер первой заявки в последовательности перевыставлений заявки со сроком истечения
В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Таблица 15. Поля таблицы multileg_orders_log
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
id_ord | i8 | Номер заявки |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
amount | i4 | Количество в операции |
amount_rest | i4 | Оставшееся количество в заявке |
id_deal | i8 | Идентификатор сделки по данной записи журнала заявок |
xstatus | i8 | Расширенный статус заявки |
status | i4 | Статус заявки |
price | d16.5 | Цена |
moment | t | Время изменения состояния заявки |
dir | i1 | Направление |
action | i1 | Действие с заявкой |
deal_price | d16.5 | Цена заключенной сделки |
rate_price | d16.5 | Ставка заявки |
swap_price | d16.5 | Своп-цена заявки |
Примечания:
Поле status представляет собой битовую маску
Котировочная
Встречная
Внесистемная
Запись является последней в транзакции
Заявка Репо с КЦ
Заявка Репо
Обычная заявка по связке
Поле action описывает действие, произошедшее с заявкой
Заявка удалена
Заявка добавлена
Заявка сведена в сделку
Поле rate_price для инструментов, торгуемых в своп цене, содержит 0.
В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Данная таблица наполняется ядром торговой системы с определенной периодичностью и может быть использована для задач синхронизации (например, для проверки прихода всех сделок за определенный момент времени). Таблица используется в режиме добавления записей; очистка таблицы происходит в ночное время.
Примечания:
Возможные типы событий
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"
Денежные средства после промклиринга пересчитаны
Таблицы:
Таблица 18. Поля таблицы deal
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
id_deal | i8 | Номер сделки |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
pos | i4 | Кол-во позиций по инструменту на рынке после сделки |
amount | i4 | Объем, кол-во единиц инструмента |
id_ord_sell | i8 | Номер заявки продавца |
id_ord_buy | i8 | Номер заявки покупателя |
price | d16.5 | Цена |
moment | t | Время заключения сделки |
nosystem | i1 | Признак внесистемной сделки |
Примечания:
В сделках экспирации id заявки на экспирацию указывается в поле id_ord_sell, если это сделка по опциону, в поле id_ord_buy в сделках по фьючерсу для опциона колл, в поле id_ord_sell в сделках по фьючерсу для опциона пут.
Таблица 19. Поля таблицы multileg_deal
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
id_deal | i8 | Номер сделки |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Идентификатор инструмента-связки |
id_ord_buy | i8 | Номер заявки покупателя |
id_ord_sell | i8 | Номер заявки продавца |
amount | i4 | Объем, кол-во единиц инструмента |
price | d16.5 | Цена первой части парной связки |
rate_price | d16.5 | Ставка сделки |
swap_price | d16.5 | Своп-цена сделки |
buyback_amount | d16.2 | Сумма обратного выкупа для сделок Репо |
moment | t | Время заключения сделки |
nosystem | i1 | Признак внесистемной сделки |
Примечания:
Возможные типы событий
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"
Денежные средства после промклиринга пересчитаны
Данная таблица наполняется ядром торговой системы с определенной периодичностью и может быть использована для задач синхронизации (например, для проверки прихода всех сделок за определенный момент времени). Таблица используется в режиме добавления записей; очистка таблицы происходит в ночное время.
Таблицы:
Таблица 22. Поля таблицы adjusted_fee
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
id_deal | i8 | Номер сделки |
moment | t | Время заключения сделки |
code_buy | c7 | Код покупателя |
code_sell | c7 | Код продавца |
initial_fee_buy | d26.2 | Сбор по сделке покупателя, грубо |
initial_fee_sell | d26.2 | Сбор по сделке продавца, грубо |
adjusted_fee_buy | d26.2 | Сбор по сделке покупателя, точно |
adjusted_fee_sell | d26.2 | Сбор по сделке продавца, точно |
id_repo | i8 | Номер другой части сделки РЕПО |
id_deal_multileg | i8 | Номер сделки по связке |
Примечания:
Возможные типы событий
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"
Денежные средства после промклиринга пересчитаны
Таблицы:
Таблица 24. Поля таблицы orders
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
id_ord | i8 | Номер заявки |
sess_id | i4 | Идентификатор торговой сессии |
client_code | c7 | Код клиента |
moment | t | Время изменения состояния заявки |
xstatus | i8 | Расширенный статус заявки |
status | i4 | Статус заявки |
action | i1 | Действие с заявкой |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
dir | i1 | Направление |
price | d16.5 | Цена |
amount | i4 | Количество в операции |
amount_rest | i4 | Оставшееся количество в заявке |
comment | c20 | Комментарий трейдера |
hedge | i1 | Признак хеджевой заявки |
trust | i1 | Признак заявки доверительного управления |
ext_id | i4 | Внешний номер |
login_from | c20 | Логин пользователя, поставившего заявку |
broker_to | c7 | Код FORTS фирмы-адресата внесистемной заявки |
broker_to_rts | c7 | Код RTS фирмы-адресата внесистемной заявки |
date_exp | t | Дата истечения заявки |
id_ord1 | i8 | Номер первой заявки |
broker_from_rts | c7 | Код РТС клиента - владельца заявки |
init_moment | t | Время появления заявки |
init_amount | i4 | Начальное количество в заявке |
Примечания:
Поле status представляет собой битовую маску
Котировочная
Встречная
Внесистемная
Запись является результатом операции перемещения заявки
Запись является результатом операции удаления заявки
Запись является результатом группового удаления
Признак удаления остатка заявки по причине кросс-сделки
Поле action описывает действие, произошедшее с заявкой
Заявка добавлена
Заявка сведена в сделку
В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Таблица 25. Поля таблицы info
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
infoID | i8 | Уникальный ключ |
logRev | i8 | Ревизия по фьючерсам на момент формирования снэпшота |
lifeNum | i4 | Номер жизни входящего потока |
moment | t | Время формирования снэпшота |
Таблицы:
Таблица 26. Поля таблицы orders
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
id_ord | i8 | Номер заявки |
sess_id | i4 | Идентификатор торговой сессии |
client_code | c7 | Код клиента |
moment | t | Время изменения состояния заявки |
xstatus | i8 | Расширенный статус заявки |
status | i4 | Статус заявки |
action | i1 | Действие с заявкой |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
dir | i1 | Направление |
price | d16.5 | Цена |
amount | i4 | Количество в операции |
amount_rest | i4 | Оставшееся количество в заявке |
comment | c20 | Комментарий трейдера |
hedge | i1 | Признак хеджевой заявки |
trust | i1 | Признак заявки доверительного управления |
ext_id | i4 | Внешний номер |
login_from | c20 | Логин пользователя, поставившего заявку |
broker_to | c7 | Код FORTS фирмы-адресата внесистемной заявки |
broker_to_rts | c7 | Код RTS фирмы-адресата внесистемной заявки |
date_exp | t | Дата истечения заявки |
id_ord1 | i8 | Номер первой заявки |
broker_from_rts | c7 | Код РТС клиента - владельца заявки |
init_moment | t | Время появления заявки |
init_amount | i4 | Начальное количество в заявке |
Примечания:
Поле status представляет собой битовую маску
Котировочная
Встречная
Внесистемная
Запись является результатом операции перемещения заявки
Запись является результатом операции удаления заявки
Запись является результатом группового удаления
Признак удаления остатка заявки по причине кросс-сделки
Поле action описывает действие, произошедшее с заявкой
Заявка добавлена
Заявка сведена в сделку
В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Таблица 27. Поля таблицы info
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
infoID | i8 | Уникальный ключ |
logRev | i8 | Ревизия по опционам на момент формирования снэпшота |
lifeNum | i4 | Номер жизни входящего потока |
moment | t | Время формирования снэпшота |
Таблицы:
Таблица 28. Поля таблицы orders
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
id_ord | i8 | Номер заявки |
sess_id | i4 | Идентификатор торговой сессии |
moment | t | Время изменения состояния заявки |
xstatus | i8 | Расширенный статус заявки |
status | i4 | Статус заявки |
action | i1 | Действие с заявкой |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
dir | i1 | Направление |
price | d16.5 | Цена |
amount | i4 | Количество в операции |
amount_rest | i4 | Оставшееся количество в заявке |
init_moment | t | Время появления заявки |
init_amount | i4 | Начальное количество в заявке |
Примечания:
Поле status представляет собой битовую маску
Котировочная
Встречная
Внесистемная
Запись является результатом операции перемещения заявки
Запись является результатом операции удаления заявки
Запись является результатом группового удаления
Признак удаления остатка заявки по причине кросс-сделки
Поле action описывает действие, произошедшее с заявкой
Заявка добавлена
Заявка сведена в сделку
В поле xstatus первые 32 бита эквивалентны полю status, остальные биты зарезервированы под дополнительные статусы заявок.
Запись является результатом операции удаления заявки сервисом Cancel On Disconnect
Таблицы:
Таблица содержит
Таблица 30. Поля таблицы common
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
sess_id | i4 | Идентификатор торговой сессии |
best_sell | d16.5 | Цена лучшей заявки на продажу |
amount_sell | i4 | Количество в заявках на продажу с лучшей ценой |
best_buy | d16.5 | Цена лучшей заявки на покупку |
amount_buy | i4 | Количество в заявках на покупку с лучшей ценой |
price | d16.5 | Цена последней сделки |
trend | d16.5 | Тренд изменения цены (разница между ценами двух последних сделок) |
amount | i4 | Количество в последней сделке |
deal_time | t | Дата и время последней сделки |
min_price | d16.5 | Минимальная цена |
max_price | d16.5 | Максимальная цена |
avr_price | d16.5 | Средневзвешенная цена |
old_kotir | d16.5 | Расчетная цена предыдущей сессии |
deal_count | i4 | Количество сделок |
contr_count | i4 | Общее количество контрактов в сделках |
capital | d26.2 | Суммарный объём сделок в рублях |
pos | i4 | Текущее кол-во открытых позиций |
mod_time | t | Дата и время изменения записи |
cur_kotir | d16.5 | Текущая котировка |
cur_kotir_real | d16.5 | Рыночная котировка |
orders_sell_qty | i4 | Количество заявок на продажу |
orders_sell_amount | i4 | Объём в контрактах в заявках на продажу |
orders_buy_qty | i4 | Количество заявок на покупку |
orders_buy_amount | i4 | Объём в контрактах в заявках на покупку |
open_price | d16.5 | Цена открытия |
close_price | d16.5 | Цена закрытия |
local_time | t | Поле для мониторинга репликации common |
Примечания:
Поле open_price содержит цену первой сделки в текущей сессии, а если её нет, то 0
Поле close_price содержит цену последней сделки в текущей сессии, а если её нет, то 0
Таблицы:
Таблица содержит
Таблица 31. Поля таблицы common
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
sess_id | i4 | Идентификатор торговой сессии |
best_sell | d16.5 | Цена лучшей заявки на продажу |
amount_sell | i4 | Количество в заявках на продажу с лучшей ценой |
best_buy | d16.5 | Цена лучшей заявки на покупку |
amount_buy | i4 | Количество в заявках на покупку с лучшей ценой |
price | d16.5 | Цена последней сделки |
trend | d16.5 | Тренд изменения цены (разница между ценами двух последних сделок) |
amount | i4 | Количество в последней сделке |
deal_time | t | Дата и время последней сделки |
min_price | d16.5 | Минимальная цена |
max_price | d16.5 | Максимальная цена |
avr_price | d16.5 | Средневзвешенная цена |
old_kotir | d16.5 | Расчетная цена предыдущей сессии |
deal_count | i4 | Количество сделок |
contr_count | i4 | Общее количество контрактов в сделках |
capital | d26.2 | Суммарный объём сделок в рублях |
pos | i4 | Текущее кол-во открытых позиций |
mod_time | t | Дата и время изменения записи |
isin_is_spec | i1 | По этому инструменту сейчас возможно подавать запросы на котировку. |
orders_sell_qty | i4 | Количество заявок на продажу |
orders_sell_amount | i4 | Объём в контрактах в заявках на продажу |
orders_buy_qty | i4 | Количество заявок на покупку |
orders_buy_amount | i4 | Объём в контрактах в заявках на покупку |
open_price | d16.5 | Цена открытия |
close_price | d16.5 | Цена закрытия |
local_time | t | Поле для мониторинга репликации common |
Примечания:
Поле open_price содержит цену первой сделки в текущей сессии, а если её нет, то 0
Поле close_price содержит цену последней сделки в текущей сессии, а если её нет, то 0
Таблицы:
Таблица содержит список агрегированных котировок. Каждая агрегированная котировка является результатом суммирования по объёму активных заявок с одинаковыми инструментом, ценой и направлением.
Режимы использования таблицы в зависимости от режимов работы торговой системы:
Ночной период - таблицы содержат данные на момент завершения вечерней сессии
Торговая сессия до пром. клиринга - таблица обновляется активными заявками
Пром. клиринг - таблица не обновляется и содержит данные на момент начала пром. клиринга
Торговая сессия после пром. клиринга - таблица обновляется активными заявками
Клиринг - таблица очищается
Вечерняя торговая сессия - таблица обновляется активными заявками вечерней сессии
Таблица 32. Поля таблицы orders_aggr
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
price | d16.5 | Цена котировки |
volume | i8 | Объем агрегированной котировки |
moment | t | Время последнего обновления котировки |
dir | i1 | Направление котировки |
Примечания:
Записи в таблице могут обновляться полностью, т.е. обновляться может не только объём котировки (volume), но и инструмент, цена, направление. В случае наступления такого события считается, что предыдущая котировка вышла из стакана, а новая – появилась.
В таблице могут присутствовать записи с нулевым объёмом (volume = 0). Такие записи следует игнорировать. При этом, может происходит обнуление существующей котировки – это означает, что котировка вышла из стакана или заполнение нулевой котировки какими либо значениями – это означает, что котировка с новыми значениями вошла в стакан.
Таблицы:
Таблица содержит информацию о позициях клиентов.
Таблица 33. Поля таблицы position
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
client_code | c7 | Код клиента |
open_qty | i4 | Количество позиций на начало сессии |
buys_qty | i4 | Количество купленных контрактов в ходе сессии |
sells_qty | i4 | Количество проданных контрактов в ходе сессии |
pos | i4 | Текущая позиция |
net_volume_rur | d26.2 | Нетто-сумма денег, в рублях, на которую были совершены сделки. Положительное число - деньги приходят, отрицательное - деньги выплачиваются |
last_deal_id | i8 | Номер последней сделки |
waprice | d16.5 | Средневзвешенная цена |
Примечания:
Возможные типы событий
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"
Денежные средства после промклиринга пересчитаны
Таблицы:
Таблица содержит информацию о лимитах и о настройках риск-параметров для клиентов
Таблица 35. Поля таблицы part
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
client_code | c7 | Код клиента |
coeff_go | d16.5 | Коэффициент клиентского ГО |
coeff_liquidity | d16.5 | Коэффициент ликвидности |
money_old | d26.2 | Всего денег на конец предыдущей сессии |
money_amount | d26.2 | Всего денег |
money_free | d26.2 | Свободно денег |
money_blocked | d26.2 | Заблокировано денег |
pledge_old | d26.2 | Залогов на начало сессии |
pledge_amount | d26.2 | Всего залогов |
pledge_free | d26.2 | Свободно залогов |
pledge_blocked | d26.2 | Заблокировано залогов |
vm_reserve | d26.2 | Сумма, зарезервированная под отрицательную ВМ по закрытым позициям |
vm_intercl | d26.2 | Вариационная маржа, списанная или полученная в пром. клиринг |
fee | d26.2 | Списанный сбор |
fee_reserve | d26.2 | Заблокированный резерв сбора под заявки |
limit_spot_buy | d26.2 | Лимит на Покупку Спотов |
limit_spot_buy_used | d26.2 | Использованный Лимит на Покупку Спотов |
is_auto_update_limit | i1 | Признак автоматической коррекции лимита на величину дохода при закачке после клиринга: 0-нет, 1-менять. |
is_auto_update_spot_limit | i1 | Признак автоматической коррекции лимитов по Спотам (на Продажу, и на Покупку) при закачке после клиринга: 0-нет, 1-менять |
no_fut_discount | i1 | Флаг запрещения использования скидки по фьючерсам: 1-Запрет, 0-нет |
limits_set | i1 | Наличие установленных денежного и залогового лимитов |
premium | d26.2 | Премия |
premium_order_reserve | f | Резерв премии под заявки |
balance_money | d26.2 | Сальдо денежных торговых переводов за текущую сессию |
vm_order_reserve | f | Сумма, зарезервированная под отрицательную ВМ по заявкам |
money_pledge_amount | d26.2 | Суммарная оценочная стоимость залогов полного обеспечения |
num_clr_2delivery | i4 | Количество клирингов, за которое включаются сценарии экспирации для расчета рисков по ближней неквартальной серии опционов для данного раздела |
calc_exp_extra_risk | i1 | Признак того, что сценарии экспирации для расчета рисков по ближней неквартальной серии опционов для данного раздела включен |
Примечания:
Возможные типы событий
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"
Денежные средства после промклиринга пересчитаны
Таблицы:
Таблица 37. Поля таблицы delivery_report
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
date | t | Дата проведения клиринга |
client_code | c7 | Код клиента |
type | c2 | Признак РФ/БФ/клиента ('RF' - РФ; 'BF' - БФ; 'CL' - клиент). Здесь всегда равен 'CL'. |
isin_id | i4 | Уникальный числовой идентификатор иструмента |
pos | i4 | Количество позиций, подлежащих исполнению, на начало данного этапа поставки (кроме исключенных по принципу совпадения ИНН (кодов)) |
pos_excl | i4 | Для первого этапа - это Количество позиций по фьючерсам, аннулированных в связи с тем, что они учитывались на регистрах с одним ИНН (кодом). Для второго этапа всегда 0 |
pos_unexec | i4 | Количество позиций, неисполненных в ходе данного этапа поставки |
unexec | i1 | Признак исполнения/неисполнения клиентом позиций, указанных в поле pos_neisp (False - исполнение, True - неисполнение) |
settl_pair | c12 | Код РПС |
asset_code | c25 | Торговый код поставляемого актива |
issue_code | c25 | Депозитарный код поставляемого актива |
oblig_rur | d16.2 | Объём обязательств в руб. |
oblig_qty | i8 | Объём обязательств в бумагах, шт. |
fulfil_rur | d16.2 | Объём выполненных обязательств в руб. |
fulfil_qty | i8 | Объём выполненных обязательств в бумагах, шт. |
step | i4 | Порядковый номер этапа поставки |
sess_id | i4 | Идентификатор торговой сессии |
id_gen | i4 | Идентификатор этапа формирования отчетов |
Примечания:
Поле unexec может принимать следующие значения:
Исполнение
Неисполнение
Поле step при поставке по Спотам всегда принимает значение 1
Таблица 38. Поля таблицы fut_rejected_orders
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
order_id | i8 | Номер заявки |
sess_id | i4 | Идентификатор торговой сессии |
client_code | c7 | Код клиента |
moment | t | Время изменения состояния заявки |
moment_reject | t | Время, когда заявка была отвергнута |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
dir | i1 | Направление |
amount | i4 | Объём, количество единиц инструмента |
price | d16.5 | Цена |
date_exp | t | Дата истечения заявки |
id_ord1 | i8 | Номер первой заявки |
ret_code | i4 | Код возврата процедуры перепостановки |
ret_message | c255 | Текст сообщения о причине отвержения заявки при перепостановке |
comment | c20 | Комментарий трейдера |
login_from | c20 | Логин пользователя, поставившего заявку |
ext_id | i4 | Внешний номер |
Таблица 39. Поля таблицы fut_intercl_info
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
client_code | c7 | Код клиента |
vm_intercl | d16.2 | Вариационная маржа, списанная или полученная в пром. клиринг |
Таблица 40. Поля таблицы fut_bond_registry
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
bond_id | i4 | Цифровой код облигации |
small_name | c25 | Торговый код в корпоративных торгах РТС |
short_isin | c25 | Выпуск облигации |
name | c75 | Наименование облигации |
date_redempt | t | Дата погашения облигации |
nominal | d16.5 | Номинал облигации |
bond_type | i1 | Тип: акция/облигация |
year_base | i2 | База года |
Примечания:
Поле bond_type является битовой маской и может принимать следующие значения:
не задан
Акция
Облигация (без амортизации/формула актуальная)
Облигация с амортизацией
Облигация, формула виртуальная-американская
Облигация, формула виртуальная-европейская
Таблица 42. Поля таблицы fut_bond_nkd
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
bond_id | i4 | Цифровой код облигации |
date | t | Дата выплаты купона |
nkd | d16.7 | НКД на дату выплаты купона |
is_cupon | i1 | Признак: 0 - НКД на дату исполнения срочного контракта с облигацией, 1 - купон на дату выплаты купона, 2 - НКД на дату поставки облигации |
Таблица 43. Поля таблицы fut_bond_nominal
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
bond_id | i4 | Цифровой код облигации |
date | t | Дата выплаты купона |
nominal | d16.5 | Размер выплат номинальной стоимости |
face_value | d16.5 | Размер остаточной номинальной стоимости облигации |
coupon_nominal | d8.5 | Cтоимость купона в % от номинала |
is_nominal | i1 | Признак записи в таблицах номиналов |
Примечания:
Поле is_nominal может принимать следующие значения:
Размер остаточной номинальной стоимости на дату исполнения срочного контракта с облигацией
Размер остаточной номинальной стоимости на дату выплаты купона
Размер остаточной номинальной стоимости на дату поставки облигации
Примечания:
На настоящий момент поле id принимает значение = 1 (рубль к доллару)
Таблица содержит справочник базовых контрактов для инструментов.
Таблица 45. Поля таблицы fut_vcb
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
code_vcb | c25 | Код базового актива |
name | c75 | Наименование |
exec_type | c1 | Тип исполнения |
curr | c3 | Валюта платежа |
exch_pay | d16.2 | Биржевой сбор за 1 контракт в рублях |
exch_pay_scalped | i1 | Признак скальпирования биржевого сбора |
clear_pay | d16.2 | Клиринговый сбор за 1 контракт в рублях |
clear_pay_scalped | i1 | Признак скальпирования клирингового сбора |
sell_fee | d7.3 | Комиссия с продавца. Не используется |
buy_fee | d7.3 | Комиссия с покупателя. Не используется |
trade_scheme | c1 | Форма торгов |
section | c50 | Наименование Секции |
exch_pay_spot | d16.5 | Биржевой сбор по Спотам за 1 лот в % от цены |
client_code | c7 | Код клиента |
exch_pay_spot_repo | d16.5 | Биржевой сбор по Репо |
rate_id | i4 | Идентификатор курса |
Примечания:
Поле exec_type может принимать следующие значения:
Альтернативный
Поставка
Индекс
Поставка акций через режим Т+, ASTS
Поле trade_scheme может принимать следующие значения:
С полным обеспечением
С залогом
Таблица содержит информацию о расписании сессий.
Таблица 46. Поля таблицы session
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
begin | t | Время начала |
end | t | Время окончания |
state | i4 | Состояние сессии |
opt_sess_id | i4 | Номер соответствующей опционной сессии |
inter_cl_begin | t | Время начала пром. клиринга |
inter_cl_end | t | Время окончания пром. клиринга |
inter_cl_state | i4 | Состояние пром. клиринга |
eve_on | i1 | Признак того, что доп вечерняя сессия будет проводиться |
eve_begin | t | Время начала доп. вечерней сессии |
eve_end | t | Время окончания доп. вечерней сессии |
mon_on | i1 | Признак того, что доп утренняя сессия будет проводиться |
mon_begin | t | Время начала доп. утренней сессии |
mon_end | t | Время окончания доп. утренней сессии |
pos_transfer_begin | t | Начало интервала переноса позиций |
pos_transfer_end | t | Конец интервала переноса позиций |
Примечания:
Поля pos_transfer_begin и pos_transfer_end обозначают период во время торговой сессии, в течение которого действует особый режим заключения сделок по инструменту с поставкой в текущий торговый день. Во время действия данного режима запрещены все заявки по указанному инструменту, за исключением адресных заявок внутри одной РФ.
Поле state может принимать следующие значения:
Сессия назначена. Нельзя ставить заявки, но можно удалять.
Сессия идет. Можно ставить и удалять заявки.
Приостановка торгов по всем инструментам. Нельзя ставить заявки, но можно удалять.
Сессия принудительно завершена. Нельзя ставить и удалять заявки.
Сессия завершена по времени. Нельзя ставить и удалять заявки.
Поле inter_cl_state выдается (по битово):
Неопределен. Можно ставить и удалять заявки.
Будущий на сегодня. Можно ставить и удалять заявки.
Отменен. Можно ставить и удалять заявки.
Текущий, т.е. идет, ничего нельзя. Нельзя ставить и удалять заявки.
Текущий, т.е. идет (по времени), но фактически завершен и уже можно выкачиваться, снимать заявки. Нельзя ставить заявки, но можно удалять.
Успешно завершен (в т.ч. и по времени). Можно ставить и удалять заявки.
Таблица 47. Поля таблицы multileg_dict
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой код связки |
isin_id_leg | i4 | Уникальный код инструмента, входящего в связку |
qty_ratio | i4 | Коэффициент количества |
Примечания:
Смысл поля qty_ratio состоит в указании количества и направления инструмента, входящего в связку: если значение qty_ratio > 0, то данный инструмент входит в связку с тем же направлением, с каким и заявка по связке, если qty_ratio < 0 – с противоположным. Абсолютное значение qty_ratio определяет коэффициент, на который умножается количество единиц инструмента-связки в заявке для получения количества единиц инструмента isin_id_leg.
Таблица содержит справочник инструментов, назначенных к торгам в сессию.
Таблица 48. Поля таблицы fut_sess_contents
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
short_isin | c25 | Описатель инструмента |
isin | c25 | Символьный код инструмента |
name | c75 | Наименование инструмента |
inst_term | i4 | Смещение от спота |
code_vcb | c25 | Код базового актива |
is_limited | i1 | Признак наличия лимитов в торгах |
limit_up | d16.5 | Верхний лимит цены |
limit_down | d16.5 | Нижний лимит цены |
old_kotir | d16.5 | Скорректированная расчетная цена предыдущей сессии |
buy_deposit | d16.2 | ГО покупателя |
sell_deposit | d16.2 | ГО продавца |
roundto | i4 | Количество знаков после запятой в цене |
min_step | d16.5 | Минимальный шаг цены |
lot_volume | i4 | К-во единиц базового актива в инструменте |
step_price | d16.5 | Стоимость шага цены |
d_pg | t | Дата окончания обращения инструмента |
is_spread | i1 | Признак вхождения фьючерса в межмесячный спрэд. 1 – входит; 0 – не входит |
coeff | d9.6 | Коэффициент межмесячного спрэда |
d_exp | t | Дата исполнения инструмента |
is_percent | i1 | Признак контракта. 0 – обычный фьючерс, 1 – процентный фьючерс, 2 – фьючерс на погоду и электричество, 3 – фьючерс на евробонды, 4 - фьючерс на ставку РЕПО |
percent_rate | d6.2 | Процентная ставка для расчета вариационной маржи по процентным фьючерсам |
last_cl_quote | d16.5 | Котировка после последнего клиринга |
signs | i4 | Поле признаков |
is_trade_evening | i1 | Признак торговли в вечернюю сессию |
ticker | i4 | Уникальный числовой код Главного Спота |
state | i4 | Состояние торговли по инструменту |
price_dir | i1 | Направление цены инструмента |
multileg_type | i4 | Тип связки |
legs_qty | i4 | Количество инструментов в связке |
step_price_clr | d16.5 | Cтоимость шага цены вечернего клиринга |
step_price_interclr | d16.5 | Cтоимость шага цены пром. клиринга |
step_price_curr | d16.5 | Стоимость минимального шага цены, выраженная в валюте |
d_start | t | Дата ввода инструмента в обращение |
exch_pay | d16.5 | Биржевой сбор |
pctyield_coeff | d16.5 | Коэффициент для вычисления доходности по фьючерсам на процентные ставки |
pctyield_total | d16.5 | Сумма ставок для вычисления доходности по фьючерсам на процентные ставки |
Примечания:
Состояние сессии имеет приоритет над состоянием инструмента. То есть, если сессия находится в состоянии «приостановлена» или «завершена», то по всем инструмента нельзя торговать, независимо от значения state в инструменте.
Поле state может принимать следующие значения:
Сессия по этому инструменту назначена. Нельзя ставить заявки, но можно удалять по этому инструменту.
Сессия по этому инструменту идет. Можно ставить и удалять заявки по этому инструменту.
Приостановка торгов по всем инструментам. Нельзя ставить заявки, но можно удалять.
Сессия по этому инструменту принудительно завершена. Нельзя ставить и удалять заявки по этому инструменту.
Сессия по этому инструменту завершена по времени. Нельзя ставить и удалять заявки по этому инструменту.
Приостановка торгов по этому инструменту. Нельзя ставить заявки, но можно удалять по этому инструменту.
Поле signs является битовой маской и может принимать следующие значения:
Признак торговли в вечернюю сессию
Маржируемый (1) или с уплатой премии (0)
Признак анонимной торговли
Признак неанонимной торговли
Признак торговли в основную сессию
Признак инструмента-связки
Признак основной цены для составных инструментов:
0 - инструмент котируется в своп-цене
1 - инструмент котируется в ставке
Значение признака влияет на смысл поля цены для данного инструмента в потоках со стаканами.
Поле price_dir может принимать следующие значения:
Стандартный порядок сортировки цен
Обратный порядок сортировки цен
Поле multileg_type может принимать следующие значения:
Обычный инструмент - не связка
Связка, торгуемая в режиме Репо
Наличие данного признака означает, что инструмент может торговаться как в режиме Репо, так и в режиме связанных заявок.
Валютный своп
Календарный спред
Поле is_trade_evening является битовой маской:
Инструмент не торгуется
Инструмент торгуется в вечернюю сессию
Инструмент торгуется в дневную сессию
Таблица 49. Поля таблицы fut_instruments
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
short_isin | c25 | Описатель инструмента |
isin | c25 | Символьный код инструмента |
name | c75 | Наименование инструмента |
inst_term | i4 | Смещение от спота |
code_vcb | c25 | Код базового актива |
is_limited | i1 | Признак наличия лимитов в торгах |
old_kotir | d16.5 | Скорректированная расчетная цена предыдущей сессии |
roundto | i4 | Количество знаков после запятой в цене |
min_step | d16.5 | Минимальный шаг цены |
lot_volume | i4 | К-во единиц базового актива в инструменте |
step_price | d16.5 | Стоимость шага цены |
d_pg | t | Дата окончания обращения инструмента |
is_spread | i1 | Признак вхождения фьючерса в межмесячный спрэд. 1 – входит; 0 – не входит |
coeff | d9.6 | Коэффициент межмесячного спрэда |
d_exp | t | Дата исполнения инструмента |
is_percent | i1 | Признак контракта. 0 – обычный фьючерс, 1 – процентный фьючерс, 2 – фьючерс на погоду и электричество, 3 – фьючерс на евробонды, 4 - фьючерс на ставку РЕПО |
percent_rate | d6.2 | Процентная ставка для расчета вариационной маржи по процентным фьючерсам |
last_cl_quote | d16.5 | Котировка после последнего клиринга |
signs | i4 | Поле признаков |
volat_min | d20.15 | Нижняя граница волатильности |
volat_max | d20.15 | Верхняя граница волатильности |
price_dir | i1 | Направление цены инструмента |
multileg_type | i4 | Тип связки |
legs_qty | i4 | Количество инструментов в связке |
step_price_clr | d16.5 | Cтоимость шага цены вечернего клиринга |
step_price_interclr | d16.5 | Cтоимость шага цены пром. клиринга |
step_price_curr | d16.5 | Стоимость минимального шага цены, выраженная в валюте |
d_start | t | Дата ввода инструмента в обращение |
is_limit_opt | i1 | Рассчитывать ли лимиты по опционам на этот базовый фьючерс, 1-да, 0-нет |
limit_up_opt | d5.2 | Для опционов в деньгах: верхний лимит отклонения от волатильности центрального страйка |
limit_down_opt | d5.2 | Для опционов в деньгах: нижний лимит отклонения от волатильности центрального страйка |
adm_lim | d16.5 | Для опционов в деньгах: лимит отклонения теоретической цены, установленный администратором |
adm_lim_offmoney | d16.5 | Для опционов вне денег: лимит отклонения теоретической цены |
apply_adm_limit | i1 | Для опционов в деньгах: 1 - применять лимит, установленный администратором, 0 - применять лимиты отклонения волатильности |
pctyield_coeff | d16.5 | Коэффициент для вычисления доходности по фьючерсам на процентные ставки |
pctyield_total | d16.5 | Сумма ставок для вычисления доходности по фьючерсам на процентные ставки |
Таблица 50. Поля таблицы diler
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
client_code | c7 | Код клиента |
name | c200 | Наименование фирмы |
rts_code | c50 | Код РТС фирмы |
transfer_code | c7 | Код счета для переноса позиции |
status | i4 | Признак обособленности раздела |
Примечания:
Поля client_code, name, transfer_code заполняются только для своих фирм.
Поле status является битовой маской:
0x01 - ДУ раздел
0x02 - обособленный регистр
0x04 - БФ является ДУ
Примечания:
Поле status является битовой маской:
0x01 - ДУ раздел
0x02 - обособленный регистр
0x04 - БФ является ДУ
Таблица содержит расчетные цены по инструментам по результатам прошедшего клиринга.
Таблица 52. Поля таблицы fut_sess_settl
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
date_clr | t | Дата клиринга |
isin | c25 | Символьный код инструмента |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
settl_price | d16.5 | Расчетная цена |
Таблица 53. Поля таблицы sys_messages
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
msg_id | i4 | Уникальный идентификатор сообщения |
moment | t | Дата и время регистрации сообщения |
lang_code | c8 | Язык сообщения |
urgency | i1 | Признак срочности сообщения |
status | i1 | Статус сообщения |
text | c255 | Краткий текст сообщения |
message_body | c4000 | Полный текст сообщения |
Таблица 54. Поля таблицы prohibition
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
prohib_id | i4 | Номер запрета |
client_code | c7 | Код клиента |
initiator | i4 | Инициатор запрета |
section | c50 | Секция |
code_vcb | c25 | Код базового актива |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
priority | i4 | Приоритет запрета |
group_mask | i8 | Битовая маска групп, по которым действует запрет |
type | i4 | Тип запрета |
is_legacy | i4 | Признак добавления запретов через legacy-команды |
Примечания:
Поле Initiator - Инициатор запрета:
БФ;
Главный трейдер РФ;
Администратор КЦ;
Администратор ТС.
Поле Type - Тип запрета
Всё разрешено (при отмене действующего запрета с меньшим приоритетом, иначе - просто удалить строку);
запрет открытия позиций;
запрет всех торговых операций;
запрет открытия позиций в продажу;
запрет брокера на подачу заявок на Экспирацию.
Заявки на Экспирацию разрешено подавать только Главному трейдеру.
Поле ProhibitionGroupMask - Битовая маска типов инструментов:
T+0
T+1
T+2
...
T+27
T-1
споты
фьючерсы
опционы
Поле Priority - От максимального приоритета к минимальному:
9
8
7
6
5
4
3
2
1
Поле SectionID - Название:
Фондовая
Товарная
Денежная
MOSENEX
SPBEX
SPBEX_OAO
NAMEX
Таблица 55. Поля таблицы rates
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
rate_id | i4 | Идентификатор валюты платежа |
curr_base | c15 | Код базовой валюты |
curr_coupled | c15 | Код сопряжённой валюты |
radius | d16.5 | Радиус изменения цены индикатора в процентах |
Примечания:
Возможные типы событий
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"
Денежные средства после промклиринга пересчитаны
Таблицы:
Таблица 57. Поля таблицы opt_rejected_orders
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
order_id | i8 | Номер заявки |
sess_id | i4 | Идентификатор торговой сессии |
client_code | c7 | Код клиента |
moment | t | Время изменения состояния заявки |
moment_reject | t | Время, когда заявка была отвергнута |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
dir | i1 | Направление |
amount | i4 | Объём, количество единиц инструмента |
price | d16.5 | Цена |
date_exp | t | Дата истечения заявки |
id_ord1 | i8 | Номер первой заявки |
ret_code | i4 | Код возврата процедуры перепостановки |
ret_message | c255 | Текст сообщения о причине отвержения заявки при перепостановке |
comment | c20 | Комментарий трейдера |
login_from | c20 | Логин пользователя, поставившего заявку |
ext_id | i4 | Внешний номер |
Таблица 58. Поля таблицы opt_intercl_info
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
client_code | c7 | Код клиента |
vm_intercl | d16.2 | Вариационная маржа, списанная или полученная в пром. клиринг |
Таблица 59. Поля таблицы opt_exp_orders
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
exporder_id | i8 | Идентификатор заявки на экспирацию |
client_code | c7 | Код клиента |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
amount | i4 | Количество экспирируемых позиций |
sess_id | i4 | Идентификатор торговой сессии |
date | t | Дата и время |
amount_apply | i4 | Кол-во в заявках на момент пром.клиринга |
Таблица содержит справочник базовых контрактов для инструментов.
Таблица 60. Поля таблицы opt_vcb
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
code_vcb | c25 | Код базового актива |
name | c75 | Наименование |
exec_type | c1 | Тип исполнения |
curr | c3 | Валюта платежа |
exch_pay | d16.2 | Биржевой сбор за 1 контракт в рублях |
exch_pay_scalped | i1 | Признак скальпирования биржевого сбора |
clear_pay | d16.2 | Клиринговый сбор за 1 контракт в рублях |
clear_pay_scalped | i1 | Признак скальпирования клирингового сбора |
sell_fee | d7.3 | Комиссия с продавца. Не используется |
buy_fee | d7.3 | Комиссия с покупателя. Не используется |
trade_scheme | c1 | Форма торгов |
coeff_out | d7.3 | Коэффициент приближенности 'внелимитных' опционов |
is_spec | i1 | 1-по этому контракту шлюз (и его фирма) является специалистом по запросам на котировку |
spec_spread | d16.5 | Спред специалиста |
min_vol | i4 | Минимальный объем в котировках специалиста |
client_code | c7 | Код клиента |
rate_id | i4 | Идентификатор курса |
Таблица содержит справочник инструментов, назначенных к торгам в сессию.
Таблица 61. Поля таблицы opt_sess_contents
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
isin | c25 | Символьный код инструмента |
short_isin | c25 | Описатель инструмента |
name | c75 | Наименование инструмента |
code_vcb | c25 | Код базового актива |
fut_isin_id | i4 | Код фьючерсного инструмента |
is_limited | i1 | Признак наличия лимитов в торгах |
limit_up | d16.5 | Верхний лимит премии |
limit_down | d16.5 | Нижний лимит премии |
old_kotir | d16.5 | Котировка (Теоретическая цена опциона) предыдущей сессии |
bgo_c | d16.2 | Базовое ГО под одну покрытую позицию подписчика (руб) |
bgo_nc | d16.2 | Базовое ГО под одну непокрытую позицию подписчика (руб) |
europe | i1 | Разновидность опциона. 0 - американский опцион, 1 - европейский опцион |
put | i1 | Тип опциона. 0 - Call опцион,1 - Put опцион |
strike | d16.5 | Цена страйк |
roundto | i4 | Количество знаков после запятой в цене |
min_step | d16.5 | Минимальный шаг премии |
lot_volume | i4 | К-во единиц базового актива в инструменте |
step_price | d16.5 | Стоимость шага премии |
d_pg | t | Дата окончания обращения инструмента |
d_exec_beg | t | Дата начала экспирации инструмента |
d_exec_end | t | Дата окончания экспирации инструмента |
signs | i4 | Поле признаков |
last_cl_quote | d16.5 | Расчетная Цена (Теоретическая цена опциона) после последнего клиринга |
bgo_buy | d16.2 | Базовое ГО под покупку маржируемого опциона |
base_isin_id | i4 | Числовой идентификатор базового инструмента |
d_start | t | Дата ввода инструмента в обращение |
exch_pay | d16.2 | Биржевой сбор за 1 контракт в рублях |
Примечания:
Поле signs является битовой маской и принимает следующие значения:
Признак торговли в вечернюю сессию
Маржируемый (1) или с уплатой премии (0)
Признак анонимной торговли
Признак неанонимной торговли
Признак торговли в основную сессию
Таблица содержит значения волатильности и теоретической по инструментам по результатам прошедшего клиринга.
Таблица 62. Поля таблицы opt_sess_settl
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
date_clr | t | Дата клиринга |
isin | c25 | Символьный код инструмента |
isin_id | i4 | Уникальный числовой идентификатор иструмента |
volat | d16.5 | Волатильность опциона |
theor_price | d16.5 | Теоретическая цена опциона |
Примечания:
Возможные типы событий
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"
Денежные средства после промклиринга пересчитаны
Таблицы:
Таблица 64. Поля таблицы volat_coeff
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
a | d16.10 | Коэффициент A параметрической кривой волатильности |
b | d16.10 | Коэффициент B параметрической кривой волатильности |
c | d16.10 | Коэффициент C параметрической кривой волатильности |
d | d16.10 | Коэффициент D параметрической кривой волатильности |
e | d16.10 | Коэффициент E параметрической кривой волатильности |
s | d16.10 | Коэффициент S параметрической кривой волатильности |
Таблицы:
Таблица 65. Поля таблицы fut_MM_info
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
sess_id | i4 | Идентификатор торговой сессии |
spread | d16.5 | Спред в пунктах |
price_edge_sell | d16.5 | Цена худшей заявки на продажу, вошедшей в спред |
amount_sells | i4 | Кол-во контрактов в заявках на продажу, входящих в спред |
price_edge_buy | d16.5 | Цена худшей заявки на покупку, вошедшей в спред |
amount_buys | i4 | Кол-во контрактов в заявках на покупку, входящих в спред |
mm_spread | d16.5 | Спред по договору |
mm_amount | i4 | Кол-во по договору |
spread_sign | i1 | Признак: 1 – спред не держится, 0 – держится |
amount_sign | i1 | Признак: 1 – кол-во не держится, 0 – держится |
percent_time | d6.2 | Процент выполнения Обязательств |
period_start | t | Начало периода действия правил ММ |
period_end | t | Окончание периода действия правил ММ |
client_code | c7 | Код клиента |
active_sign | i4 | Признак: 1 – запись удалена (стала не активна), 0 – активна |
agmt_id | i4 | Идентификатор обязательства ММ |
fulfil_min | d6.2 | Процент минимального исполнения обязательств за торговую сессию |
fulfil_partial | d6.2 | Процент частичного исполнения обязательств за торговую сессию |
fulfil_total | d6.2 | Процент полного исполнения обязательств за торговую сессию |
is_fulfil_min | i1 | Признак минимального исполнения обязательств в текущий момент |
is_fulfil_partial | i1 | Признак частичного исполнения обязательств в текущий момент |
is_fulfil_total | i1 | Признак полного исполнения обязательств в текущий момент |
is_rf | i1 | Признак обязательства расчетной фирмы |
id_group | i4 | Идентификатор маркет-мейкерской связки |
Примечания: В таблице fut_MM_info потока FORTS_MM_REPL транслируются обязательства маркет-мейкеров с детализацией до семизначного клиентского кода.
Таблица 66. Поля таблицы opt_MM_info
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
sess_id | i4 | Идентификатор торговой сессии |
spread | d16.5 | Спред в пунктах |
price_edge_sell | d16.5 | Цена худшей заявки на продажу, вошедшей в спред |
amount_sells | i4 | Кол-во контрактов в заявках на продажу, входящих в спред |
price_edge_buy | d16.5 | Цена худшей заявки на покупку, вошедшей в спред |
amount_buys | i4 | Кол-во контрактов в заявках на покупку, входящих в спред |
mm_spread | d16.5 | Спред по договору |
mm_amount | i4 | Кол-во по договору |
spread_sign | i1 | Признак: 1 – спред не держится, 0 – держится |
amount_sign | i1 | Признак: 1 – кол-во не держится, 0 – держится |
percent_time | d6.2 | Процент выполнения Обязательств |
period_start | t | Начало периода действия правил ММ |
period_end | t | Окончание периода действия правил ММ |
client_code | c7 | Код клиента |
cstrike_offset | d16.5 | Смещение от центрального страйка |
active_sign | i4 | Признак: 1 – запись удалена (стала не активна), 0 – активна |
agmt_id | i4 | Идентификатор обязательства ММ |
fulfil_min | d6.2 | Процент минимального исполнения обязательств за торговую сессию |
fulfil_partial | d6.2 | Процент частичного исполнения обязательств за торговую сессию |
fulfil_total | d6.2 | Процент полного исполнения обязательств за торговую сессию |
is_fulfil_min | i1 | Признак минимального исполнения обязательств в текущий момент |
is_fulfil_partial | i1 | Признак частичного исполнения обязательств в текущий момент |
is_fulfil_total | i1 | Признак полного исполнения обязательств в текущий момент |
is_rf | i1 | Признак обязательства расчетной фирмы |
id_group | i4 | Идентификатор маркет-мейкерской связки |
Примечания: В таблице opt_MM_info потока FORTS_MM_REPL транслируются обязательства маркет-мейкеров с детализацией до семизначного клиентского кода.
Таблицы:
Таблица 69. Поля таблицы money_clearing
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
client_code | c7 | Код клиента |
share | i1 | Тип счета |
amount_beg | d16.2 | Денег на начало дня |
vm | d16.2 | Вариационная маржа, включая вариационную маржу по маржируемым опционам |
premium | d16.2 | Опционная премия |
pay | d16.2 | Движение по счету |
fee_fut | d16.2 | Фьючерсный биржевой сбор |
fee_opt | d16.2 | Опционный биржевой сбор |
go | d16.2 | Суммарное ГО по фьючерсам и опционам |
amount_end | d21.2 | На конец дня |
free | d22.2 | Свободно средств |
ext_reserve | d26.2 | Дополнительный резерв |
Примечания:
Для инструментов RUONIA поле ext_reserve содержит сумму средств, зарезервированных под возможное изменение ставки RUONIA
Таблица 70. Поля таблицы clr_rate
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
rate | d16.5 | Значение индекса |
moment | t | Момент фиксирования значения |
signs | i1 | Признаки, соответствующие данному значению |
sess_id | i4 | Идентификатор торговой сессии |
rate_id | i4 | Идентификатор курса |
Таблица 71. Поля таблицы fut_pos
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
sess_id | i4 | Идентификатор торговой сессии |
isin | c25 | Символьный код инструмента |
client_code | c7 | Код клиента |
account | i1 | Тип счета (0 - РФ; 1 - БФ; 2 - клиент) |
pos_beg | i4 | Позиция на начало дня |
pos_end | i4 | Позиция на конец дня |
vm | d16.2 | Суммарная ВМ по итогам основного клиринга для клиента/фирмы и инструмента |
fee | d16.2 | Суммарный сбор для клиента/фирмы и инструмента |
accum_go | d16.2 | Накопленный ГП |
fee_ex | d16.2 | Биржевой сбор |
vat_ex | d16.2 | НДС в составе биржевого сбора |
fee_cc | d16.2 | Клиринговый сбор |
vat_cc | d16.2 | НДС в составе клирингового сбора |
Таблица 72. Поля таблицы opt_pos
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
sess_id | i4 | Идентификатор торговой сессии |
isin | c25 | Символьный код инструмента |
client_code | c7 | Код клиента |
account | i1 | Тип счета (0 - РФ; 1 - БФ; 2 - клиент) |
pos_beg | i4 | Позиция на начало дня |
pos_end | i4 | Позиция на конец дня |
vm | d16.2 | Суммарная ВМ по итогам основного клиринга для клиента/фирмы и инструмента. Равно сумме полей VAR_MARG_P и VAR_MARG_D |
fee | d16.2 | Суммарный сбор для клиента/фирмы и инструмента. Совпадает с полем SBOR из отчетов |
fee_ex | d16.2 | Биржевой сбор |
vat_ex | d16.2 | НДС в составе биржевого сбора |
fee_cc | d16.2 | Клиринговый сбор |
vat_cc | d16.2 | НДС в составе клирингового сбора |
Таблица 73. Поля таблицы fut_sess_settl
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
date_clr | t | Дата клиринга |
isin | c25 | Символьный код инструмента |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
settl_price | d16.5 | Расчетная цена |
Таблица 74. Поля таблицы opt_sess_settl
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
sess_id | i4 | Идентификатор торговой сессии |
date_clr | t | Дата клиринга |
isin | c25 | Символьный код инструмента |
isin_id | i4 | Уникальный числовой идентификатор иструмента |
volat | d16.5 | Волатильность опциона |
theor_price | d16.5 | Теоретическая цена опциона |
Таблица 75. Поля таблицы pledge_details
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
client_code | c7 | Код клиента |
pledge_name | c10 | Код иностранной валюты или ценной бумаги |
amount_beg | d10.0 | Количество ценных бумаг или иностранной валюты на начало сессии |
pay | d10.0 | Сумма вводов-выводов в штуках ценных бумаг или иностранной валюты |
amount | d10.0 | Количество ценных бумаг или иностранной валюты на текущий момент |
rate | d16.5 | Оценочная стоимость единицы иностранной валюты или одной ценной бумаги в рублях РФ |
amount_beg_money | d16.2 | Количество ценных бумаг или иностранной валюты на начало сессии в рублях РФ |
pay_money | d16.2 | Сумма вводов-выводов в штуках ценных бумаг или иностранной валюты в рублях РФ |
amount_money | d16.2 | Количество ценных бумаг или иностранной валюты на текущий момент в рублях РФ |
com_ensure | i1 | Тип cредств обеспечения |
Примечания:
Поле amount_money - Количество ценных бумаг или иностранной валюты на текущий момент (в рублях РФ) (рассчитывается как «amount» * «rate»)
Поле amount_beg_money - Количество ценных бумаг или иностранной валюты на начало сессии (в рублях РФ) (рассчитывается как «amount_beg» * «rate»)
Поле pay_money - Сумма вводов-выводов в штуках ценных бумаг или иностранной валюты (в рублях РФ) (рассчитывается как «pay» * «rate»)
Поле com_ensure - Тип cредств обеспечения:
средства частичного обеспечения;
средства полного обеспечения.
Таблицы:
Таблица содержит данные о значениях биржевых индексов.
Таблица 77. Поля таблицы rts_index
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
name | c25 | Имя индекса |
moment | t | Момент последнего расчета |
value | d18.4 | Значение индекса |
prev_close_value | d18.4 | Значение индекса на закрытие предыдущей торговой сессии |
open_value | d18.4 | Значение индекса на открытие текущей торговой сессии |
max_value | d18.4 | Максимальное значение индекса в течение текущей торговой сессии |
min_value | d18.4 | Минимальное значение индекса в течение текущей торговой сессии |
usd_rate | d10.4 | Для индексов, в которых учитываются как рублевые, так и долларовые цены инструментов – курс рубля к доллару, использовавшийся для расчета |
cap | d18.4 | Капитализация бумаг, входящих в индекс |
volume | d18.4 | Объём сделок, входящих в индекс |
Таблицы:
Таблица содержит журнал значений биржевых индексов за текущий день. Очистка таблицы производится во время ночных регламентных работ.
Таблица 78. Поля таблицы rts_index_log
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
name | c25 | Имя индекса |
moment | t | Момент последнего расчета |
value | d18.4 | Значение индекса |
prev_close_value | d18.4 | Значение индекса на закрытие предыдущей торговой сессии |
open_value | d18.4 | Значение индекса на открытие текущей торговой сессии |
max_value | d18.4 | Максимальное значение индекса в течение текущей торговой сессии |
min_value | d18.4 | Минимальное значение индекса в течение текущей торговой сессии |
usd_rate | d10.4 | Для индексов, в которых учитываются как рублевые, так и долларовые цены инструментов – курс рубля к доллару, использовавшийся для расчета |
cap | d18.4 | Капитализация бумаг, входящих в индекс |
volume | d18.4 | Объём сделок, входящих в индекс |
Таблицы:
Таблица 79. Поля таблицы fut_vm
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
sess_id | i4 | Идентификатор торговой сессии |
client_code | c7 | Код клиента |
vm | d16.5 | Накопленная по сделкам вариационная маржа по фьючерсам, рассчитанная по текущей котировке |
vm_real | d16.5 | Накопленная по сделкам вариационная маржа по фьючерсам, рассчитанная по текущей рыночной котировке |
Таблица 80. Поля таблицы opt_vm
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
sess_id | i4 | Идентификатор торговой сессии |
client_code | c7 | Код клиента |
vm | d16.5 | Накопленная по сделкам вариационная маржа по маржируемым опционам, рассчитанная по текущей опционной котировке |
vm_real | d16.5 | Накопленная по сделкам вариационная маржа по маржируемым опционам, рассчитанная по текущей опционной котировке |
Таблицы:
Таблица 81. Поля таблицы volat
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
sess_id | i4 | Идентификатор торговой сессии |
volat | d16.5 | Волатильность опциона |
theor_price | d16.5 | Теоретическая цена опциона |
theor_price_limit | d16.5 | Теоретическая цена опциона с учетом лимитов |
up_prem | d16.5 | Верхний лимит премии по опциону |
down_prem | d16.5 | Нижний лимит премии по опциону |
Таблицы:
Таблица 82. Поля таблицы base_contracts_params
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
code_vcb | c25 | Код базового контракта |
code_mcs | c25 | Код межконтрактного спрэда |
volat_num | i1 | Количество кривых волатильности |
points_num | i1 | Количество точек риска |
subrisk_step | f | Шаг подточек риска |
is_percent | i1 | Признак контракта |
percent_rate | d16.5 | Процентная ставка (для контрактов на ставки) |
currency_volat | d16.5 | Волатильность курса валюты |
is_usd | i1 | Признак расчета в долларах |
usd_rate_curv_radius | f | Радиус кривизны курса валюты |
somc | f | Ставка ГО по непокрытым продажам (в рублях) |
Примечания:
Поле is_percent может принимать следующие значения:
обычный фьючерс
процентный фьючерс
фьючерс на погоду и электричество
фьючерс на евробонды
фьючерс на ставку РЕПО
Таблица 83. Поля таблицы futures_params
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin | c25 | Идентификатор инструмента |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
code_vcb | c25 | Код базового контракта |
limit | f | Лимит колебания цены контракта |
settl_price | d16.5 | Расчетная цена |
spread_aspect | i1 | Признак вхождения в спрэд |
subrisk | i1 | Признак учета рисков по подточкам риска |
step_price | f | Цена минимального шага |
base_go | d26.2 | Базовое ГО |
exp_date | t | Дата экспирации |
spot_signs | i1 | Признак спот-фьючерса |
settl_price_real | d16.5 | Реальная расчетная цена фьючерса |
min_step | f | Минимальный шаг изменения цены |
Примечания:
Поле spread_aspect может принимать следующие значения:
Не входит в спрэд
Входит в межмесячный спрэд
Поле spot_signs может принимать следующие значения:
Обычный фьючерс
Спот
Главный спот
Таблица 84. Поля таблицы virtual_futures_params
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin | c25 | Идентификатор инструмента |
isin_base | c25 | Код реального фьючерса |
is_net_positive | i1 | Признак учета положительных рисков по данному виртуальному фьючерсу |
volat_range | f | Коридор волатильности |
t_squared | f | Величина квадратного корня из времени до экспирации опционов на данный виртуальный фьючерс |
max_addrisk | f | Ограничение сверху на дополнительные риски |
a | f | Параметр a |
b | f | Параметр b |
c | f | Параметр c |
d | f | Параметр d |
e | f | Параметр e |
s | f | Параметр s |
exp_date | t | Дата экспирации |
fut_type | i1 | Признак маржинальной системы расчетов для опционов, привязанных к данному ВФ |
use_null_volat | i1 | Признак нулевой волатильности |
allow_use_extra_exp_risk | i1 | Разрешить брокеру включать расчёт дополнительных рисков экспирации по опционам в портфеле клиента |
calc_extra_exp_risk | i1 | Принудительно рассчитывать дополнительные риски экспирации по опционам |
Таблица 85. Поля таблицы options_params
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
isin | c25 | Идентификатор инструмента |
isin_id | i4 | Уникальный числовой идентификатор инструмента |
isin_base | c25 | Код виртуального фьючерса |
strike | d16.5 | Страйк опциона |
opt_type | i1 | Тип опциона: 1 - PUT, 2 - CALL |
settl_price | d16.5 | Расчетная цена |
base_go_sell | d26.2 | Базовое ГО на продажу |
synth_base_go | d26.2 | Базовое ГО по синтетической позиции на продажу |
base_go_buy | d26.2 | Базовое ГО на покупку |
Таблица 86. Поля таблицы broker_params
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
broker_code | c7 | Код брокерской фирмы |
code_vcb | c25 | Код базового актива |
limit_spot_sell | i4 | В данный момент не используются |
used_limit_spot_sell | i4 | В данный момент не используются |
Таблица 87. Поля таблицы client_params
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
client_code | c7 | Код клиента |
code_vcb | c25 | Код базового актива |
coeff_go | d16.5 | Коэффициент ГО |
limit_spot_sell | i4 | В данный момент не используются |
used_limit_spot_sell | i4 | В данный момент не используются |
Примечания:
Возможные типы событий
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"
Денежные средства после промклиринга пересчитаны
Таблицы:
Таблица 89. Поля таблицы fee_all
Поле | Тип | Описание |
---|---|---|
replID | i8 | Служебное поле подсистемы репликации |
replRev | i8 | Служебное поле подсистемы репликации |
replAct | i8 | Служебное поле подсистемы репликации |
time | i8 | Время |
p2login | c64 | Логин |
sess_id | i4 | Номер сессии |
points | i4 | Количество начисленных баллов за секунду из time |
fee | d16.2 | Сбор за некорректные транзакции к моменту time |
Тип сообщения: 64
Тип ответного сообщения: 101
Таблица 92. Входящие параметры
Имя параметра | Тип | Значение по умолчанию | Описание |
---|---|---|---|
isin | c25 | Код инструмента | |
client_code | c3 | Код клиента | |
type | i4 | Вид заявки | |
dir | i4 | Направления заявки | |
amount | i4 | Количество единиц инструмента | |
price | c17 | Цена заявки | |
comment | c20 | "" | Поле комментария. Добавляется в заявку, сделку. Может использоваться по собственному усмотрению разработчиков шлюза. |
broker_to | c20 | "" | Код РТС фирмы, которой адресована внесистемная заявка |
ext_id | i4 | 0 | Внешний номер. Добавляется в заявку, сделку |
du | i4 | 0 | Признак ДУ. Добавляется в заявку, сделку |
date_exp | c8 | "" | Дата истечения заявки. Добавляется в заявку. |
hedge | i4 | 0 | Признак хэдж-заявки |
dont_check_money | i4 | 0 | Признак расчета рисков по клиентскому разделу по данной заявке |
match_ref | c10 | "" | Текст-связка для однозначного соответствия двух встречных адресных заявок |
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Поле type
может
принимать следующие значения:
котировочная заявка (остаётся в очереди после частичного сведения)
встречная заявка (снимается после проведения аукциона)
заявка Fill-or-Kill
Поле dir
может
принимать следующие значения:
заявка на покупку
заявка на продажу
В поле price
задаётся цена заявки в строковом виде 'nnnnnnnnnn.mmmmm'.
В поле date_exp
задаётся дата истечения заявки в виде 'YYYYMMDD'. Если в качестве
данного параметра передаётся пустая строка, то заявка считается
обычной. При заданной дате заявка будет автоматически
перевыставляться в следующую сессию, но - получая при этом новый
номер и новое время. Таким образом получаются «многодневные»
заявки. Время их жизни – до истечения даты. Заявки с истекшей
датой будут автоматически сниматься после завершения вечерней
сессии (если она есть в этот день), уже ночью. При перевыставлении
делаются проверки на наличие инструмента, клиента, достаточности
средств. Допустимый диапазон даты: >= сегодняшнего дня, <=
одного года вперед.
Параметр заявки dont_check_money
принимает следующие
значения:
0 - проверять обеспечение на уровне клиентского раздела
1 - не проверять обеспечение на уровне клиентского раздела
Параметр может использоваться логином, имеющим специальное разрешение. В случае, если данный флаг будет установлен у заявки, подаваемой с логина, у которого данное разрешение отсутствует, заявка будет отвергнута.
Тип сообщения: 65
Тип ответного сообщения: 129
Осуществляет постановку заявки по составному инструменту - календарному спреду на фьючерс.
Таблица 94. Входящие параметры
Имя параметра | Тип | Значение по умолчанию | Описание |
---|---|---|---|
sess_id | i4 | 0 | Идентификатор сессии |
isin_id | i4 | Код инструмента-связки | |
client_code | c3 | Код клиента | |
type | i4 | Вид заявки | |
dir | i4 | Направления заявки | |
amount | i4 | Количество единиц инструмента | |
price | c17 | Цена заявки | |
rate_price | c17 | Своп-цена | |
comment | c20 | "" | Поле комментария. Добавляется в заявку, сделку. Может использоваться по собственному усмотрению разработчиков шлюза. |
hedge | i4 | 0 | Признак хэдж-заявки |
broker_to | c20 | "" | Код РТС фирмы, которой адресована внесистемная заявка |
ext_id | i4 | 0 | Внешний номер. Добавляется в заявку, сделку |
trust | i4 | 0 | Признак ДУ. Добавляется в заявку, сделку |
date_exp | c8 | "" | Дата истечения заявки. Добавляется в заявку. |
trade_mode | i4 | Тип заявки | |
dont_check_money | i4 | 0 | Признак расчета рисков по клиентскому разделу по данной заявке |
match_ref | c10 | "" | Текст-связка для однозначного соответствия двух встречных адресных заявок |
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Поле type
может
принимать следующие значения:
котировочная заявка (остаётся в очереди после частичного сведения)
встречная заявка (снимается после проведения аукциона)
заявка Fill-or-Kill
Поле dir
может
принимать следующие значения:
заявка на покупку
заявка на продажу
В поле price
задаётся
цена заявки в строковом виде 'nnnnnnnnnn.mmmmm'.
В поле date_exp
задаётся дата истечения заявки в виде 'YYYYMMDD'.
Поле trade_mode
может
принимать следующие значения:
Репо
Обычная заявка по связке
В поле sess_id
должен
быть указан номер сессии или 0, что означает выставление заявки в
текущую сессию.
Параметр заявки dont_check_money
принимает следующие
значения:
0 - проверять обеспечение на уровне клиентского раздела
1 - не проверять обеспечение на уровне клиентского раздела
Параметр может использоваться логином, имеющим специальное разрешение. В случае, если данный флаг будет установлен у заявки, подаваемой с логина, у которого данное разрешение отсутствует, заявка будет отвергнута.
Тип сообщения: 37
Тип ответного сообщения: 102
Таблица 96. Входящие параметры
Имя параметра | Тип | Значение по умолчанию | Описание |
---|---|---|---|
order_id | i8 | Код заявки для удаления |
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Код возврата = 14 (Не найдена заявка для удаления) означает, что такой заявки в очереди (уже) нет. Возможно, номер неправильный и ее сегодня вообще не было. Нет смысла повторно (а тем более многократно) посылать удаление с тем же номером. Особенно это актуально для автоматических систем.
Тип сообщения: 38
Тип ответного сообщения: 103
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Параметр buy_sell
может принимать следующие значения
Заявки на покупку
Заявки на продажу
Все заявки
все заявки вне лимитов (полезно после проведения пром. клиринга)
Параметр non_system
может принимать следующие значения
Обычные заявки
Внесистемные
Все
Если параметр code
не задан или его значение равно ‘%%%’, то производится удаление
заявок для всех клиентских счетов.
Если параметр code_vcb
не задан или его значение
равно ‘%’, то производится удаление заявок для всех контрактов.
В случае задания для параметра ext_id
значения, отличного от 0,
производится удаления всех заявок с соответствующим ext_id
; значения других параметров при
этом игнорируются; при этом их значения должны находится в
допустимом диапазоне.
Данная команда не может быть использована для удаления заявок по инструментам-связкам.
Тип сообщения: 39
Тип ответного сообщения: 105
Таблица 100. Входящие параметры
Имя параметра | Тип | Значение по умолчанию | Описание |
---|---|---|---|
regime | i4 | Режим работы команды | |
order_id1 | i8 | Номер первой удаляемой заявки | |
amount1 | i4 | 0 | Новое количество единиц инструмента для первой заявки |
price1 | c17 | "0" | Новая цена для первой заявки |
ext_id1 | i4 | 0 | Новый внешний номер для первой заявки |
order_id2 | i8 | 0 | Номер второй удаляемой заявки |
amount2 | i4 | 0 | Новое количество единиц инструмента для второй заявки |
price2 | c17 | "0" | Новая цена для второй заявки |
ext_id2 | i4 | 0 | Новый внешний номер для второй заявки |
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Параметр regime
определяет режим работы команды и может принимать следующие
значения:
Не менять объёмы заявок. Остается текущий фактический объем заявок в системе. Присланные количества игнорируются.
Изменить объёмы заявок. Если заявки найдены, вместо них выставляются заявки с присланными ценой и объемом.
Снять старые заявки. Если объем хотя бы одной из заявок не совпадает с присланным, удаляются обе заявки. Иначе - выполняется сдвиг.
Установить объемы заявок равными присланным за вычетом сведенной части заявки (не меньше 0). Если присланный объем меньше сведенной части заявки, удаляются обе заявки.
Для новых заявок проводится процедура аукциона.
Сдвиг заявок возможен только в рамках одного торгового инструмента. Только по одному клиентскому регистру.
Нельзя сдвигать заявки по связкам.
Нельзя сдвигать адресные заявки.
При сдвиге нельзя менять направление заявки.
Удаленная (или передвинутая, или полностью сведенная) заявка не перевыставляется; выдается сообщение об ошибке.
Если при сдвиге пары заявок одна из них не найдена или не может быть передвинута, действия со второй заявкой также не производятся с выдачей сообщения об ошибке.
Если две заявки противоположного направления сдвигаются таким образом, что цены заявок пересекаются, параметры считаются некорректными, сдвиг не выполняется, выдается сообщение об ошибке.
Если при сдвиге пары заявок одна из них наткнулась на кросс-сделку (сведение с заявкой от того же ИНН, либо клиентского регистра), она откатывается, а другая заявка сдвигается.
При передвижке заявок date_exp
переносятся в новые заявки.
В результатах обработки команды поля order_id1
и order_id2
заполняются номерами новых
заявок. В случае, если заявка не была выставлена, соответствующее
поле обнуляется.
Тип сообщения: 66
Тип ответного сообщения: 109
Таблица 102. Входящие параметры
Имя параметра | Тип | Значение по умолчанию | Описание |
---|---|---|---|
isin | c25 | Код инструмента | |
client_code | c3 | Код клиента | |
type | i4 | Вид заявки | |
dir | i4 | Направления заявки | |
amount | i4 | Количество единиц инструмента | |
price | c17 | Цена заявки | |
comment | c20 | "" | Поле комментария. Добавляется в заявку, сделку. Может использоваться по собственному усмотрению разработчиков шлюза. |
broker_to | c20 | "" | Код РТС фирмы, которой адресована внесистемная заявка |
ext_id | i4 | 0 | Внешний номер. Добавляется в заявку, сделку |
du | i4 | 0 | Признак ДУ. Добавляется в заявку, сделку |
check_limit | i4 | 0 | Признак проверки лимитов |
date_exp | c8 | "" | Дата истечения заявки. Добавляется в заявку. |
hedge | i4 | 0 | Признак хэдж-заявки |
dont_check_money | i4 | 0 | Признак расчета рисков по клиентскому разделу по данной заявке |
match_ref | c10 | "" | Текст-связка для однозначного соответствия двух встречных адресных заявок |
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Поле type
может
принимать следующие значения:
Котировочная заявка (остаётся в очереди после частичного сведения)
Встречная заявка (снимается после проведения аукциона)
Заявка Fill-or-Kill
Поле dir
может
принимать следующие значения:
заявка на покупку
заявка на продажу
В поле price
задаётся цена заявки в строковом виде 'nnnnnnnnnn.mmmmm'.
Поле check_limit
может принимать следующие значения:
Не выполнять проверку лимитов
Выполнять проверку лимитов
В поле date_exp
задаётся дата истечения заявки в виде 'YYYYMMDD'. Если в качестве
данного параметра передаётся пустая строка, то заявка считается
обычной. При заданной дате заявка будет автоматически
перевыставляться в следующую сессию, но - получая при этом новый
номер и новое время. Таким образом получаются «многодневные»
заявки. Время их жизни – до истечения даты. Заявки с истекшей
датой будут автоматически сниматься после завершения вечерней
сессии (если она есть в этот день), уже ночью. При перевыставлении
делаются проверки на наличие инструмента, клиента, достаточности
средств. Допустимый диапазон даты: >= сегодняшнего дня, <=
одного года вперед.
Параметр заявки dont_check_money
принимает следующие
значения:
0 - проверять обеспечение на уровне клиентского раздела
1 - не проверять обеспечение на уровне клиентского раздела
Параметр может использоваться логином, имеющим специальное разрешение. В случае, если данный флаг будет установлен у заявки, подаваемой с логина, у которого данное разрешение отсутствует, заявка будет отвергнута.
Тип сообщения: 42
Тип ответного сообщения: 110
Таблица 104. Входящие параметры
Имя параметра | Тип | Значение по умолчанию | Описание |
---|---|---|---|
order_id | i8 | Код заявки для удаления |
Коды возврата команды:
успех выполнения операции
ошибка
Тип сообщения: 43
Тип ответного сообщения: 111
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Параметр buy_sell
может принимать следующие значения
Заявки на покупку
Заявки на продажу
Все заявки
Параметр non_system
может принимать следующие значения
Обычные заявки
Внесистемные
Все
Если параметр code
не задан или его значение равно ‘%%%’, то производится удаление
заявок для всех клиентских счетов.
Если параметр code_vcb
не задан или его значение
равно ‘%’, то производится удаление заявок для всех контрактов.
В случае задания для параметра ext_id
значения, отличного от 0,
производится удаления всех заявок с соответствующим ext_id
; значения других параметров при
этом игнорируются; при этом их значения должны находится в
допустимом диапазоне.
Тип сообщения: 44
Тип ответного сообщения: 113
Таблица 108. Входящие параметры
Имя параметра | Тип | Значение по умолчанию | Описание |
---|---|---|---|
regime | i4 | Режим работы команды | |
order_id1 | i8 | Номер первой удаляемой заявки | |
amount1 | i4 | 0 | Новое количество единиц инструмента для первой заявки |
price1 | c17 | "0" | Новая цена для первой заявки |
ext_id1 | i4 | 0 | Новый внешний номер для первой заявки |
check_limit | i4 | 0 | Признак проверки лимитов |
order_id2 | i8 | 0 | Номер второй удаляемой заявки |
amount2 | i4 | 0 | Новое количество единиц инструмента для второй заявки |
price2 | c17 | "0" | Новая цена для второй заявки |
ext_id2 | i4 | 0 | Новый внешний номер для второй заявки |
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Параметр regime
определяет режим работы команды и может принимать следующие
значения:
Не менять объёмы заявок. Остается текущий фактический объем заявок в системе. Присланные количества игнорируются.
Изменить объёмы заявок. Если заявки найдены, вместо них выставляются заявки с присланными ценой и объемом.
Снять старые заявки. Если объем хотя бы одной из заявок не совпадает с присланным, удаляются обе заявки. Иначе - выполняется сдвиг.
Установить объемы заявок равными присланным за вычетом сведенной части заявки (не меньше 0). Если присланный объем меньше сведенной части заявки, удаляются обе заявки.
Поле check_limit
может принимать следующие значения:
Не выполнять проверку лимитов
Выполнять проверку лимитов
Для новых заявок проводится процедура аукциона.
Сдвиг заявок возможен только в рамках одного торгового инструмента. Только по одному клиентскому регистру.
Нельзя сдвигать заявки по связкам.
Нельзя сдвигать адресные заявки.
При сдвиге нельзя менять направление заявки.
Удаленная (или передвинутая, или полностью сведенная) заявка не перевыставляется; выдается сообщение об ошибке.
Если при сдвиге пары заявок одна из них не найдена или не может быть передвинута, действия со второй заявкой также не производятся с выдачей сообщения об ошибке.
Если две заявки противоположного направления сдвигаются таким образом, что цены заявок пересекаются, параметры считаются некорректными, сдвиг не выполняется, выдается сообщение об ошибке.
Если при сдвиге пары заявок одна из них наткнулась на кросс-сделку (сведение с заявкой от того же ИНН, либо клиентского регистра), она откатывается, а другая заявка сдвигается.
При передвижке заявок date_exp
переносятся в новые заявки.
В результатах обработки команды поля order_id1
и order_id2
заполняются номерами новых
заявок. В случае, если заявка не была выставлена, соответствующее
поле обнуляется.
Тип сообщения: 63
Тип ответного сообщения: 104
Процедура позволяет менять денежные лимиты по клиентскому счету.
Таблица 110. Входящие параметры
Имя параметра | Тип | Значение по умолчанию | Описание |
---|---|---|---|
mode | i4 | Режим работы команды | |
code | c3 | Код клиентского счета | |
limit_money | c17 | "0" | Лимит денежных средств |
limit_pledge | c17 | "0" | Лимит залоговых средств |
coeff_liquidity | c17 | "0" | Коэффициент ликвидности по фьючерсам |
coeff_go | c17 | "1" | Коэффициент клиентского ГО |
is_auto_update_limit | i4 | -1 | Признак автоматической коррекции лимита на величину дохода при закачке после клиринга |
is_auto_update_spot_limit | i4 | -1 | Признак автоматической коррекции Спотовых лимитов (продажа и покупка) при закачке после клиринга |
limit_spot_buy | c17 | "-1" | Лимит на Покупку Спотов |
no_fut_discount | i4 | 0 | Флаг запрета использования скидки по фьючерсам |
check_limit | i4 | 0 | Флаг разрешения или запрета проверки лимитов для клиента |
num_clr_2delivery | i4 | 0 | Количество клирингов, за которое включаются сценарии экспирации для расчета рисков по ближней неквартальной серии опционов для данного раздела |
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Режим работы команды (поле mode
):
Удалить рублевый лимит
Удалить залоговый лимит
Удалить рублевый, залоговый и спотовый лимиты
Установить лимиты денежных средств, залоговых средств и лимит на покупки спотов
Изменить лимиты денежных средств, залоговых средств
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
можно указать
следующие значения:
Использовать скидку по ГО на фьючерсах
Не использовать скидку по ГО на фьючерсах
В параметре check_limit
можно указать следующие
значения:
Не выполнять проверку, произвести безусловное изменение лимита
Выполнять проверку на неувеличение задолженности после изменения лимита
В параметре num_clr_2delivery
можно указать
количество клиринговых сессий до экспирации опционов, за которое
включается расчет дополнительных рисков экспирации. Расчет
дополнительных рисков применяется только по позициям и заявкам
опционов, привязанных к определенным опционным сериям. У таких
опционов запись в таблице virt_futures_params потока INFO имеет в
поле allow_use_extra_exp_risk значение 1
Пустая строка, заданная в поле типа c17, дает возможность при посылке команды не изменять значение параметра (лимиты, залоговые средства и прочие атрибуты), которое пользователь ранее уже отправил в торговую систему.
Значение -1, заданное в поле типа i4, дает возможность при посылке команды не изменять значение параметра, которое пользователь ранее уже отправил в торговую систему.
Тип сообщения: 33
Тип ответного сообщения: 106
Изменение клиентских параметров по базовым активам (БА). Процедура позволяет менять клиентские параметры по базовым активам.
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Поле mode
задает
режим работы команды:
удалить лимит
установить лимит
coeff_go
–
дополнительный коэффициент, на который умножается суммарное ГО по
клиенту при постановке заявки. Проверка на достаточность средств
осуществляется с учетом этого коэффициента.
limit_spot
- если
лимитировать клиента не нужно, а mode
=11 не задать, т.к. строка нужна
(есть другие параметры) - то задавайте этот параметр равным ‘-1’.
Внутренний тип переменной - int.
Тип сообщения: 14
Тип ответного сообщения: 114
Процедура позволяет менять параметры БФ по базовым активам.
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Поле mode
задает
режим работы команды:
удалить лимит
установить лимит
limit_spot
- если
лимитировать клиента не нужно, а mode
=11 не задать, т.к. строка нужна
(есть другие параметры) - то задавайте этот параметр равным ‘-1’.
Внутренний тип переменной - int.
Тип сообщения: 7
Тип ответного сообщения: 107
Процедура позволяет менять деньги по своим БФ. При этом, при увеличении счета БФ, недостающие деньги снимаются со счета самой РФ, а при уменьшении, деньги возвращаются на счет РФ.
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Режим работы команды (поле mode
):
Установить лимиты равные limit_money
и limit_pledge
Изменить лимиты limit_money
и limit_pledge
Процедура доступна только тому логину шлюза от РФ, которому Администратор торгов проставил необходимые права.
Тип сообщения: 16
Тип ответного сообщения: 116
Процедура позволяет менять денежные параметры БФ.
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Режим работы команды (поле mode
):
Удалить
Установить
Процедура доступна только тому логину шлюза от РФ или БФ, которому Администратор торгов проставил необходимые права.
Лимит денежных средств (поле limit_spot_buy
). Если указать -1, то
данный лимит не будет проверяться. Если указать '' или -2, то
данный лимит не будет изменяться. Если не указан, то равен
-1.
Поле is_auto_update_spot_limit
,
установленное в 1 позволяет автоматизировать процесс изменения
лимитов по результатам предыдущего дня. (-1) – при операциях в
режиме 12, при изменении других параметров, значение этого
параметра не изменять.
Для изменения только параметра is_auto_update_spot_limit
можно
использовать режим 12 при значении параметра limit_spot_buy
=''.
Тип сообщения: 12
Тип ответного сообщения: 112
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Режим работы команды (поле mode
):
Удалить
Вставить/обновить
Для заявок на экспирацию ключевыми полями являются
isin
и code
.
Разрешено при Delete и Update задавать:
code
и isin
для поиска не используются)
order_id
не задан или =0)
При постановках новой заявки, заносите order_id
=0. Это будет являться
признаком, что надо ставить новую заявку, а не корректировать
старую.
Тип сообщения: 15
Тип ответного сообщения: 115
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Полеmode
определяет
режим работы команды:
удалить
установить
Поле state
может
принимать следующие значения:
нельзя открывать позиции
нельзя ставить любые заявки
нельзя открывать позиции на Продажу
Значения параметра state_mask определяются битовой маской. На настоящий момент данный параметр должен устанавливаться = 3.
При задании конкретного инструмента в поле isin
следует указывать код
соответствующего БА в поле code_vcb
.
Тип сообщения: 17
Тип ответного сообщения: 117
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Режим работы команды (поле mode
):
удалить
установить
Поле state
является
битовой маской
Первые два бита определяют числовое значение:
нельзя открывать позиции
нельзя ставить любые заявки
нельзя открывать позиции на Продажу
4 - резерв
8 - запрет брокера на подачу заявок на Экспирацию
Битовая маска состояний. Определяет те биты поля state
, значения которых будут изменены
в результате выполнения процедуры. На настоящий момент данный
параметр должен устанавливаться = 0x0F.
Ограничения по фьючерсам и опционам действуют независимо.
Тип сообщения: 35
Тип ответного сообщения: 130
Процедура позволяет выполнять переводы средств между двумя различными БФ, принадлежащими одной РФ.
Коды возврата команды:
успех выполнения операции
ошибка
Примечания:
Режим работы команды (поле mode
):
Перевод только в торгах
Перевод в торгах и клиринге
В настоящий момент системой поддерживается перевод денежных средств. Переводы залоговых средств не поддерживаются и поле amount_pledge должно быть равно 0.
Тип сообщения: 45
Тип ответного сообщения: 132
Процедура позволяет произвести пересчет центрального страйка, по тем обязательствам Маркет-Мейкера, для которых выбран вариант пересчета ЦС «Смещение по запросу». Предназначена для Маркет-Мейкеров.
Таблица 128. Входящие параметры
Имя параметра | Тип | Значение по умолчанию | Описание |
---|---|---|---|
isin_id | i4 | Числовой идентификатор базового инструмента |
Коды возврата команды:
успех выполнения операции
ошибка
Тип сообщения: 61
Тип ответного сообщения: 137
Процедура позволяет переносить фьючерсные позиции между счетами своих БФ.
Коды возврата команды:
успех выполнения операции
ошибка
Примечание:
Процедура доступна только тому логину шлюза от РФ, которому Администратор торгов предоставил необходимые права.
Тип сообщения: 62
Тип ответного сообщения: 138
Процедура позволяет переносить опционные позиции между счетами своих БФ.
Коды возврата команды:
успех выполнения операции
ошибка
Примечание:
Процедура доступна только тому логину шлюза от РФ, которому Администратор торгов предоставил необходимые права.
Тип сообщения: 10000
Сообщение-хартбит сообщает сервису мониторинга подключения пользователей о том, что данный логин активен.
Таблица 134. Входящие параметры
Имя параметра | Тип | Значение по умолчанию | Описание |
---|---|---|---|
seq_number | i4 | 0 | Номер сообщения-хартбита (в текущей версии не используется) |
Пользователь, использующий сервис снятия заявок при отключении от торговой системы обязан посылать на входной гейт торговой системы сообщения-транзакции или хартбиты не реже одного раза в 10 секунд. В случае неактивности, то есть отсутствия от пользователей сообщений любого типа в течение 20 секунд, заявки этого пользователя будут сняты.
Примечание:
Требование посылать хартбиты распространяется только на пользователей, использующих сервис Cancel on Disconnect
Сервис мониторинга не отправляет ответных сообщений на хартбиты. Поэтому в поле флагов при вызове функции отправки сообщения требуется указать ноль (не ожидать ответа): cg_pub_post(pub, msgptr, 0);
Вызов функции cg_pub_post с флагом CG_PUB_NEEDREPLY при отправке хартбита приведет к получению уведомления-ошибки СG_MSG_P2MQ_TIMEOUT.
Plaza-2 | С++ | ODBC | Комментарий |
---|---|---|---|
u1 | UINT8 | SMALLINT | Целое число размером 1 байт. |
u2 | UINT16 | INTEGER | Целое число размером 2 байта. |
u4 | UINT32 | NUMERIC,10 | Целое число размером 4 байта. |
u8 | UINT64 | NUMERIC,20 | Целое число размером 8 байт. |
i1 | INT8 | SMALLINT | Целое число со знаком размером 1 байт. |
i2 | INT16 | SMALLINT | Целое число со знаком размером 2 байта. |
i4 | INT32 | INTEGER | Целое число со знаком размером 4 байта. |
i8 | INT64 | BIGINT | Целое число со знаком размером 8 байт. |
a | CHAR | VARCHAR | Строка символов размером 1 байт. |
cN | CHAR[N+1] | VARCHAR,N | Строка символов, оканчивающаяся нулевым символом. |
dN,M sN,M | P2BCDII | NUMERIC,N,M | Десятичное число в двоичной кодировке с фиксированной точкой,
где
|
t | P2TIME | TIMESTAMP | Дата и время. |
f | DOUBLE | REAL | Число с плавающей точкой двойной точности размером 8 байт. |
bN | VARBINARY,N | Блок данных. | |
zN | VARBINARY,N | Блок данных, где первые четыре байта задают длину буфера. |
Код возврата | Описание |
---|---|
-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 | Суммарное количество контрактов в заявках на продажу превысило допустимый предел. |
200 | Администратор производит изменение параметров расчёта ГО. |
201 | Администратор производит изменение параметров расчёта ГО. |
202 | Администратор производит изменение параметров расчёта ГО. |
203 | Администратор производит изменение параметров расчёта ГО. |
204 | Администратор производит изменение параметров расчёта ГО. |
205 | Администратор производит изменение параметров расчёта ГО. |
206 | Администратор производит изменение параметров расчёта ГО. |
207 | Администратор производит изменение параметров расчёта ГО. |
208 | Администратор производит изменение параметров расчёта ГО. |
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 | Для выбранного финансового инструмента цена больше допустимой. |