-----------------------------------------------------------------------------------------------------
8.6 (2025.08.07)
SPECTRA-8.6

1. Передача дополнительного платежа за принудительное исполнение вечного фьючерса

Модифицирован механизм прекращения обязательств по вечному фьючерсу (ВФ), который реализован в ТС Спектра через подачу поручений на исполнение, позволяющий выйти из позиции в вечном фьючерсе в квартальный. При выходе из ВФ, после матчинга встречных поручений, остаются неудовлетворенные поручения, которые исполняются через принудительное закрытие противоположных позиций Участников, подобранных пропорционально объему. В сделках прекращения обязательств по ВФ, в случае принудительного исполнения, выставляется специальный признак: PerpetualFuturesExecutionPartialVoluntary (0x2000000000000000) - Техническая сделка выхода из вечного фьючерса с принудительным закрытием позиции одной из сторон, который транслируется в шлюзе в таблице сделок в полях xstatus_sell и xstatus_buy.

Участник, направивший поручение на исполнение контракта, которое впоследствии было исполнено путем принудительного закрытия противоположной позиции у Участника, не подававшего поручение на исполнение контракта, обязан единовременно уплатить в пользу Участника, не подававшего поручение на исполнение контракта, денежные средства (Единовременный платеж при исполнении однодневных фьючерсных контрактов с автопролонгацией) в размере, определяемом в соответствии со спецификацией контракта. Цель такого платежа - компенсация Участнику, у которого принудительно закрыли позицию, для исполнения встречного поручения на выход из ВФ. Начиная с версии 8.6 Единовременный платеж за принудительное исполнение ВФ автоматически уплачивается в вечернюю клиринговую сессию при исполнении поручений на выход из ВФ.

Единовременный платеж за принудительный выход из ВФ транслируется в шлюзе:

В клиринговую реплику в потоке FORTS_CLR_REPL в таблицу fut_pos добавлены поля:
pos_enforcement_exec, (i8) - Количество принудительно исполненных позиций  для выхода из ВФ
pay_enforcement_exec, (d16.2) - Сумма платежа (с учетом знака) за принудительное исполнение
- В клиринговую реплику в потоке FORTS_CLR_REPL в таблицу fut_sess_settl добавлено поле:
exp_enforcement_pay, (d16.2) - Сумма платежа (в рублях) за 1 контракт по сделкам прекращения обязательств по ВФ, в случае принудительного исполнения, от стороны подавшей поручение на выход из ВФ, стороне, которую принудительно закрыли
И показывается в отчетах:

В отчетах payXXYY.csv и payclXXYYZZZ.csv платежи за принудительный выход из ВФ фигурируют под названием "Единовременный платеж при исполнении однодневных фьючерсных контрактов с автопролонгацией" (TYPEOBLIG=384)
В отчет f07.csv добавлено новое поле:
exp_enforcement_pay, (numeric(16,5)) - Сумма платежа (в рублях) за 1 контракт по сделкам прекращения обязательств по ВФ, в случае принудительного исполнения, от стороны подавшей поручение на выход из ВФ, стороне, которую принудительно закрыли
В отчеты fposXXYY.csv и fposclXXYYZZZ.csv добавлены новые поля:
pos_enforcement_exec, (i8) - Количество принудительно исполненных позиций  для выхода из ВФ
pay_enforcement_exec, (numeric(16,2)) - Сумма платежа (с учетом знака) за принудительное исполнение


2. Добавление в поток агрегатов таблицы с синхроевентами

В потоки агрегированных стаканов FORTS_AGGRXX_REPL в целях дополнительного информирования участников о состоянии данных в потоке добавлена таблица синхрособытий sys_events. Данные в таблице агрегированных стаканов orders_aggr считаются валидными только после получения в sys_events синхрособытия session_data_ready по текущей сессии.



3. Изменения в интерфейсах и API

3.1. CGATE

В потоки агрегированных стаканов FORTS_AGGRXX_REPL добавлена новая таблица:
sys_events - Таблица событий
В потоке FORTS_REFDATA_REPL из таблицы fut_sess_contents удалено устаревшее поле is_trade_evening. Вместо него следует использовать поле trade_period_access.
В потоке FORTS_REFDATA_REPL из таблицы opt_sess_contents удалено устаревшее поле is_trade_evening. Вместо него следует использовать поле trade_period_access.
В потоке FORTS_REFDATA_REPL из таблицы session удалены устаревшие поля pos_transfer_begin и pos_transfer_end.
В потоке FORTS_CLR_REPL в таблицу fut_pos добавлены поля:
pos_enforcement_exec, (i8) - Количество принудительно исполненных позиций  для выхода из ВФ
pay_enforcement_exec, (d16.2) - Сумма платежа (с учетом знака) за принудительное исполнение
В потоке FORTS_CLR_REPL в таблице fut_sess_settl добавлены новые поля:
step_price (d16.5) - Стоимость шага цены вечернего клиринга
step_price_curr (d16.5) - Стоимость шага цены вечернего клиринга в валюте
exp_enforcement_pay (d16.2) - Сумма платежа (в рублях) за 1 контракт по сделкам прекращения обязательств по ВФ, в случае принудительного исполнения, от стороны подавшей поручение на выход из ВФ, стороне, которую принудительно закрыли
В потоке FORTS_CLR_REPL в таблицах opt_sess_settl и option_series_settl добавлены новые поля:
step_price (d16.5) - Стоимость шага цены вечернего клиринга
step_price_curr (d16.5) - Стоимость шага цены вечернего клиринга в валюте
В связи с обновлением торгово-клиринговой системы валютного и фондового рынков и переходом на 52-ю версию интерфейса вносятся следующие изменения:
В потоке MCXCC_INFO_REPL в таблице TESYSTIME добавлены поля:
LASTTRTIME (t) - Последняя транзакция
LASTTRMSEC (i4) - Микросекунды последней транзакции
3.2 Изменение lsn orderbook

В lsn ordebook реализовано одновременное получение обычных (по фьючерсам и опционам) и мультилег-заявок.




snapshot 	
Поток orderbook
online.data	orders_log	Название таблицы с заявками в online потоке
multileg.online.data	multileg_orders_log	Название таблицы с мультилег-заявками в online потоке
snapshot.data	orders	Название таблицы с заявками в snapshot потоке
multileg.snapshot.data	multileg_orders	Название таблицы с мультилег-заявками в snapshot потоке
snapshot.bind	info.logRev	Таблица и поле в snapshot потоке с ревизией, с которой нужно открыть online поток, чтобы продолжить получение заявок
online.scheme	
Схема online потока


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

задать multileg.online.data = "" и задать multileg.snapshot.data = ""
или в схеме online.scheme убрать таблицу multileg_orders_log
Примеры URL при создании листенера:

3.2.1 Приватные потоки

а) Получение по серверной схеме:

p2orderbook://FORTS_TRADE_REPL;snapshot=FORTS_USERORDERBOOK_REPL

Сначала раздаются данные по  срезам orders и multileg_orders, потом идут изменения по orders_log и multileg_orders_log.

б) Получение по серверной схеме с начала торгового дня:

p2orderbook://FORTS_TRADE_REPL;snapshot=FORTS_USERORDERBOOK_REPL;snapshot.data=orders_currentday;multileg.snapshot.data=multileg_orders_currentday;

snapshot.bind=info_currentday.logRev

Сначала раздаются данные по  срезам orders_currentday и multileg_orders_currentday, потом идут изменения по orders_log и multileg_orders_log.

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

p2orderbook://FORTS_TRADE_REPL;snapshot=FORTS_USERORDERBOOK_REPL;snapshot.data=multileg_orders;multileg.snapshot.data=;online.data=multileg_orders_log; multileg.online.data=;

Сначала раздаются данные по  срезам multileg_orders, потом идут изменения по multileg_orders_log.

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

p2orderbook://FORTS_TRADE_REPL;snapshot=FORTS_USERORDERBOOK_REPL;multileg.snapshot.data=;multileg.online.data=;

Сначала раздаются данные по  срезам orders, потом идут изменения по orders_log.

д) Получение по кастомной схеме только обычных заявок, без мультилег-заявок:

p2orderbook://FORTS_TRADE_REPL;snapshot=FORTS_USERORDERBOOK_REPL;multileg.snapshot.data=;multileg.online.data=;online.scheme=|FILE|путь до схемы без мультилегов|имя схемы (взять схему FORTS_TRADE_REPL и удалить из нее multileg_orders_log)

Сначала раздаются данные по  срезам orders, потом идут изменения по orders_log.

е) Получение по кастомной схеме только мультилег-заявок:

p2orderbook://FORTS_TRADE_REPL;snapshot=FORTS_USERORDERBOOK_REPL;online.scheme=|FILE|путь до схемы |имя схемы (взять схему FORTS_TRADE_REPL)

Сначала раздаются данные по  срезам multileg_orders, потом идут изменения по multileg_orders_log.

3.2.2 Анонимные потоки

а) Получение по серверной схеме:

p2orderbook://FORTS_ORDLOG_REPL;snapshot=FORTS_ORDBOOK_REPL

Сначала раздаются данные по  срезам orders и multileg_orders, потом идут изменения по orders_log и multileg_orders_log.

б) Получение по серверной схеме с начала торгового дня:

p2orderbook://FORTS_ORDLOG_REPL;snapshot=FORTS_ORDBOOK_REPL;snapshot.data=orders_currentday;multileg.snapshot.data=multileg_orders_currentday;

snapshot.bind=info_currentday.logRev

Сначала раздаются данные по  срезам orders_currentday и multileg_orders_currentday, потом идут изменения по orders_log и multileg_orders_log.

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

p2orderbook://FORTS_ORDLOG_REPL;snapshot=FORTS_ORDBOOK_REPL;snapshot.data=multileg_orders;multileg.snapshot.data=;online.data=multileg_orders_log; multileg.online.data=;

Сначала раздаются данные по  срезам multileg_orders, потом идут изменения по multileg_orders_log.

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

p2orderbook://FORTS_ORDLOG_REPL;snapshot=FORTS_ORDBOOK_REPL;multileg.snapshot.data=;multileg.online.data=;

Сначала раздаются данные по  срезам orders, потом идут изменения по orders_log.

д) Получение по кастомной схеме только обычных заявок, без мультилег-заявок:

p2orderbook://FORTS_ORDLOG_REPL;snapshot=FORTS_ORDBOOK_REPL;multileg.snapshot.data=;multileg.online.data=;online.scheme=|FILE|путь до схемы без мультилегов|имя схемы (взять схему FORTS_ORDLOG_REPL и удалить из нее multileg_orders_log)

Сначала раздаются данные по  срезам orders, потом идут изменения по orders_log.

е) Получение по кастомной схеме только мультилег-заявок:

p2orderbook://FORTS_ORDLOG_REPL;snapshot=FORTS_ORDBOOK_REPL;online.scheme=|FILE|путь до схемы |имя схемы (взять схему FORTS_ORDLOG_REPL)

Сначала раздаются данные по  срезам multileg_orders, потом идут изменения по multileg_orders_log.

3.3. FAST

Изменен тип поля SecurityTradingStatus с int32 на uInt32 в шаблоне сообщения SecurityGroupStatus. Изменен ID шаблона сообщения c '39' на '45'.
4. Изменения в отчетах

В отчетах payXXYY.csv и payclXXYYZZZ.csv платежи за принудительный выход из ВФ фигурируют под названием "Единовременный платеж при исполнении однодневных фьючерсных контрактов с автопролонгацией" (TYPEOBLIG=384)
В отчет f07.csv добавлено новое поле:
exp_enforcement_pay, (numeric(16,5)) - Сумма платежа (в рублях) за 1 контракт по сделкам прекращения обязательств по ВФ, в случае принудительного исполнения, от стороны подавшей поручение на выход из ВФ, стороне, которую принудительно закрыли
В отчеты fposXXYY.csv и fposclXXYYZZZ.csv добавлены новые поля:
pos_enforcement_exec, (i8) - Количество принудительно исполненных позиций  для выхода из ВФ
pay_enforcement_exec, (numeric(16,2)) - Сумма платежа (с учетом знака) за принудительное исполнение


-----------------------------------------------------------------------------------------------------
8.3.2 (2025.07.07)
SPECTRA-8.3.2

Для поддержки функционала Торгов на выходных в новой версии в потоках FORTS_USERORDERBOOK_REPL и FORTS_ORDERBOOK_REPL добавлены таблицы:
multileg_orders
multileg_orders_currentday
Также в таблицу orders_currentday потока FORTS_USERORDERBOOK_REPL добавлено поле:
match_ref.

-----------------------------------------------------------------------------------------------------
8.3 (2025.04.24)
SPECTRA-8.3

1.Торги в выходные дни

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

Общая концепция торгов в выходные:

Торги в выходные дни - последовательность дополнительных сессий выходного дня, проводимых в рамках торговой сессии ближайшего следующего рабочего дня.
Расчеты и клиринговые сессии в ходе торгов в выходные дни не производятся. Все расчеты проводятся в ближайший следующий рабочий день.
Режимы торгов, доступные в выходные дни: Режим безадресных сделок (двойной непрерывный аукцион), Режим Адресных сделок (РПС), включая Режим адресных сделок с матчингом по уникальному коду, Режим RFS (Request for Stream).
В выходные дни доступны все типы заявок, которые доступны в будние дни. Заявки, выставляемые после ВК пятницы или с указанием календарной даты (GTD), и попадающие в суженный ценовой коридор, переходят в ДСВД (независимо от подачи заявления на ограничение времени начала заключения сделок с Клиринговым центром Участником в ДСВД). GTD заявки, с датой не позже дня торгов, снимаются по окончании календарного дня (аналогично будним дням).
К торгам допущены все инструменты, торгуемые на срочном рынке, за исключением валютных контрактов. Список премиальных опционов на акции, допущенных к торгам в выходные дни, будет синхронизироваться со списком бумаг, допущенных к торгам в выходные на ФР.
Операционные особенности:
Экспирация/досрочная экспирация в выходные дни не проводится. Подача заявлений на досрочную экспирацию опциона/выход из вечного фьючерса в выходные дни разрешена.
При заключении сделок в дни ДСВД обязательства по комиссионному вознаграждению учитываются в свободном лимите стандартным образом с момента заключения сделки.
Списание комиссий/штрафов производится во время клиринговой сессии в ближайший следующий рабочий день.
Маржинальные требования за дни ДСВД не выставляются. Маржинальные требования выставляются и исполняются в ближайший следующий рабочий день.
Фандинг для вечных фьючерсов в ДСВД не рассчитывается и будет равен 0.
В выходные дни не меняются параметры инструментов (риск-параметры, шаг цены, лот, и т.д.). Запуск новых инструментов в выходные не проводится.
Нет допуска новых Участников, есть онлайн регистрации конечных клиентов.
1.1. Модель сессий. Торговые периоды

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

Временной интервал дополнительной торговой сессии выходного дня: 10:00 - 19:00. Аукцион открытия (АО) планируется проводить перед каждой дополнительной торговой сессией выходного дня. Время проведения аукциона: 9:50 - 10:00.

Для хранения расписания новых дополнительных торговых сессий выходного дня в дополнение к сессионной таблице session добавлена новая таблица trade_periods - параметры торговых периодов, которая транслируется в шлюзе в потоке FORTS_REFDATA_REPL.

1.2. Допуск БФ Участников к торгам в ДСВД

По умолчанию все участники допущены к торгам в рамках ДСВД. Участники, не желающие участвовать в торгах в дополнительную сессию выходного дня, подают постоянное заявление на ограничение времени начала заключения сделок с Клиринговым центром в ДСВД по каждой БФ. Изменение статуса после подачи заявления происходит в ВК. Статус допуска\недопуска сохраняется до внесения изменения. Под допуском понимается возможность выставлять или изменять заявки (включая "поручения к НКЦ") в ходе ДСВД по данной Брокерской фирме. Операции снятия заявок (и "поручений к НКЦ"), включая массовые, разрешены. Также нет ограничений на выполнение неторговых операций.

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

Признак допуска БФ Участника к торгам в ДСВД транслируется в шлюзе в поле order_allowed_in_weekend_session таблицы dealer потоков FORTS_REFDATA_REPL и FORTS_INFO_REPL.

1.3. Допуск инструментов к торгам в ДСВД

Допуск новых инструментов, изменение параметров инструментов (шаги, лоты, и т.д.) в дополнительную сессию выходного дня не осуществляется. Допуск текущих инструментов производится путем назначения их в торги в торговый период "Дополнительная сессия выходного дня". Признак торговли в дополнительную сессию выходного дня для инструмента транслируется в шлюзе в поле trade_period_access в таблицах fut_instruments, fut_sess_contents и opt_sess_contents потока FORTS_REFDATA_REPL.

1.4. Ценовые границы и ставки риска в ДСВД

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

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

Кривые волатильности в выходные дни зафиксированы. Остановка пересчета кривых происходит на момент окончания торгов в пятницу 23 50.

1.5. Данные одного календарного дня в публичных интерфейсах SPECTRA

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

В системе добавлен новый тип синхрособытия start_of_calendar_date - "начало календарного дня", которое ежедневно генерируется и публикуется во всех потоках после завершения торгов (после снятия GTD заявок). По этому событию сервисы PosBuilder и OrderBook публикуют срезы позиций и заявок на момент срабатывания синхрособытия. Также публикуется мета-информация о ревижене синхрособытия start_of_calendar_date, на который сгенерен срез. Клиенты могут использовать срезы и стартовый ревижен для открытия потоков, производных от exec_log, для получения данных только за текущий день.

1.5.1. Срезы позиций

В поток FORTS_POS_REPL в таблицы position и position_sa добавлены поля xday_open_qty, xday_open_buys_qty, xday_open_sells_qty. В этих полях по приходу события start_of_calendar_date публикуется срез позиций на начало календарного дня. В поток также добавлена служебная таблица info, в ней содержится одна запись с полями:

trades_rev – ревижен синхрособытия start_of_calendar_date;
trades_lifenum – номер жизни потока, соответствующий синхрособытию start_of_calendar_date;
server_time – дата-время формирования среза позиций (для контроля).
1.5.2 Срезы заявок

Для публикации срезов активных заявок на начало дня в потоки FORTS_ORDBOOK_REPL и FORTS_USERORDERBOOK_REPL добавлены две таблицы orders_currentday и info_currentday. В таблицах orders_currentday по приходу события start_of_calendar_date публикуется срез активных заявок на начало календарного дня. Таблица orders_currentday является копией таблицы orders с некоторыми модификациями для приведения информации об активной заявке к формату "как будто эта заявка была только что поставлена в текущем ее виде":

В поля public_action и private_action всегда пишется 1 (выставление заявки).
В поле public_amount пишется значение поля public_amount_rest.
В поле private_amount пишем значение поля private_amount_rest.
В таблице info_currentday содержится одна запись с полями:

logRev – ревижен синхрособытия start_of_calendar_date;
lifenum – номер жизни потока;
server_time – дата-время формирования среза заявок (для контроля).
1.5.3 Вариант сценария работы с новыми данными

Для открытия потока сделок текущего дня необходимо открыть поток позиций FORTS_POS_REPL и прочитать из него служебные поля из таблицы info. При вызове листенера для потоков FORTS_TRADE_REPL, FORTS_DEALS_REPL

CG_RESULT cg_lsn_open(cg_listener_t* lsn, const char* settings)

В строку settings передать

mode=snapshot+online,lifenum=<trades_lifenum>,rev.deal=<trades_rev>,rev.heart_beat=<trades_rev>

где <trades_lifenum> и <trades_rev> прочитаны из таблицы info потока позиций.

Таким образом, вы будете получать сделки и другие таблицы только за текущий день. Расчет текущей позиции при получении сделки – прибавить к значению xday_open_qty объем сделки с учетом направления.

С таблицей orders_log требуется особая внимательность, т.к. могут быть многодневные заявки. Для работы с многодневными заявками предлагается следующее. После получения среза заявок, работа с таблицей orders_log потока FORTS_TRADE_REPL аналогична описанной выше для сделок, или можно воспользоваться вот таким синтаксисом URL при создании листенера для таблицы orders_log:

p2ordbook://FORTS_TRADE_REPL;snapshot=FORTS_USERORDERBOOK_REPL;online.scheme=|FILE|.\forts_scheme.ini|ORDLOG;online.data=orders_log;snapshot.scheme=|FILE|.\forts_scheme.ini|OrderBook;snapshot.data=orders_currentday;snapshot.bind=info_currentday.logRev

Открытие потока собственных заявок через пару потоков: "срез заявок" + "лог заявок".

В таком варианте, библиотека CGate откроет поток среза заявок, получит срез, перейдет автоматом на поток онлайн-данных с ревиженом из таблицы info_currentday и будет получать данные в онлайне.

2. Сервис раздачи статусов инструментов

В текущей версии SPECTRA вычисление статусов по всем инструментам и их раздача клиентам происходят с некоторыми задержками относительно времени их (статусов) реального изменения в системе, что негативно сказывается на пользователях системы. Информация о текущем статусе торговой сессии и инструментов доступна в шлюзе в таблицах session, fut_sess_contents и opt_sess_contents, потока FORTS_REFDATA_REPL. В рамках программы импортозамещения и в целях ускорения раздачи информации по статусам инструментов и сессии в ТС SPECTRA в версии 8.3 реализован новый сервис - Сервис раздачи статусов инструментов.

Сервис раздачи статусов инструментов при изменении состояния инструментов или сессии, рассчитывает итоговые статусы инструментов и сессии, и раздает их в виде реплики потребителям. На выходе сервис выдает три новых потока:

FORTS_SESSIONSTATE_REPL - Статус активной сессии. Таблицы:
session_state - Статус активной сессии 
sys_events - Таблица событий
FORTS_INSTRUMENTSTATE_REPL - Статусы инструментов по активной сессии. Таблицы:
instrument_state - Статусы инструментов по активной сессии 
sys_events - Таблица событий
FORTS_SECURITYGROUPSTATE_REPL - Статус по группе инструментов активной сессии. Таблицы:
security_group_state - Статус по группе инструментов активной сессии
sys_events - Таблица событий 
Сервис раздает статусы инструментов по группам инструментов. К одному инструменту может быть применено несколько групповых статусов, соответственно один инструмент может входить в несколько групп. Раздача статуса инструмента по группам позволяет экономить трафик (инструментов много, групп мало), так как не надо получать обновления по всем инструментам, а также повышает скорость расчета самого статуса инструментов, так как пересчет ведется только для инструментов группы. Например, в ВК и ПК обновляются статусы по всем инструментам и в этом случае раздача по сети занимает секунды, получение статуса по 1 группе - миллисекунды.

Пользователям, которым нужна еще большая скорость раздачи статусов инструментов, предлагается воспользоваться данными потока FORTS_SECURITYGROUPSTATE_REPL. По справочникам инструментов и таблице FORTS_SECURITYGROUPSTATE_REPL.security_group_state пользователи могут самостоятельно, на своей стороне вычислять текущие статусы инструментов. С примером вычисления статуса инструмента из групповых статусов можно ознакомиться в документации (https://ftp.moex.com/pub/ClientsAPI/Spectra/CGate/test/docs/p2gate_ru.pdf) в разделе "2.5.6. Сервис раздачи статусов инструментов". Также в CGate (\SpectraCGate\SDK\samples | /usr/share/doc/cgate-examples) добавлен тестовый пример instruments_state, который демонстрирует расчет статусов инструментов по потоку FORTS_SECURITYGROUPSTATE_REPL.

3. Индикативный фандинг и дивидентная поправка по текущей клиентской позиции

Дополнительно к публикуемой в шлюзе индикативной вариационной марже добавлен расчет и трансляция в отдельном поле ее составляющих: индикативные  фандинг (swap_rate) и дивидендная поправка (index_div) по текущей клиентской позиции. В потоке FORTS_VM_REPL в таблицах fut_vm и fut_vm_sa добавлены новые поля:

swap_rate - Индикативный фандинг в разрезе текущих позиций клиентов/РК.
index_div - Индикативная дивидендная поправка в разрезе текущих позиций клиентов/РК.
4. Изменения в интерфейсах и API

4.1. CGATE

Добавлен новый поток FORTS_SESSIONSTATE_REPL - Статус активной сессии. Таблицы:
session_state - Статус активной сессии 
sys_events - Таблица событий
Добавлен новый поток FORTS_INSTRUMENTSTATE_REPL - Статусы инструментов по активной сессии. Таблицы:
instrument_state - Статусы инструментов по активной сессии 
sys_events - Таблица событий
Добавлен новый поток FORTS_SECURITYGROUPSTATE_REPL - Статус по группе инструментов активной сессии. Таблицы:
security_group_state - Статус по группе инструментов активной сессии
sys_events - Таблица событий 
В потоке FORTS_USERORDERBOOK_REPL:
Добавлена таблица orders_currentday - Срез активных заявок пользователя на начало текущего дня
Добавлена таблица info_currentday - Информация о срезе
В потоке FORTS_ORDBOOK_REPL:
Добавлена таблица orders_currentday - Срез активных заявок на начало текущего дня
Добавлена таблица info_currentday - Информация о срезе
В потоке FORTS_COMMON_REPL в таблицу common добавлено новое поле:
index_div (d18.4 ) - Текущая дивидендная поправка для "вечного" фьючерса на индекс или акцию
В потоке FORTS_POS_REPL в таблицы position и position_sa добавлены новые поля:
lxday_open_qty (i8) - Количество позиций на начало календарного дня
xday_open_buys_qty (i8) - Количество купленных контрактов на начало календарного дня
xday_open_sells_qty (i8) - Количество проданных контрактов на начало календарного дня
В потоке FORTS_POS_REPL:
Добавлена таблица info - Информация о срезе
В потоке FORTS_REFDATA_REPL в таблицы fut_vcb и opt_vcb добавлено новое поле:
section_id (i4) - Идентификатор Секции
В потоке FORTS_REFDATA_REPL в таблицу dealer добавлено новое поле:
order_allowed_in_weekend_session (i1) - Доступ к торгам в дополнительную торговую сессию выходного дня
В потоке FORTS_REFDATA_REPL в таблицу discrete_auction добавлены новые поля:
trade_period_id (i8) - Идентификатор торгового периода
trade_period_type (i8) - Тип торгового периода
В потоке FORTS_REFDATA_REPL в таблицу fut_instruments добавлено новое поле:
trade_period_access (i8) - Признак торговли в определенный период сессии
В потоке FORTS_REFDATA_REPL:
Добавлена таблица trade_periods - Параметры торговых периодов
В потоке FORTS_VM_REPL в таблицах fut_vm и fut_vm_sa добавлены новые поля:
swap_rate (d16.5) - Индикативный фандинг в разрезе текущих позиций клиентов/РК
index_div (d18.4) - Индикативная дивидендная поправка в разрезе текущих позиций клиентов/РК
В потоке FORTS_INFO_REPL в таблицу dealer добавлено новое поле:
order_allowed_in_weekend_session (i1) - Доступ к торгам в дополнительную торговую сессию выходного дня
В потоке FORTS_INFO_REPL в таблицу option_series_params добавлено новое поле:
lot_volume (i4) - Количество единиц базового актива в инструменте
4.2. FAST

Идентификатор сообщения SecurityDefinition изменён с id="38" на id="40".
В сообщение SecurityDefinition добавлены поля:
TradeModeID - Режим торгов, в который входит инструмент.
GroupMask - Битовая маска групп инструментов. Включены биты (флаги) с номерами групп, в которые входит данный инструмент.
SectionID - Идентификатор секции.
BaseContractID - Идентификатор ФБК (фьючерсного базового контракта).
TradePeriodAccess - Признак торговли в определенный период сессии.
Добавлено новое сообщение SecurityGroupStatus с id="39" - групповой статус инструментов. Сообщение передается в потоках FUT-INFO и OPT-INFO.
Идентификатор сообщения TradingSessionStatus изменён с id="8" на id="41". В сообщение добавлено поле TradePeriodID - Идентификатор торгового периода.
Идентификатор сообщения DiscreteAuction изменён с id="26" на id="42". В сообщение добавлено поле TradePeriodID - Идентификатор торгового периода.
В сообщениях TradingSessionStatus и SecurityDefinition добавлена трансляция в поле TradingSessionID нового значения '100' - дополнительная сессия выходного дня.
В сообщении SecurityDefinition в поле Flags прекращена трансляция флагов:
'0x1' - Признак торговли в дополнительную торговую сессию (вечернюю/утреннюю)
'0x40' - Признак торговли в основную сессию
В поток FO-TRADES добавлена трансляция:
MDEntryType = 'U' - Индикативная ставка фондирования для ВФ (вечного фьючерса). Значение предаётся в поле MDEntryPx.
MDEntryType = 'Z' - Текущая дивидендная поправка для ВФ на индекс или акцию. Значение предаётся в поле MDEntryPx.
MDEntryType = 'm' - Текущая рыночная цена. Значение предаётся в поле MDEntryPx для фьючерсов, календарных спредов и опционов.
4.3. SIMBA

Версия схемы изменена с version="5" на version="6".
Идентификатор сообщения SecurityDefinition изменён с id="20" на id="21".
В сообщение SecurityDefinition добавлены поля:
TradeModeID - Режим торгов, в который входит инструмент.
GroupMask - Битовая маска групп инструментов. Включены биты (флаги) с номерами групп, в которые входит данный инструмент.
SectionID - Идентификатор секции.
BaseContractID - Идентификатор ФБК (фьючерсного базового контракта).
TradePeriodAccess - Признак торговли в определенный период сессии.
Добавлено новое сообщение SecurityGroupStatus с id="22" - групповой статус инструментов. Сообщение передаётся в потоках FUT-INFO и OPT-INFO.
Идентификатор сообщения TradingSessionStatus изменён с id="11" на id="23". В сообщение добавлено поле TradePeriodID - Идентификатор торгового периода.
Идентификатор сообщения DiscreteAuction изменён с id="13" на id="24". В сообщение добавлено поле TradePeriodID - Идентификатор торгового периода.
В сообщениях TradingSessionStatus и SecurityDefinition добавлена трансляция в поле TradingSessionID нового значения '100' - дополнительная сессия выходного дня.
В сообщении SecurityDefinition в поле Flags прекращена трансляция флагов:
'EveningOrMorningSession' - Признак торговли в дополнительную торговую сессию (вечернюю/утреннюю)
'DaySession' - Признак торговли в основную сессию
В FlagsSet удалены:
<choice name="EveningOrMorningSession" description="Trading in the evening or morning session">0</choice>
<choice name="DaySession" description="Trading in the day session">6</choice>
5. Изменения в терминале срочного рынка

В окна Информация и Финансовые инструменты добавлен новый параметр: Див. поправка - Текущая дивидендная поправка для вечного фьючерса на индекс или акцию.
В окне Праздники и рабочие выходные  добавлен новый тип события - торговый выходной.
В окне Сессия добавлены новые параметры:
Ид. сессии - Номер текущей сессии
Ид. торгового периода - Идентификатор торгового периода
В настройках окон Финансовые инструменты и Доска опционов изменена фильтрация инструментов по торговым сессиям, в которые они торгуются. Добавлено:
Торгуется в доп сессию выходного дня - будут показаны только те инструменты, которые торгуются в дополнительную сессию выходного дня
6. Изменения в отчетах

В версии 8.3 в ТС SPECTRA в режиме технической готовности добавляется новый пакет EXCHANGEHLDYYYYMMDD.zip с биржевыми отчетами по результатам дополнительной сессии выходного дня:

f04_trade_ XXYY.csv
f04cl_trade_XXYYZZZ.csv
o04 _trade_XXYY.csv
o04cl_trade_XXYYZZZ.csv
multilegf04cl_trade_XXYYZZZ.csv
multilegf04 _trade_XXYY.csv

fordlog_trade_XXYY.csv
oordlog_trade_XXYY.csv
multilegordlog_trade_XXYY.csv
Данные отчеты содержат основную информацию по торгам, которая может быть полезна для участника в рамках ДСВД, в которые не проводится
клиринговых сессий. Структура отчетов аналогична текущим отчетам без суффикса "_ trade_ ". Данные, формируемые по итогам клиринговых сессий, в этих отчетах отображаться не будут (поля сохраняются, но будут пустые).

Пакет EXCHANGEHLDYYYYMMDD.zip в названии будет содержать календарную дату соответствующей ДСВД. Пакет по первой ДСВД в торговом дне будет содержать также данные за соответствующую вечернюю сессию текущего торгового дня (например, вечернюю сессию пятницы). Пакет по второй ДСВД будет содержать данные только по этой ДСВД. Регламентное время предоставления отчетов - до 14:00 следующего календарного дня.

7. Изменения в интерфейсах, планируемые в будущих релизах

Напоминаем, что в интерфейсе CGATE в версии 8.6 планируются следующие изменения:

В потоке FORTS_REFDATA_REPL в таблице fut_sess_contents планируется удаление устаревшего поля is_trade_evening.
В потоке FORTS_REFDATA_REPL в таблице opt_sess_contents планируется удаление устаревшего поля is_trade_evening.
В потоке FORTS_REFDATA_REPL в таблице session планируется удаление устаревших полей pos_transfer_begin и pos_transfer_end.

-----------------------------------------------------------------------------------------------------
8.0 (2025.01.22)
SPECTRA-8.0


1. Доработки в рамках указания №6681-У (новая маржиналка)

В рамках указания ЦБ 6681-У к Брокерам устанавливаются дополнительные требования по соблюдению нормативов НПР1 (норматив покрытия риска при исполнении поручения клиента, >0) и НПР2 (норматив покрытия риска при изменении стоимости портфеля клиента, >0). В рамках Указания предусматривается возможность использования "рыночного метода" для Участников, когда при расчете НПР-ов используется индикативная ВМ МБ для переоценки портфеля, и ГО МБ, расчет которого осуществляется в соответствии с правилами расчета размера индивидуального клирингового обеспечения, требуемого для обеспечения обязательств, исполнение которых осуществляется за счет портфеля клиента.

1.1. ГО с учетом категории уровня риска клиента

В версии 7.30.5 в ТС SPECTRA на уровне оконечного клиента (7кк) добавлен признак - Категория уровня риска клиента (КСУР\КПУР\КНУР\КОУР).

В версии 8.0 клиентское ГО (на уровне 7кк) будет считаться с учетом категории уровня риска клиента. При расчете учитываются соответствующие категории риск-параметры (категорийные ставки рыночного риска - MR-ы). Если уровень риска клиента не задан, используются значения ставок риска, установленные НКЦ без дополнительных коэффициентов.

1.2. Расчет НПР-ов в рыночном методе

Расчет НПР-ов осуществляется на стороне Брокера с использованием выходных данных нового RMT-сервиса (regulation of margin trading):

ГО б/з - ГО МБ без заявок. Считается по правилам расчета размера индивидуального клирингового обеспечения:
без учета заявок;
с учетом категории уровня риска клиента;
с учетом текущего реализованного риска (с учетом текущей цены);
по риск-параметрам на начало сессии с учетом проведенных раздвижек.
ВМ - Индикативная вариационная маржа с учетом текущего индикативного курса валют (рассчитывается аналогично текущей индикативной ВМ, учитывает в т.ч. вариационную маржу по закрытым позициям).
NOV - Net Option Value. Текущий NOV по портфелю 7кк с учетом текущего курса и текущих цен опционов.
НПР1 = начальная стоимость портфеля + ВМ + NOV - ГО б/з

НПР2 = начальная стоимость портфеля + ВМ + NOV - (ГО б/з)/2

При условии, когда начальный лимит (money_amount) <= начальной стоимости портфеля, можно говорить о том, что биржевой пре-трейд (money_free>0) с учетом категории обеспечивает непробитие НПР1 (>0), посчитанного по рыночному методу, в подавляющем большинстве случаев.

Сервис производит расчет раз в 10 мин по всем 7кк, с трансляцией данных в новом потоке FORTS_RMT_REPL.

1.3. Текущий оперативный риск по позиции

Текущий оперативный риск по позиции - величина, рассчитываемая по правилам расчета размера индивидуального клирингового обеспечения, и отражает размер ГО "если клиринг провести прямо сейчас". Дополнительная прогнозная величина, которая может быть использована Участником для принятия решений относительно позиций клиента. Рассчитывается также RMT-сервисом:

с учетом текущих риск-параметров и рыночных данных;
без учета заявок;
с учетом категории уровня риска клиента.
Сервис производит расчет раз в 10 мин по всем 7кк, с трансляцией данных в новом потоке FORTS_RMT_REPL.

2. Маркетинговая программа срочного рынка по опционам

В ТС Спектра в версии 8.0 добавлена поддержка Маркетинговой программы Срочного рынка по опционам. Маркетинговая программа предусматривает возврат Участнику процента от уплаченной биржевой и клиринговой комиссии. Сумма возврата зависит от проторгованного объема премиальными и маржируемыми опционами. Объем торгов рассчитывается по каждому 7кк Участника и только по безадресным сделкам. Коэффициент возврата  зависит от объема торгов с начала месяца. Программа предполагает прогрессивную шкалу коэффициента вознаграждения. В программе принимают участие УК/УТ, которые подали заявление на участие. В отчетной подсистеме ТС Спектра в пакет REBATEYYYYMMDD.zip добавлен новый клиентский отчет о возвратной премии участникам маркетинговой программы по опционам rebate_options_XXYY.csv.

3. Автоматическая установка цены исполнения по фьючерсным контрактам на Индекс МосБиржи IPO и MOEX в юанях

Реализовано автоматическое определение цены исполнения фьючерсных контрактов на Индекс МосБиржи IPO и MOEX в юанях. В качестве цены исполнения фьючерсного контракта на Индекс МосБиржи IPO берется среднее значение Индекса МосБиржи IPO (MIPO) в интервале с 15.00 до 16.00 по московскому времени в последний день заключения контракта с учетом меры репрезентативности, описанной в спецификации контракта. В качестве цены исполнения фьючерсного контракта на Индекс MOEX в юанях берется среднее значение Индекса MOEX  в юанях (MOEXCNY) в интервале с 15.00 до 16.00 по московскому времени в последний день заключения контракта с учетом меры репрезентативности, описанной в спецификации контракта. Сами индексы считаются в системе MICS.

4. Изменения в интерфейсах и API

4.1. CGATE

Добавлен новый поток FORTS_RMT_REPL - ГО без заявок и текущий оперативный риск. Таблицы:
rmt_im - ГО без заявок и текущий оперативный риск в разрезе клиентов
sys_events - Таблица событий
В потоке FORTS_REFDATA_REPL в таблицу fut_sess_contents добавлены новые поля:
trade_period_access (i8) - Признак торговли в определенный период сессии
buy_deposit_erc (d16.2) - Базовое ГО покупателя для КОУР
sell_deposit_erc (d16.2) - Базовое ГО продавца для КОУР
buy_deposit_hrc (d16.2) - Базовое ГО покупателя для КПУР
sell_deposit_hrc (d16.2) - Базовое ГО продавца для КПУР
buy_deposit_lrc (d16.2) - Базовое ГО покупателя для КНУР
sell_deposit_lrc (d16.2) - Базовое ГО продавца для КНУР
buy_deposit_mrc (d16.2) - Базовое ГО покупателя для КСУР
sell_deposit_mrc (d16.2) - Базовое ГО продавца для КСУР
В потоке FORTS_REFDATA_REPL в таблице fut_sess_contents поле is_trade_evening объявляется устаревшим и будет удалено в версии 8.6. Вместо него следует использовать поле trade_period_access.
В потоке FORTS_REFDATA_REPL в таблицу opt_sess_contents добавлены новые поля:
trade_period_access (i8) - Признак торговли в определенный период сессии
base_im_covered_sell_erc (d16.2) - Базовое ГО под одну покрытую позицию подписчика для КОУР
base_im_covered_sell_hrc (d16.2) - Базовое ГО под одну покрытую позицию подписчика для КПУР
base_im_covered_sell_lrc (d16.2) - Базовое ГО под одну покрытую позицию подписчика для КНУР
base_im_covered_sell_mrc (d16.2) - Базовое ГО под одну покрытую позицию подписчика для КСУР
base_im_sell_erc (d16.2) - Базовое ГО под одну непокрытую позицию подписчика для КОУР
base_im_buy_erc (d16.2) - Базовое ГО под покупку маржируемого опциона для КОУР
base_im_sell_hrc (d16.2) - Базовое ГО под одну непокрытую позицию подписчика для КПУР
base_im_buy_hrc (d16.2) - Базовое ГО под покупку маржируемого опциона для КПУР
base_im_sell_lrc (d16.2) - Базовое ГО под одну непокрытую позицию подписчика для КНУР
base_im_buy_lrc (d16.2) - Базовое ГО под покупку маржируемого опциона для КНУР
base_im_sell_mrc (d16.2) - Базовое ГО под одну непокрытую позицию подписчика для КСУР
base_im_buy_mrc (d16.2) - Базовое ГО под покупку маржируемого опциона для КСУР
В потоке FORTS_REFDATA_REPL в таблице opt_sess_contents поле is_trade_evening объявляется устаревшим и будет удалено в версии 8.6. Вместо него следует использовать поле trade_period_access.
В потоке FORTS_REFDATA_REPL в таблицу sess_option_series добавлено новое поле:
d_sess_assign (t) - Дата исторически первого назначении опционной серии в торги
В потоке FORTS_REFDATA_REPL в таблице session поля pos_transfer_begin и pos_transfer_end объявляются устаревшими и будут удалены в версии 8.6.
В потоке FORTS_INFO_REPL в таблицу base_contracts_params добавлены новые поля:
mr1_erc (f) - Значение ставки рыночного риска для КОУР
mr2_erc (f) - Значение ставки рыночного риска первого лимита концентрации для КОУР
mr3_erc (f) - Значение ставки рыночного риска второго лимита концентрации для КОУР
mr1_hrc (f) - Значение ставки рыночного риска для КПУР
mr2_hrc (f) - Значение ставки рыночного риска первого лимита концентрации для КПУР
mr3_hrc (f) - Значение ставки рыночного риска второго лимита концентрации для КПУР
mr1_lrc (f) - Значение ставки рыночного риска для КНУР
mr2_lrc (f) - Значение ставки рыночного риска первого лимита концентрации для КНУР
mr3_lrc (f) - Значение ставки рыночного риска второго лимита концентрации для КНУР
mr1_mrc (f) - Значение ставки рыночного риска для КСУР
mr2_mrc (f) - Значение ставки рыночного риска первого лимита концентрации для КСУР
mr3_mrc (f) - Значение ставки рыночного риска второго лимита концентрации для КСУР
В потоке FORTS_INFO_REPL в таблицу investor добавлено новое поле:
client_risk_level (i4) - Категория уровня риска клиента
5. Изменения в терминале срочного рынка

В окне Финансовые инструменты добавлены новые параметры:
Рыночный риск (КОУР) - Значение ставки рыночного риска для КОУР
Рыночный риск 1 (КОУР) - Значение ставки рыночного риска первого лимита концентрации для КОУР
Рыночный риск 2 (КОУР) - Значение ставки рыночного риска второго лимита концентрации для КОУР
Рыночный риск (КПУР) - Значение ставки рыночного риска для КПУР
Рыночный риск 1 (КПУР) - Значение ставки рыночного риска первого лимита концентрации для КПУР
Рыночный риск 2 (КПУР) - Значение ставки рыночного риска второго лимита концентрации для КПУР
Рыночный риск (КНУР) - Значение ставки рыночного риска для КНУР
Рыночный риск 1 (КНУР) - Значение ставки рыночного риска первого лимита концентрации для КНУР
Рыночный риск 2 (КНУР) - Значение ставки рыночного риска второго лимита концентрации для КНУР
Рыночный риск (КСУР) - Значение ставки рыночного риска для КСУР
Рыночный риск 1 (КСУР) - Значение ставки рыночного риска первого лимита концентрации для КСУР
Рыночный риск 2 (КСУР) - Значение ставки рыночного риска второго лимита концентрации для КСУР
В окне Лимитирование добавлены новые параметры:
ГО позиции - ГО позиции по текущей цене
Оперативный риск - Текущий оперативный риск
6. Изменения в отчетах

В отчетах  f07.csv, dayf07.csv новые поля:
buy_deposit_erc numeric(16,2) - Базовое ГО покупателя для КОУР
sell_deposit_erc numeric(16,2) - Базовое ГО продавца для КОУР
buy_deposit_hrc numeric(16,2) - Базовое ГО покупателя для КПУР
sell_deposit_hrc numeric(16,2) - Базовое ГО продавца для КПУР
buy_deposit_lrc numeric(16,2) - Базовое ГО покупателя для КНУР
sell_deposit_lrc numeric(16,2) - Базовое ГО продавца для КНУР
buy_deposit_mrc numeric(16,2) - Базовое ГО покупателя для КСУР
sell_deposit_mrc numeric(16,2) - Базовое ГО продавца для КСУР
В отчетах  o07.csv, dayo07.csv новые поля:
base_im_covered_sell_erc numeric(16,2) - Базовое ГО под одну покрытую позицию подписчика для КОУР
base_im_covered_sell_hrc numeric(16,2) - Базовое ГО под одну покрытую позицию подписчика для КПУР
base_im_covered_sell_lrc numeric(16,2) - Базовое ГО под одну покрытую позицию подписчика для КНУР
base_im_covered_sell_mrc numeric(16,2) - Базовое ГО под одну покрытую позицию подписчика для КСУР
base_im_sell_erc numeric(16,2) - Базовое ГО под одну непокрытую позицию подписчика для КОУР
base_im_buy_erc numeric(16,2) - Базовое ГО под покупку маржируемого опциона для КОУР
base_im_sell_hrc numeric(16,2) - Базовое ГО под одну непокрытую позицию подписчика для КПУР
base_im_buy_hrc numeric(16,2) - Базовое ГО под покупку маржируемого опциона для КПУР
base_im_sell_lrc numeric(16,2) - Базовое ГО под одну непокрытую позицию подписчика для КНУР
base_im_buy_lrc numeric(16,2) - Базовое ГО под покупку маржируемого опциона для КНУР
base_im_sell_mrc numeric(16,2) - Базовое ГО под одну непокрытую позицию подписчика для КСУР
base_im_buy_mrc numeric(16,2) - Базовое ГО под покупку маржируемого опциона для КСУР
base_im_sell numeric(16,2) - Базовое ГО под одну непокрытую позицию подписчика
base_im_covered_sell numeric(16,2) - Базовое ГО под одну покрытую позицию подписчика
В отчетах  o07.csv, dayo07.csv поле basegobuy переименовано в base_im_buy.
В пакет REBATEYYYYMMDD.zip добавлен новый клиентский отчет о возвратной премии участникам маркетинговой программы по опционам rebate_options_XXYY.csv. 


-----------------------------------------------------------------------------------------------------
7.30.5 (2024.12.24)
SPECTRA-7.30.5

1. Подготовка к новой маржиналке: новый признак маркировки клиентов

В связи с внедрением нового регулирования маржинальной торговли клиентов для участников, в ТС Спектра на уровне оконечного 7кк добавляется новый признак - Категория уровня риска клиента:

Не указано (значение по умолчанию)
Клиент с Начальным Уровнем Риска (КНУР)
Клиент со Стандартным Уровнем Риска (КСУР)
Клиент с Повышенным Уровнем Риска (КПУР)
Клиент с Особым Уровнем Риска (КОУР)
Данный признак в дальнейшем будет использоваться в доработках по новой маржиналке - необходимо будет рассчитывать индикативное ГО по категории маржирования, а также использовать эти категории для претрейда.

Задание уровня риска клиента производится участниками через систему ЕРК, участник может не передавать категорию для своего клиента и в этом случае используется значение по умолчанию. Существует возможность менять категорию внутри дня, признаки КСУР\КПУР\КНУР\КОУР применяются в ТС Спектра в вечерний клиринг. При изменении категории - до ВК будет расчет по старой категории, после ВК - по новой категории.

Категория уровня риска клиента показывается в Терминале Срочного рынка (окно Лимитирование, параметр Уровень риска), транслируется в шлюзе (FORTS_REFDATA_REPL:investor:client_risk_level) и отчетах (clientsXXYY.csv/clientsXX00.csv, поле client_risk_level).

2. Изменения в интерфейсах и API

2.1. CGATE

В потоке FORTS_REFDATA_REPL в таблицу investor добавлено новое поле client_risk_level (i2) - Категория уровня риска клиента:

0 - Не указано (значение по умолчанию)
1 - Клиент с Начальным Уровнем Риска (КНУР)
2 - Клиент со Стандартным Уровнем Риска (КСУР)
3 - Клиент с Повышенным Уровнем Риска (КПУР)
4 - Клиент с Особым Уровнем Риска (КОУР)
3. Изменения в отчетах

В отчетах clientsXXYY.csv/clientsXX00.csv добавлено последним новое поле client_risk_level (тип i2) - Категория уровня риска клиента:

0 - Не указано (значение по умолчанию)
1 - Клиент с Начальным Уровнем Риска (КНУР)
2 - Клиент со Стандартным Уровнем Риска (КСУР)
3 - Клиент с Повышенным Уровнем Риска (КПУР)
4 - Клиент с Особым Уровнем Риска (КОУР)


-----------------------------------------------------------------------------------------------------
7.30 (2023.10.04)
SPECTRA-7.30

1. Онлайн сброс пароля

В системе реализована поддержка одноразовых паролей. Теперь при регистрации в торговой системе или при сбросе старого пароля участнику выдается логин и одноразовый пароль, который участник самостоятельно в течение 7 дней должен сменить на постоянный. По истечению этого срока одноразовый пароль становится недействительным. Участнику, авторизованному в системе с одноразовым паролем, не доступны никакие операции, кроме операции смены пароля.

Смена пароля осуществляется стандартными способами:

Через торговый терминал, диалог смены пароля автоматически вызывается при авторизации пользователя с одноразовым паролем.
С помощью CGate API, подробности можно найти в документации (https://ftp.moex.com/pub/ClientsAPI/Spectra/CGate/test/docs/cgate_ru.pdf).
Воспользоваться специальной утилитой change_password из дистрибутива CGate и SpectraIM, описание утилиты приведено в документации (https://ftp.moex.com/pub/ClientsAPI/Spectra/CGate/test/docs/p2gate_ru.pdf).
Меняется способ передачи логина/пароля пользователю, теперь они будут приходить в виде полноценного отчета (по каждому логину) в Личный кабинет участника. Для пользователей SpectraIM и участников, по которым нет технической возможности отправки отчетов, порядок получения логина/пароля остается прежним.

2. Снятие GTD заявок в режиме закрытия позиций

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

3. Учет лимитов концентрации при оценке обеспечения в вечерний клиринг на РК без установленного признака "Единый пул" на Срочном рынке

Произведена доработка механизма переоценки обеспечения на расчетных кодах без установленного признака "Единый пул" на Срочном рынке. Теперь активы, принимаемые в обеспечение на расчетных кодах без установленного признака "Единый пул", учитываются на основе ежедневной переоценки с дисконтом, равным Минимальному ограничительному уровню Ставки обеспечения первого, второго или третьего уровня с учетом лимитов концентрации. Переоценка обеспечения производится в вечерний клиринг.

4. Изменения в интерфейсах и API

4.1. CGATE

В потоке FORTS_REFDATA_REPL в таблицы fut_instruments и fut_sess_contents добавлены новые поля:
trade_mode_id (i4) - Идентификатор режима торгов.
group_mask (i8) - Битовая маска групп, в которые входит инструмент.
В потоке FORTS_REFDATA_REPL в таблицу opt_sess_contents добавлены новые поля:
trade_mode_id (i4) - Идентификатор режима торгов.
group_mask (i8) - Битовая маска групп, в которые входит инструмент.
is_trade_evening (i1) - Признак торговли в основную и/или дополнительную сессию.
В потоке MCXSPOT_INFO_REPL в таблице CURRENCY изменен тип поля DIVIDENDVALUE на d16.6.
В потоке MCXSPOT_INFO_REPL в таблице TRDTIMETYPES изменен тип поля DESCRIPTION на c128.
В потоке MCXSPOT_INFO_REPL в таблице TRDTIMETYPES изменен тип поля LAT_DESCRIPTION на c128.
В потоке MCXCC_INFO_REPL в таблице TRDTIMETYPES изменен тип поля DESCRIPTION на c128.
4.2. FIX

В сообщении New Order Single для поля SecondaryClOrdID (tag 526) добавлено ограничение: Поле не должно содержать управляющих символов (0x00-0x1F и 0x7F) и поле должно конвертироваться из cp1251 в utf-8.

5. Изменения в репозитории схем подачи команд

В команды добавления заявок AddOrder и IcebergAddOrder для поля comment (комментарий пользователя) добавлено ограничение: "Поле не должно содержать управляющих символов (0x00-0x1F и 0x7F) и поле должно конвертироваться из cp1251 в utf-8". В случае не соблюдения данных ограничений заявка будет отклонена с ошибкой: 4180 - Ошибка во входных параметрах: поле комментарий содержит недопустимые символы.

6. Изменения в терминале срочного рынка

В окне 'Ввод заявки' для поля 'Комментарий' добавлено ограничение: Поле не должно содержать управляющих символов (0x00-0x1F и 0x7F) и поле должно конвертироваться из cp1251 в utf-8.
Добавлена поддержка одноразовых паролей. Диалог смены пароля автоматически вызывается при авторизации пользователя с одноразовым паролем.
Добавлена возможность в окне настроек на вкладке 'Торговля' задать счет, который будет по умолчанию подставляться в стандартную форму 'Ввод заявки', чтобы не нужно было каждый раз выбирать его из списка.
В окно 'Лимитирование' добавлен новый параметр 'Уровень риска' - Категория уровня риска клиента.
7. Изменения в SpectraIM

В состав дистрибутива SpectraIM добавлена утилита для смены пароля - change_password.exe.

-----------------------------------------------------------------------------------------------------
7.24 (2023.05.17)
SPECTRA-7.24

1. Вечные фьючерсы на российские акции

В версии 7.24 в ТС Спектра реализована поддержка новых производных инструментов – однодневных фьючерсных контрактов с автопролонгацией на акции российских эмитентов. Технически данные вечные фьючерсы срочного рынка реализованы аналогично существующим вечным фьючерсам на индекс:

Ежедневная автопролонгация: каждый день происходит автоматическое продление однодневного контракта на 1 день.
Расчетная цена в промежуточный и вечерний клиринг определяется по расчетным ценам акции на Фондовом рынке Московской биржи.
В формуле расчета вариационной маржи в вечерний клиринг учитывается отклонение цен вечного фьючерса от расчетных цен базисного актива (фандинг), а также дивидендная поправка.
Исполнение вечного фьючерса в соответствующий квартальный фьючерс возможно раз в квартал.
Более детальное описание можно посмотреть в соответствующих спецификациях контрактов.

2. Ввод режима ограничения открытия позиций

Реализован новый функционал для установки по решению Биржи в отношении одного или нескольких срочных контрактов режима заключения сделок, приводящих исключительно к закрытию или сокращению позиций. То есть режима, при котором ограничивается возможность открытия новых позиций по данному инструменту независимо от направления сделки. Ограничения устанавливаются по всем контрактам рассматриваемого базового актива. При попытке выставить заявку по инструменту, у которого установлено ограничение, участнику вернется ошибка: '140' - Запрещено увеличение позиции по всем инструментам данного БА.

Информацию об установленных ограничениях можно отслеживать по состоянию торгов инструментом, которое транслируется в шлюзе PLAZA II в поле state таблиц fut_sess_contents и opt_sess_contents потока FORTS_REFDATA_REPL:

'8' - Сессия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
'9' - Аукцион открытия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
А также в шлюзах FAST и SIMBA в поле SecurityTradingStatus в сообщениях SecurityDefinition и SecurityStatus:

'123' - Сессия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
'124' - Аукцион открытия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
3. Доработка вармаржи по вечным фьючерсам при отмене автопролонгации

Модифицируется расчет вариационной маржи при отмене автопролонгации для вечных фьючерсов на индексы и акции. При отмене автопролонгации в расчете вариационной маржи по техническим сделкам закрытия позиции не учитывается фандинг (компонента SwapRate) и дивидендная поправка (компонента IndexDiv). Отличительные признаки технической сделки, закрывающей позицию по ВФ в результате отмены автопролонгации:

Сделка по инструменту ВФ (fut_sess_contents.signs проставлен флаг 0x4000 Однодневный фьючерсный контракт с автопролонгацией).
В сделке в поле xStatus проставлен флаг ClearingTrade 0x2000000 Техническая клиринговая сделка, сформированная вне торгов.
4. По протоколам FAST и SIMBA в 7.24 не сохраняется обратная совместимость для клиентов

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

В протоколе FAST изменен ID шаблона сообщений SecurityDefinition c '36' на '38'.
Версия схемы сообщений SIMBA (атрибут version в элементе sbe:messageSchema) изменена с 4 на 5.
Отсутствие корректировок схем сообщений FAST и SIMBA на Вашей стороне приведет к тому, что Вы не сможете подключиться к существующим сервисам, обратная совместимость с существующими схемами будет потеряна. Пожалуйста, проведите необходимые доработки, чтобы не потерять доступ к сервисам.

5. Изменения в интерфейсах и API

5.1. CGATE

В потоке FORTS_REFDATA_REPL в таблице fut_sess_contents в поле state добавлена трансляция новых значений:
'8' - Сессия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
'9' - Аукцион открытия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
В потоке FORTS_REFDATA_REPL в таблице opt_sess_contents в поле state добавлена трансляция новых значений:
'6' - Стартовал аукцион открытия по этому инструменту. Можно ставить и удалять заявки по этому инструменту.
'7' - Аукцион открытия по этому инструменту завершен. 
'8' - Сессия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
'9' - Аукцион открытия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
В потоке FORTS_REFDATA_REPL в таблицы fut_sess_contents и fut_instruments добавлено новое поле:
tas_base_fut_isin_id (i4) - Идентификатор (isin_id) БА-фьючерса для TAS-фьючерса.
5.2 SIMBA SPECTRA

Версия схемы сообщений (атрибут version в элементе sbe:messageSchema) изменена с 4 на 5.
В сообщение SecurityDefinition (msg id=20) добавлено поле SettlPrice: Расчетная цена после последнего клиринга для фьючерсов и календарных спредов / Расчетная цена (Теоретическая цена опциона) после последнего клиринга для опционов. Идентификатор сообщения (msg id) изменен с 18 на 20.
В сообщении SecurityDefinition (msg id=20) для поля CFICode добавлено новое значение:
'FFSCSX' - однодневный фьючерсный контракт на акцию с автопролонгацией (Standardized Financial Future on Stock-Equity, Cash delivery).
В сообщениях SecurityDefinition (msg id=20) и SecurityStatus (msg id=9) в поле SecurityTradingStatus добавлена трансляция новых значений:
'123' - Сессия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
'124' - Аукцион открытия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
5.3 FAST

Изменен ID шаблона сообщений SecurityDefinition c '36' на '38'.
В сообщениях Security Definition (d) и Security Status (f) для поля SecurityTradingStatus добавлены новые статусы инструментов:
'123' - Сессия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
'124' - Аукцион открытия по этому инструменту идет. Можно ставить заявки в закрытие по этому инструменту.
В сообщении Security Definition (d) для поля CFICode добавлено новое значение:
'FFSCSX' - однодневный фьючерсный контракт на акцию с автопролонгацией (Standardized Financial Future on Stock-Equity, Cash delivery).
В сообщение Security Definition (d) добавлено поле SettlPrice: Расчетная цена после последнего клиринга для фьючерсов и календарных спредов / Расчетная цена (Теоретическая цена опциона) после последнего клиринга для опционов.
6. Изменения в отчетах

F07.csv – результаты торгов фьючерсными контрактами.  Формат отчета не меняется. Изменения затронут логику расчета значений. Изменения унифицируют правила расчета итогов торгов в отчете F07 и на сайте МБ.
Сейчас итоги торгов для фьючерсов не включают сделки, заключенные в результате операций с календарными спредами. Отчет содержит отдельные строки:
Итоги торгов с фьючерсами, без учета сделок с календарными спредами
Итоги торгов с календарными спредами
В результате доработки итоги торгов для фьючерсов будут включать сделки, заключенные в результате операций с календарными спредами.
Итоги торгов с фьючерсами, с учетом сделок с календарными спредами
Итоги торгов с календарными спредами
7. Изменения в интерфейсах, планируемые в будущих релизах

Напоминаем, что в интерфейсе CGATE в версии 7.27 планируются следующие изменения:

Планируется удаление устаревшего потока FORTS_MISCINFO_REPL.

-----------------------------------------------------------------------------------------------------
7.18 (2023.10.17)
SPECTRA-7.18


1. Премиальные опционы на индексы

В версии 7.18 в ТС Спектра реализована поддержка новых производных инструментов – европейских премиальных расчетных опционов на индекс (ОнИ). По аналогии с опционами на акции запускаемые опционы (опционные серии) привязываются к коллатеральному фьючерсному инструменту, который соответствует индексу (asset_class=4). На уровне ОС добавляются новые параметры, значения которых будут использоваться в формулах ценообразования опционов:

r2 - Ставка дивидендной доходности q.
interest_rate2_risk_up - Ставка рассогласования процентного риска в сценарии движения ставки r2 вверх.
interest_rate2_risk_down - Ставка рассогласования процентного риска в сценарии движения ставки r2 вниз.
Данные параметры транслируются в шлюзе в таблицах sess_option_series и option_series_params потоков FORTS_REFDATA_REPL и FORTS_INFO_REPL соответственно. Остальные параметры, используемые для расчета теоретической цены опционов на индекс, соответствуют параметрам, используемым для расчета теоретической цены опционов на акции. Детальное описание можно посмотреть в соответствующих спецификациях контрактов.

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

2. Адресный режим с мэтчингом по уникальному коду

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

Новый адресный режим наследует функционал, свойства и атрибуты существующего адресного режима в заявках, мэтчинге, сделках, отчетах. Для отличия заявок и сделок в режиме "Адресный с мэтчингом по уникальному коду" у них в дополнение к признаку Address (0x4000000) выставляется новый флаг NegotiatedMatchByRef (0x80000000) - Признак заявки или сделки, сформированной в режиме "Адресный с мэтчингом по уникальному коду".

3. Переезд fut_rejected_orders и opt_rejected_orders в отдельный поток

В версии 7.18 в ТС Спектра доработан функционал перевыставления в клиринг многодневных заявок (реализован как отдельный сервис) и теперь реестр отвергнутых в клиринг заявок публикуется в шлюзе в отдельном потоке FORTS_REJECTEDORDERS_REPL. Начиная с версии 7.18 таблицы fut_rejected_orders и opt_rejected_orders потока FORTS_REFDATA_REPL объявляются устаревшими и планируются к удалению в версии 7.24. Обращаем внимание, что старые таблицы fut_rejected_orders и opt_rejected_orders перестают заполняться данными уже в версии 7.18, необходимо переходить на таблицу rejected_orders потока FORTS_REJECTEDORDERS_REPL.

4. Изменения в интерфейсах и API

4.1. CGATE

Добавлен новый поток FORTS_REJECTEDORDERS_REPL - Отвергнутые в клиринг заявки. Таблицы:
rejected_orders - Отвергнутые в клиринг заявки. Таблица используется вместо устаревших таблиц fut_rejected_orders и opt_rejected_orders потока FORTS_REFDATA_REPL.
В потоке FORTS_COMMON_REPL из таблицы sys_events удалено устаревшее поле type. Вместо него следует использовать поле event_type.
В потоке FORTS_REFDATA_REPL из таблицы session удалено устаревшее поле opt_sess_id. Вместо него следует использовать поле sess_id.
В потоке FORTS_REFDATA_REPL начиная с версии 7.18 таблицы fut_rejected_orders и opt_rejected_orders объявляются устаревшими и будут удалены в версии 7.24. Вместо этих таблиц надо использовать таблицу rejected_orders потока FORTS_REJECTEDORDERS_REPL.
В потоке RTS_INDEX_REPL из таблицы rts_index удалено устаревшее поле value. Вместо него следует использовать поле value_highprec.
4.2 SIMBA SPECTRA

В сообщении SecurityDefinition (msg id=12) для поля CFICode добавлены новые значения:
'OCEICS' - европейский расчетный опцион Call на индекс.
'OPEICS' - европейский расчетный опцион Put на индекс.
В MDFlagsSet добавлен новый бит: "NegotiatedMatchByRef" – Признак адресной заявки или сделки с мэтчингом по уникальному коду.
В сообщении OrderUpdate (msg id=15) в поле MDFlags добавлена трансляция флага: 0x80000000 - Признак адресной заявки с мэтчингом по уникальному коду.
В сообщении OrderExecution (msg id=16) в поле MDFlags добавлена трансляция флага: 0x80000000 - Признак адресной сделки с мэтчингом по уникальному коду.
4.3 FAST

В сообщение SecurityDefinition (d) для поля CFICode добавлены новые значения:
'OCEICS' - европейский расчетный опцион Call на индекс.
'OPEICS' - европейский расчетный опцион Put на индекс.
В сообщениях Market Data - Incremental Refresh (X) для параметра MDFlags добавлено новое значение:
0x80000000 - Признак адресной заявки/сделки с мэтчингом по уникальному коду
Прекращена трансляция идентификаторов индексов и индикативных курсов валют в поле SecurityID в сообщениях DefaultIncrementalRefreshMessage  и DefaultSnapshotMessage  в потоке INDEX. Во всех сообщениях в потоке INDEX в поле транслируется 'nullValue'. Необходимо в качестве уникального идентификатора индексов и индикативных курсов валют использовать значение поля Symbol.
4.4 FIX

В шлюзе FIX и в сервисе FIX Drop Copy для поля Flags (tag 20008) добавлено новое значение:
0x80000000 – Признак адресной заявки, адресной сделки с мэтчингом по уникальному коду.
4.5 TWIME

В FlagsSet добавлен новый бит: "NegotiatedMatchByRef" – Признак адресной сделки с мэтчингом по уникальному коду.
В сообщении ExecutionSingleReport (message id=7019) в поле Flags добавлена трансляция флага: 0x80000000 - Признак адресной сделки с мэтчингом по уникальному коду.
В сообщении ExecutionMultilegReport (message id=7020) в поле Flags добавлена трансляция флага: 0x80000000 - Признак адресной сделки с мэтчингом по уникальному коду.
5. Изменения в репозитории схем подачи команд

Удалены медленные версии команды ChangeClientMoney (версии команд с ID in = 4, 60, 63, 67, 409, 425 / Reply ID out = 104 ), ранее объявленные устаревшими. Используйте более быструю версию команды ChangeClientMoney с ID in = 458 / Reply ID out = 187.

6. Изменения в терминале Срочного рынка

В окна 'Финансовые инструменты', 'Позиции/ поручения' и 'Опционный калькулятор' добавлен новый параметр:
Ро2 - Измеряет чувствительность цены опциона к изменению безрисковой процентной ставки q.
В окно 'Доска опционов' добавлены новые параметры:
Ро2: колл - Измеряет чувствительность цены опциона к изменению безрисковой процентной ставки q;
Ро2: пут - Измеряет чувствительность цены опциона к изменению безрисковой процентной ставки q.
В раздел 'Формулы расчета "греков"' добавлен расчет параметра Ро2.
В окне 'Опционный калькулятор' в области 'Графики' добавлена новая вкладка для Ро2.
В окна 'Финансовые инструменты', 'Информация' и 'Доска опционов' добавлен новый параметр:
Опционная модель - Модель ценообразования опционов. Параметр отображает модель ценообразования, которая транслируется в Торговой системе для базового контракта.
В виджет выбора модели ценообразования опционов добавлено новое значение <автовыбор>. Если оно выбрано, то используется та модель, которая транслируется для базового контракта в Торговой системе.

-----------------------------------------------------------------------------------------------------
7.15 (2023.07.25)
SPECTRA-7.15

1. Премиальные опционы на валюту

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

r2 - Безрисковая ставка FX2 валютной пары FX2/FX1.
interest_rate2_risk_up - Сценарий процентного риска роста для ставки r2.
interest_rate2_risk_down - Сценарий процентного риска падения для ставки r2.
Данные параметры транслируются в шлюзе в таблицах sess_option_series и option_series_params потоков FORTS_REFDATA_REPL и FORTS_INFO_REPL соответственно. Остальные параметры, используемые для расчета теоретической цены опционов на иностранную валюту, соответствуют параметрам, используемым для расчета теоретической цены опционов на акции.

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

2. Премиальные опционы на товары

В версии 7.15 в ТС Спектра реализована поддержка новых производных инструментов – европейских премиальных расчетных опционов на товары (ОнТ). Модель маржирования, алгоритм расчета кривой волатильности и формулы ценообразования для опционов на товары полностью наследуются из модели реализованных в системе опционов на акции, ввода каких-либо дополнительный параметров не планируется. Порядок расчета NetOptionValue также аналогичен расчету этого параметра для ОнА. По аналогии с опционами на акции запускаемые опционы (опционные серии) привязываются к коллатеральному фьючерсному инструменту, базовым активом для которого является товар (asset_class=5). Исполнение контрактов происходит в последний день обращения в автоматическом режиме, заявки на исполнение/отказ от исполнения по таким контрактам приниматься не будут. На первом этапе планируется запуск опционов на золото с последующим расширением линейки базовых активов.

3. Дивидендная поправка для вечных фьючерсов на фондовый индекс

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

4. Доработка алгоритма подбора параметров волатильности 

С версии 7.15 изменится алгоритм расчёта параметров вменённой волатильности. При этом все текущие схемы останутся без изменений.

5. Изменения в порядке регистрации клиентов участников торгов

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

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

Новая версия сервиса единой регистрации клиентов доступна для тестирования по адресу https://play-apim.beta.moex.com/
В новой версии сервиса реализованы хранение и обработка данных всей цепочки лиц, участвующих в обеспечении доступа к торгам конечного клиента. При этом набор операций над клиентской записью и существующий набор типов клиентов остаются без изменений.

Изменения в структуру таблиц шлюзового API не вносятся. 

Отчет clientsXXYY.csv дополнен сведениями обо всех зарегистрированных в информационных системах МБ клиентах УТ и клиентах 2-го уровня, прямо либо опосредованно задействованных в заключении договоров на организованных торгах. Все уровни клиентов будут отображаться в отчете одной строкой. См. также пункт "Изменения в отчетах".

6. Изменения в интерфейсах и API

6.1. CGATE

Исправлена ошибка генерации схем для сообщений с одним полем. Необходимо произвести перегенерацию схем, созданных с помощью schemetool, и пересобрать клиентский код, который их использует.
Добавлен новый поток FORTS_USER_REPL - Пользователи. Таблицы:
user - Пользователи системы
sma_master - Привязка SMA-логина к MASTER-логину
sma_pre_trade_check - Настройки предварительных проверок SMA-логина
sys_events - Таблица событий   
В потоке FORTS_REFDATA_REPL удалена устаревшая таблица option_series. Вместо этой таблицы надо использовать таблицу sess_option_series.
В потоке FORTS_REFDATA_REPL из таблицы sess_option_series удалено устаревшее поле state. Вместо него следует использовать поле state из таблицы opt_sess_contents.
В потоке FORTS_REFDATA_REPL из таблицы investor удалено устаревшее поле status. Вместо него следует использовать поле xstatus.
В потоке FORTS_REFDATA_REPL в таблицу sess_option_series добавлены поля:
interest_rate_risk_up (f) - Ставка рассогласования процентного риска в сценарии движения ставки вверх.
interest_rate_risk_down (f) - Ставка рассогласования процентного риска в сценарии движения ставки вниз.
r2 (f) - Безрисковая ставка FX2 валютной пары FX2/FX1.
interest_rate2_risk_up (f) - Сценарий процентного риска роста для ставки r2.
interest_rate2_risk_down (f) - Сценарий процентного риска падения для ставки r2.
В потоке FORTS_CLR_REPL в таблицы fut_pos, opt_pos, fut_pos_sa и opt_pos_sa добавлено поле:
sbor_nosys (d16.2) - Сумма биржевого сбора/сбора расчетной организации и комиссионного вознаграждения Клирингового центра за внесистемные сделки (руб.).
В потоке FORTS_CLR_REPL в таблицу fut_sess_settl добавлено поле:
index_div (d18.4) - Дивидендная поправка для ВФ на индекс.
В поток FORTS_VM_REPL добавлена таблица событий sys_events.
В поток FORTS_VOLAT_REPL добавлена таблица событий sys_events.
В потоке FORTS_INFO_REPL в таблицу option_series_params добавлены поля:
r2 (f) - Безрисковая ставка FX2 валютной пары FX2/FX1.
interest_rate2_risk_up (f) - Сценарий процентного риска роста для ставки r2.
interest_rate2_risk_down (f) - Сценарий процентного риска падения для ставки r2.
В потоке FORTS_TNPENALTY_REPL в таблицу fee_tn добавлено поле:
num_orders (i4) - Количество удаленных заявок.
6.2 SIMBA SPECTRA

В сообщение SecurityDefinition (msg id=12) добавлены поля:
InterestRateRiskUp - Ставка рассогласования процентного риска в сценарии движения ставки вверх.
InterestRateRiskDown - Ставка рассогласования процентного риска в сценарии движения ставки вниз.
RiskFreeRate2 - Безрисковая ставка FX2 валютной пары FX2/FX1.
InterestRate2RiskUp - Сценарий процентного риска роста для ставки RiskFreeRate2.
InterestRate2RiskDown - Сценарий процентного риска падения для ставки RiskFreeRate2.
В сообщении SecurityDefinition (msg id=12) изменения для поля CFICode:
CFI код "'JFTXCC' - Однодневный фьючерсный контракт с автопролонгацией (Contract for difference, Cash Settled)" заменен на "'FFCCSX' - Однодневный фьючерсный контракт на валюту с автопролонгацией (Standardized Financial Future on Currency, Cash delivery)".
Добавлен новый CFI код: "'FFICSX' - Однодневный фьючерсный контракт на индекс с автопролонгацией (Standardized Financial Future on Index, Cash delivery)".
Идентификатор сообщения SecurityDefinition (msg id=12) изменен на msg id=18.
Добавлено сообщение SecurityMassStatus (msg id=19) - Пакетированное сообщение для ускоренной раздачи торговых статусов инструментов.
Добавлена повторяющаяся группа полей 'groupSize2'.
Версия схемы сообщений (атрибут version в элементе sbe:messageSchema) изменена с 3 на 4.
6.3 FAST

В сообщение SecurityDefinition (d) добавлены новые поля:
InterestRateRiskUp - Ставка рассогласования процентного риска в сценарии движения ставки вверх
InterestRateRiskDown - Ставка рассогласования процентного риска в сценарии движения ставки вниз
RiskFreeRate2 - Безрисковая ставка FX2 валютной пары FX2/FX1 (для премиальных
опционов на валюту); ставка дивидендной доходности q (для премиальных опционов
на индекс)
InterestRate2RiskUp - Сценарий процентного риска роста для ставки RiskFreeRate2
InterestRate2RiskDown - Сценарий процентного риска падения для ставки
RiskFreeRate2
В сообщении SecurityDefinition (d) изменения для поля CFICode:
CFI код "'JFTXCC' - Однодневный фьючерсный контракт с автопролонгацией
(Contract for difference, Cash Settled)" заменен на "'FFCCSX' - Однодневный фьючерсный контракт на валюту с автопролонгацией (Standardized Financial Future on
Currency, Cash delivery)"
Добавлен новый CFI код: "'FFICSX' - Однодневный фьючерсный контракт на индекс
с автопролонгацией (Standardized Financial Future on Index, Cash delivery)"
В сообщении SecurityDefinition (d) новое значение для поля SecurityTradingStatus:
'20' - Неизвестное состояние торгов по инструменту
Идентификатор сообщения SecurityDefinition (msg id=23) изменен на msg id=36.
В собщениях Market Data - Snapshot / Full Refresh (W) и Market Data - Incremental
Refresh (X) для параметра MDEntryType добавлено новое значение:
z - Дивидендная поправка для вечного фьючерса на индекс
Добавлено сообщение SecurityMassStatus - Пакетированное сообщение для ускоренной раздачи торговых статусов инструментов.
В сообщении DiscreteAuction (MessageType = U1) поля NoUnderlyings и
UnderlyingSymbol стали необязательными.
7. Изменения в отчетах

Отчеты dayriskparamsXXYY.csv и riskparamsXXYY.csv формируются только по свернутым до РФ данным, Если данных для отчета нет, то отчет не формируется.
В отчете clientsXXYY.csv новое поле для отображения всех уровней клиентов:
N_LEVEL (тип VARCHAR(4000)) – Иерархия уровней клиентов (строка с разделителем «/»)
В отчете f07 новое поле:
index_div (тип d18.4) - дивидендная поправка (для ВФ на индекс).
В отчетах f04 и f04cl_XXYY.csv новые поля:
var_marg_b_index_div (тип d16.2) - составляющая вариационной маржи покупателя, связанная с дивидендной поправкой (для ВФ на индекс), 
var_marg_s_index_div(тип d16.2) - составляющая вариационной маржи продавца, связанная с дивидендной поправкой (для ВФ на индекс).
В отчетах fpos и fposcl_XXYY.csv новые поля:
var_marg_p_index_div (тип d16.2) – составляющая вариационной маржи по открытым позициям на начало дня, связанная с дивидендной поправкой (для ВФ на индекс), 
var_marg_d_index_div (тип d16.2) – составляющая вариационной маржи по сделкам, связанная с дивидендной поправкой (для ВФ на индекс).
8. Изменения в терминале Срочного рынка

Появилась возможность организации группового чата прямо из терминала:
новый пункт основного меню - 'Веб/ Чат'
новая кнопка на панели инструментов
новое окно для группового чата
новый плагин 'Веб-браузер'
новый раздел в настройках 'Веб-браузер'
Изменения в 'Опционном калькуляторе' -:
из пункта основного меню 'Торговля/ Опционный калькулятор' удален выбор базового актива, для которого открывается окно. Выбор базового актива теперь осуществляется из самого окна Опционного калькулятора - для чего разработан специальный фильтр;
в область с графиками добавлена возможность выбора базового контракта: Опционы на спот/ Опционы на фьючерс;
в форму добавления позиций в модельный портфель добавлен параметр 'Тип БК' - тип базового контракта.
В окна 'Информация' и 'Финансовые инструменты' добавлен новый параметр: 'Див. поправка пред.' - Дивидендная поправка для вечного фьючерса на индекс в предыдущем клиринге.
Изменены формулы расчета греков по методу Блэка-Шоулза для возможности обработки премиальных опционов на валюту и опционов на индексы. 
9. Изменения в интерфейсах, планируемые в будущих релизах

Напоминаем, что в интерфейсе CGATE в версии 7.18 планируются следующие изменения:

Планируется удаление следующих полей:
FORTS_COMMON_REPL:sys_events:type
FORTS_REFDATA_REPL:session:opt_sess_id
RTS_INDEX_REPL:rts_index:value
Планируется удаление устаревших (медленных) версий команды ChangeClientMoney (версии команд с ID in = 4, 60, 63, 67, 409, 425 / Reply ID
out = 104 ).

-----------------------------------------------------------------------------------------------------
7.12 (2023.04.21)
SPECTRA-7.12

1. Премиальные опционы на валюту (1 этап)

В версии 7.12 на Срочном рынке планируется запуск новых производных инструментов – европейских премиальных расчетных опционов на валюту. На первом этапе опционы на валюту будут запускаться на платформе и опционной модели (прайсинг, маржирование) существующих в системе опционов на акции (ОнА), ввода каких-либо дополнительный параметров не планируется. По аналогии с опционами на акции запускаемые опционы (опционные серии) привязываются к коллатеральному фьючерсному инструменту, базовым активом для коллатерального фьючерсного инструмента является валютный курс (asset_class=2). Таким образом, иерархическая структура инструментов не меняется.

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

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

2. Изменения в интерфейсах и API

2.1. CGATE

В потоке FORTS_COMMON_REPL в таблицу sys_events добавлено поле:
event_type (i4) - Тип синхрособытия
В потоке FORTS_COMMON_REPL начиная с версии 7.12 поле type в таблице sys_events объявляется устаревшим и будет удалено в версии 7.18. Вместо него следует использовать поле event_type.
В потоке FORTS_REFDATA_REPL из таблицы opt_sess_contents удалены устаревшие поля d_exec_beg и d_exec_end. Вместо них следует использовать поле expiration_date из таблицы sess_option_series.
В потоке FORTS_REFDATA_REPL из таблицы opt_sess_contents удалено устаревшее поле step_price. Вместо него следует использовать поле step_price из таблицы sess_option_series.
В потоке FORTS_REFDATA_REPL начиная с версии 7.12 поле opt_sess_id в таблице session объявляется устаревшим и будет удалено в версии 7.18. Вместо него следует использовать поле sess_id.
В потоке FORTS_REFDATA_REPL в таблицу sess_option_series добавлены поля:
step_price_clr (d16.5) - Стоимость шага цены вечернего клиринга.
step_price_interclr (d16.5) - Стоимость шага цены промежуточного клиринга.
В потоке FORTS_CLR_REPL из таблиц fut_pos, opt_pos, fut_pos_sa и opt_pos_sa удалены поля vat_ex и vat_cc.
В потоке RTS_INDEX_REPL начиная с версии 7.12 поле value в таблице rts_index объявляется устаревшим и будет удалено в версии 7.18. Вместо него следует использовать поле value_highprec.
2.2 SIMBA SPECTRA

В сообщениях SecurityDefinition (msg id=12) и SecurityStatus (msg id=9) в поле SecurityTradingStatus добавлена трансляция нового значения:
'20' - Неизвестное состояние торгов по инструменту.
'122' - Сессия по инструменту приостановлена. Нельзя ставить заявки, но можно удалять по этому инструменту.
В сообщениях SecurityDefinition (msg id=12) и SecurityStatus (msg id=9) в поле SecurityTradingStatus изменено описание для значения '2' - Приостановка торгов по всем инструментам. Нельзя ставить заявки, но можно удалять.
В сообщении SecurityDefinition (msg id=12):
Для поля NoEvents изменились допустимые значения:
'1' - для фьючерсов.
'2' - для опционов.
Прекращена трансляция полей с EventType=5 (Дата ввода инструмента в обращение) и EventType=100 (Дата начала экспирации инструмента).
2.3 FAST

В сообщениях Security Definition (d) и Security Status (f) для атрибута SecurityTradingStatus:
'122' - новое значение - Сессия по инструменту приостановлена. Нельзя ставить заявки, но можно удалять по этому инструменту.
для значения '2' изменено описание - Приостановка торгов по всем инструментам. Нельзя ставить заявки, но можно удалять.
В сообщении SecurityDefinition (d):
для атрибута EventType больше не транслируется значение '100' - Дата начала экспирации инструмента
для атрибута NoEvents изменились допустимые значения:
'1' - для фьючерсов.
'2' - для опционов.
3. Изменения в репозитории схем подачи команд

Медленные версии команды ChangeClientMoney (версии команд с ID in = 4, 60, 63, 67, 409, 425 / Reply ID out = 104 ) начиная с версии 7.12 объявляются устаревшими и будут удалены в версии 7.18. Используйте более быструю версию команды ChangeClientMoney с ID in = 458 / Reply ID out = 187.

4. Изменения в отчетах

В заголовке отчета multilegf04_XXYY.csv удален лишний пробел (между NCC_REQUEST_BUY и NCC_REQUEST_SELL).

5. Изменения в терминале Срочного рынка

В окне 'Финансовые инструменты'добавлен новый параметр 'Тип контракта' - Тип базового контракта.
Границы виджетов в боковой панели теперь могут смещаться по желанию пользователя.
Из окна 'Все сделки' удален неиспользуемый параметр 'Статус' (Статус сделки) в целях уменьшения потребления памяти.
Появилась возможность просмотра веб-страниц и работы с веб-приложениями прямо из терминала:
новый пункт основного меню - Веб/ Веб-браузер
новая кнопка на панели инструментов 
новое окно для веб-браузера
новый плагин - Веб-браузер
новый раздел в настройках - Веб-браузер 
6. Изменения в интерфейсах, планируемые в будущих релизах

Напоминаем, что в интерфейсе CGATE в версии 7.15 планируются следующие изменения:

Планируется удаление следующих полей:
FORTS_REFDATA_REPL:investor:status
FORTS_REFDATA_REPL:sess_option_series:state
Планируется удаление таблицы FORTS_REFDATA_REPL:option_series


-----------------------------------------------------------------------------------------------------
7.9 (2023.02.14)
SPECTRA-7.9

1. Коэффициент ГО в разрезе Базисного актива

В версии 7.9 расширяются возможности брокера по управлению ГО своих клиентов. В дополнение к уже существующему функционалу по управлению ГО на уровне клиентского раздела (Коэффициент клиентского ГО), в системе Спектра реализован коэффициент (множитель) ГО, задаваемый на уровне базисного актива и БФ, который будет применяться одним значением для всех клиентов этой БФ по заявкам/позициям срочных контрактов на выбранный базисный актив. Реализованный функционал значительно расширяет возможности брокера по стимулированию интереса своих клиентов к торговле строго определенными производными инструментами.

Значение коэффициента ГО может изменяться от 0 до 10. Управление новым параметром осуществляется через терминал Срочного рынка и новую шлюзовую команду ChangeBFClientBaseContractParametersNextSession. Применение заданных значений производится в вечерний клиринг. Введенные и примененные значения коэффициента отображаются в терминале Срочного рынка и транслируются шлюзе в таблицах brokers_base_contracts_params потов FORTS_REFDATA_REPL и FORTS_INFO_REPL соответственно.

2. Запрет на кросс-сделки в безадресном режиме на СР

Реализован запрет на совершение кросс-сделок в безадресном режиме. Запрет является глобальным по рынку и распространяется на все типы заявок и применяется для всех инструментов. Для адресного режима возможность совершения кросс-сделок сохраняется. Меняется логика существующего флага "Разрешить кросс-сделки". Возможность совершения кросс-сделок теперь распространяется только на адресные заявки.

3. Снять пассивную заявку при кроссах

Реализована возможность снимать пассивную (мейкерскую) заявку при кросс-сделке, вместо отклонения вновь поступившей (активной). Для управления этой возможностью используется новый флаг "Снять пассивную заявку при кросс-сделке", который выставляется на уровне клиентского раздела по заявлению участника. Если у клиента выставлен такой флаг и кросс-сделки запрещены, то в случае возникновения кросс-сделки его пассивная заявка будет снята. Снятие пассивной заявки подразумевает продолжение сведения активной заявки в рамках транзакции. Если в процессе сведения транзакция не может завершиться успешно, то снятые пассивные заявки восстанавливаются. У снятых пассивных кросс-заявок в поле xstatus выставляется отличительный признак DueToCrossCancel (0x2000).

4. Стабилизационный механизм в ВФ на фондовый индекс

Модифицируется расчет вариационной маржи в вечерний клиринг для вечных фьючерсов на индексы по аналогии с ВФ на валютные пары. Теперь вариационная маржа вечернего клиринга определяется с учетом дополнительной составляющей (SwapRate) - "штрафное фондирование" (фандинг) при отклонении цены вечного фьючерса от цены БА больше допустимой величины. Формулы и детальное описание можно найти в спецификациях контрактов. Значение фандинга публикуется в шлюзе в таблице fut_sess_settl потока FORTS_CLR_REPL в поле swap_rate.

5. Индикативный фандинг в вечных фьючерсах

В целях обеспечения прозрачности расчетов и предоставления участникам информации об индикативном финансовом результате по вечным фьючерсам, в ТС Спектра реализован расчет и публикация в шлюзе индикативного фандинга по вечным фьючерсам (слагаемое SwapRate). Индикативный фандинг считается каждую минуту по формуле, аналогичной расчету фандинга в вечерний клиринг, формулы и детальное описание можно найти в спецификациях контрактов. Значение SwapRate позиционируется как ценовой параметр инструмента, поэтому не транслируется в шлюзе в потоке индикативной вариационной маржи по позиции (FORTS_VM_REPL.fut_vm). Значение фандинга публикуется в шлюзе в таблице common потока FORTS_COMMON_REPL в поле swap_rate.

6. Сервис раздачи запретов

В версии 7.9 раздача потока FORTS_PROHIBITION_REPL переведена на новый сервис раздачи запретов, поэтому рекомендуем клиентам провести регрессионное тестирование.

7. Декомиссия старого функционала

Начиная с версии 7.9 в системе SPECTRA прекращается поддержка сервиса информирования участников о прогнозных значениях риск-параметров (ForecastIM) с последующим отключением сервиса в версии 7.15.

8. Изменения в интерфейсах и API

8.1. CGATE

В потоке FORTS_COMMON_REPL в таблицу common добавлено поле:
swap_rate (d16.5) - Индикативный фандинг в вечных фьючерсах
В поток FORTS_COMMON_REPL добавлена таблица событий sys_events.
В потоке FORTS_PROHIBITION_REPL в таблицу prohibition добавлены поля:
section_id (i4) - Идентификатор секции
base_contract_id (i4) - Числовой идентификатор базового контракта
В потоке FORTS_PROHIBITION_REPL начиная с версии 7.9 значение "0x20000000 (Споты)" для поля group_mask в таблице prohibition объявляется устаревшим и будет удалено в версии 7.15.
В потоке FORTS_REFDATA_REPL из таблиц fut_sess_contents и fut_instruments удалено устаревшее поле is_percent.
В потоке FORTS_REFDATA_REPL в таблице investor для поля status добавлено новое значение: 0x40000000000 - Снять пассивную заявку при кросс-сделке.
В потоке FORTS_REFDATA_REPL в таблицу opt_sess_contents добавлено поле:
state (i4) - Состояние торгов по инструменту
В потоке FORTS_REFDATA_REPL начиная с версии 7.9 поле state из таблиц option_series и sess_option_series объявляется устаревшим и будет удалено в версии 7.15. Вместо него следует использовать поле state из таблицы opt_sess_contents.
В поток FORTS_REFDATA_REPL добавлена таблица brokers_base_contracts_params - Индивидуальный коэффициент ГО в разрезе базового контракта и БФ:
replID (i8) - Служебное поле подсистемы репликации
replRev (i8) - Служебное поле подсистемы репликации
replAct (i8) - Служебное поле подсистемы репликации
broker_code (c4) - Код БФ
base_contract_code (c25) - Код базового контракта
coeff_im (d16.5) - Коэффициент ГО по базовому контракту для всех клиентов данной БФ
В потоке FORTS_INFO_REPL из таблицы base_contracts_params удалено устаревшее поле is_percent.
В поток FORTS_INFO_REPL добавлена таблица brokers_base_contracts_params - Индивидуальный коэффициент ГО в разрезе базового контракта и БФ:
replID (i8) - Служебное поле подсистемы репликации
replRev (i8) - Служебное поле подсистемы репликации
replAct (i8) - Служебное поле подсистемы репликации
broker_code (c4) - Код БФ
base_contract_code (c25) - Код базового контракта
coeff_im (d16.5) - Коэффициент ГО по базовому контракту для всех клиентов данной БФ
Добавлен новый флаг, проставляемый в снятых из-за кросс-сделок заявках: "DueToCrossCancel (0x2000)" - Признак снятия пассивной заявки при кросс-сделке.
Добавлена новая команда ChangeBFClientBaseContractParametersNextSession (msgid=1057) - Изменение параметров клиентов БФ по БА:
broker_code (c4) - Код брокерской фирмы
bf_code (c2) - Код БФ, задаваемый клиентом
base_contract_code (c25) - Код базового контракта
coeff_im (c17) - Коэффициент ГО по базовому контракту для всех клиентов данной БФ
8.2 TWIME

Версия схемы сообщений (атрибут version в элементе sbe:messageSchema) изменена с 5 на 6.
В FlagsSet добавлен новый флаг: "DueToCrossCancel" – Признак снятия пассивной кросс-заявки. Обращаем внимание, что снятие заявки с новым признаком "DueToCrossCancel" происходит в середине транзакции матчинга.
В сообщение NewOrderSingleResponse (message id=7015) добавлено поле Flags2. Идентификатор сообщения (message id) изменен с 7000 на 7015.
В сообщение NewOrderIcebergResponse (message id=7016) добавлено поле Flags2. Идентификатор сообщения (message id) изменен с 7013 на 7016.
В сообщение OrderCancelResponse (message id=7017) добавлено поле Flags2. Идентификатор сообщения (message id) изменен с 7003 на 7017.
В сообщение OrderReplaceResponse (message id=7018) добавлено поле Flags2. Идентификатор сообщения (message id) изменен с 7005 на 7018.
В сообщение ExecutionSingleReport (message id=7019) добавлено поле Flags2. Идентификатор сообщения (message id) изменен с 7008 на 7019.
В сообщение ExecutionMultilegReport (message id=7020) добавлено поле Flags2. Идентификатор сообщения (message id) изменен с 7009 на 7020.
Удалён атрибут sinceVersion из схемы сообщений.
8.3 FIX

Для поля Flags (tag 20008) добавлен новый флаг: 0x2000 - Признак снятия пассивной кросс-заявки.
В сообщение Execution Report добавлено новое поле Flags2 (tag 20051) - Расширение битовой маски (в дополнение к полю Flags).
8.4 SIMBA SPECTRA

Версия схемы сообщений (атрибут version в элементе sbe:messageSchema) изменена с 1 на 3.
В MDFlagsSet добавлен новый флаг: "DueToCrossCancel" – Признак снятия пассивной кросс-заявки. Обращаем внимание, что снятие заявки с новым признаком "DueToCrossCancel" происходит в середине транзакции матчинга.
В сообщении BestPrices (msg id=14) удалено поле BPFlags и добавлены поля MktBidSize (Объем заявок по лучшей цене на покупку) и MktOfferSize (Объем заявок по лучшей цене на продажу). Идентификатор сообщения (msg id) изменен с 3 на 14.
Удален набор флагов BPFlagsSet.
Добавлен набор флагов MDFlags2Set.
В сообщение OrderUpdate (msg id=15) добавлено поле MDFlags2. Идентификатор сообщения (msg id) изменен с 5 на 15.
В сообщение OrderExecution (msg id=16) добавлено поле MDFlags2. Идентификатор сообщения (msg id) изменен с 6 на 16.
В сообщение OrderBookSnapshot (msg id=17) добавлено поле MDFlags2. Идентификатор сообщения (msg id) изменен с 7 на 17.
В сообщении OrderUpdate (msg id=15) в поле MDFlags добавлена трансляция флага: "DueToCrossCancel" - Признак снятия пассивной кросс-заявки.
8.5 FAST

Идентификатор сообщения OrdersLogMessage изменён с '14' на '29'.
Идентификатор сообщения BookMessage изменён c '15' на '30'.
Идентификатор сообщения DefaultSnapshotMessage изменён c '25' на '32'.
Идентификатор сообщения DefaultIncrementalRefreshMessage изменён c '24' на '31'.
В шаблоны сообщений OrdersLogMessage и BookMessage добавлено поле MDFlags2 - Расширение битовой маски (в дополнение к полю MDFlags).
В шаблоны сообщений DefaultIncrementalRefreshMessage и DefaultSnapshotMessage добавлено поле TradingSessionSubID - Период торгов: 'S' – аукцион открытия; 'N' – нормальный период торгов. Значения в поле передаются только в потоке FO-TRADES и только в сообщениях с MDEntryType = '2' - Trade, в иных случаях передаётся значения nullValue.
В сообщении OrdersLogMessage в поле MDFlags добавлена трансляция флага 0x2000 - Признак снятия пассивной кросс-заявки. Признак передаётся только в сообщениях OrdersLogMessage с MDUpdateAction = 2 (удаление заявки).
9. Изменения в отчетах

В отчете CLIENTS:
изменен тип поля cross_trade на varchar(1);
изменена логика заполнения поля cross_trade с учетом новых признаков: «Разрешить кросс-сделки» и «Снять пассивную кросс-заявку».
Из заголовка отчета o07 удалена лишняя ";" в конце строки.
Проведена декомиссия отчетов за неэффективные транзакции:
tranfeeupdXXYY.csv – информация о сборах за неэффективные транзакции Брокерской фирмы в совокупности по разделам клиринговых регистров с одинаковым ИНН (или код, заменяющий ИНН);
tranfeeupddetailsXXYY.csv – детализированная информация о сборах за неэффективные транзакции Брокерской фирмы в совокупности по разделам клиринговых регистров с одинаковым ИНН (или код, заменяющий ИНН);
tranfeeshareXXYY.csv – информация о сборах за неэффективные транзакции Брокерской фирмы, списываемых с разделов клиринговых регистров с одинаковым ИНН (или код, заменяющий ИНН).
10. Изменения в терминале Срочного рынка

Реализована настройка шрифта через настройки терминала:
глобальная настройка для всего приложения через пункт основного меню 'Настройка/ Настроить терминал/ Основные' на вкладке 'Вид'
для конкретного окна через пункт контекстного окна 'Настройки окна' на вкладке 'Вид'.
Для оконного режима отображения появилась новая опция 'Привязка к сетке' - изменение размеров окна и смещение его на экране при включенной опции происходит с шагом в 10 пикселей.
Изменения по организации работы с ИСС:
появился новый пункт основного меню - 'ИСС', в котором собраны следующие подпункты:
Новости - пункт перенесен из пункта основного меню 'Таблицы';
Обороты по рынкам - новое информационное окно с данными, полученными с ИСС;
Праздники и рабочие выходные - календарь;
новые кнопки на панели инструментов для информационных окон с ИСС;
транспорт по ИСС может подключаться и отключаться независимо от основного подключения терминала;
появились новые пункты меню, связанные с подлючением/ отключением транспорта ИСС;
изменения в настройках:
весь функционал, связанный с ИСС, перенесен в отдельный плагин 'ИСС' и может быть полностью отключен (пункт основного меню 'Настройка/ Настроить терминал/ Плагины');
в настройках 'Транспорта' вкладка 'Сервис ИСС' переименована в 'ИСС';
на вкладке 'Транспорт/ ИСС' удален параметр 'Количество повторов при ошибках соединения';
на вкладке 'Транспорт/ ИСС' добавлен параметр 'Период перезапроса (секунд)';
на вкладке 'Транспорт/ ИСС' добавлена опция 'Запрашивать учетные данные в диалоге подключения транспорта'.
Новое окно 'Управление параметрами клиентов БФ по БА', в котором отображается коэффициент ГО в разрезе БА.
Новый пункт основного меню 'Администрирование/ Управление параметрами клиентов БФ по БА'.
В окнах ‘Финансовые инструменты’ и ‘Информация’ добавлены новые параметры:
‘Ставка ШФ’ - Индикативная ставка штрафного фондирования (для вечного фьючерса)
‘Ставка ШФ пред.’ - Ставка штрафного фондирования в вечерний клиринг предыдущей сессии (для вечного фьючерса)

-----------------------------------------------------------------------------------------------------
7.6 (2022.10.28)
SPECTRA-7.6

1.Аукцион открытия

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

Основные особенности аукциона открытия:

В аукционе открытия могут участвовать только фьючерсы, включая вечные фьючерсы. Календарных спредов и опционов нет. Признак допуска инструмента к участию в аукционе открытия устанавливается на уровне БА и действует на все инструменты этого БА.
В период сбора заявок в аукцион открытия можно выставлять только безадресные котировочные заявки (тип Day), включая айсберги. Заявки типа BOK, FOK, IOC - недопустимы.
Контроль кросс-заявок: пересечение ценовых уровней противоположных заявок с одним ИНН не допускается (снимается более поздняя заявка), при этом настройки «Разрешить кросс-сделки» и «Снять пассивную при кросс-сделке» не учитываются.
Цены заявок должны находиться в лимитах ценового коридора инструмента.
Ограничения на выставление заявок в утреннюю сессию на уровне БФ распространяется и на аукцион открытия.
Безадресные заявки с вечерней сессии участвуют в аукционе открытия (включая айсберги, заявки типа Book-or-Cancel.
В период сбора заявок можно ставить и снимать (если это разрешено для инструментов данного БА в этом аукционе) заявки, перестановка заявок запрещена.
Время начала сбора заявок – за 10 мин до старта утренней торговой сессии.
Время окончания сбора заявок – случайное для всех инструментов в промежутке, указанном в параметрах аукциона.
После завершения фазы сбора заявок и до окончания аукциона не допускаются операции с заявками, включая удаление.
После проведения аукциона и заключения сделок по цене открытия, осуществляется мэтчинг оставшихся заявок с учетом синтетической ликвидности из календарных спредов. Цены сделок с учетом синтетического мэтчинга могут отличаться от цены открытия. На этом этапе могут сниматься заявки по календарным спредам при нарушении условий кроссности
Не сведенные в процессе аукциона открытия заявки переходят в основной режим торгов.
У всех заявок, попавших в аукцион открытия, и сделок, сформированных по результатам этого аукциона, в таблицах заявок и сделок транслируется специальный отличительный признак - DuringDiscreteAuction (0x4000000000000000).

2. Заявки Book-or-Cancel

В системе Спектра реализована поддержка заявок типа Book-or-Cancel. Заявка Book-or-Cancel (BOC) - это разновидность котировочной заявки, которая при выставлении либо целиком встает в стакан, либо отклоняется системой. Такая заявка может быть только пассивной стороной в сделке (Maker).

Общие свойства Book-or-Cancel заявок:

Заявки Book-or-Cancel бывают адресными и безадресными, обычными (до конца сессии) и многодневными. Также Book-or-Cancel заявка может быть айсбергом.
Заявки Book-or-Cancel, а также сделки с их участием можно отличить с помощью специального статусного бита "BOC (0x1000000000000000)".
Если сдвиг заявки типа Book-or-Cancel приводит к ее исполнению, то сдвиг откатывается, а сама сдвигаемая заявка остается в системе. 
Если при сдвиге пары заявок типа Book-or-Cancel одна из них наткнулась на исполнение, она откатывается, а другая заявка сдвигается.
Заявки типа Book-or-Cancel запрещены к выставлению в период сбора заявок в аукционах открытия.
3. Доработки вечных фьючерсов на валютные пары

Изменяется расчет вариационной маржи в вечерний клиринг для вечных фьючерсов. Логика вычисления слагаемого SwapRate будет включать в себя начисление "штрафного фондирования" при отклонении цены контракта от цены БА больше допустимой величины. Формулы и детальное описание можно найти в спецификациях контрактов. В отчеты добавлена детализация расчета вариационной маржи для вечных фьючерсов, теперь там в отдельном поле публикуется составляющая вариационной маржи, связанная с изменением цены  фьючерса (var_marg_b_settl_price) и составляющая вариационной маржи, связанная с изменением ставки за перенос позиции (var_marg_b_swap_rate).

4. Публикация комиссии за экспирацию позиции через шлюз Спектры

Реализована трансляция комиссии за экспирацию позиции в шлюзе Plaza 2. В таблицы fut_pos, opt_pos, fut_pos_sa и opt_pos_sa потока клиринговой информации FORTS_CLR_REPL добавлены поля:

pos_exec – Количество исполненных позиций
charge_exec - Сбор за исполнение
5. Расширение для поля xstatus

В поле xstatus заканчиваются свободные биты. Для расширения решено добавить дополнительное поле. В таблицы заявок и сделок добавлены поля xstatus2, xstatus2_buy и xstatus2_sell - Расширение для статусов заявок и сделок. Эти поля на данный момент заполняются нулем.   

6. Ускорение неторговой команды выставления клиентских запретов

Увеличена производительность системы при обработке команд управления клиентскими запретами FutChangeClientProhibition, OptChangeClientProhibition. Скорость работы команд запретов сопоставима со скоростью обработки торговых приказов.

Со стороны клиентов изменений не требуется.

7. Изменения в интерфейсах и API

7.1 CGATE

В поток FORTS_TRADE_REPL в таблицы orders_log и multileg_orders_log добавлено поле:
xstatus2 (i8) - Расширение для статусов заявок (в дополнение к полю xstatus)
В поток FORTS_TRADE_REPL в таблицы user_deal и user_multileg_deal добавлены поля:
xstatus2_buy (i8) - Расширение для статусов сделок (в дополнение к полю xstatus_buy)
xstatus2_sell (i8) - Расширение для статусов сделок (в дополнение к полю xstatus_sell)
В поток FORTS_ORDLOG_REPL в таблицы orders_log и multileg_orders_log добавлено поле:
xstatus2 (i8) - Расширение для статусов заявок (в дополнение к полю xstatus)
В поток FORTS_DEALS_REPL в таблицы deal и multileg_deal добавлены поля:
xstatus2_buy (i8) - Расширение для статусов сделок (в дополнение к полю xstatus_buy)
xstatus2_sell (i8) - Расширение для статусов сделок (в дополнение к полю xstatus_sell)
В поток FORTS_USERORDERBOOK_REPL в таблицу orders добавлено поле:
xstatus2 (i8) - Расширение для статусов заявок (в дополнение к полю xstatus)
В поток FORTS_ORDBOOK_REPL в таблицу orders добавлено поле:
xstatus2 (i8) - Расширение для статусов заявок (в дополнение к полю xstatus)
В поток FORTS_COMMON_REPL в таблицу common добавлено поле:
opening_auction_price (d16.5) - Цена аукциона открытия
В поток FORTS_REFDATA_REPL добавлена таблица sess_option_series - Опционные серии по сессиям. Таблица sess_option_series отличается от существующей options_series наличием поля sess_id и механизмом очистки. В клиринг в таблицу добавляются записи с новой сессии.
В потоке FORTS_REFDATA_REPL начиная с версии 7.6 таблица option_series объявляется устаревшей и будет удалена в последующих версиях. Вместо этой таблицы надо использовать таблицу sess_option_series.
В поток FORTS_REFDATA_REPL добавлена таблица discrete_auction - Параметры назначенных аукционов открытия:
replID (i8) - Служебное поле подсистемы репликации
replRev (i8) - Служебное поле подсистемы репликации
replAct (i8) - Служебное поле подсистемы репликации
discrete_auction_id (i8) -Идентификатор аукциона открытия
sess_id (i4) - Идентификатор торговой сессии
add_order_start (t) - Время начала приема заявок в аукцион открытия
add_order_finish_from (t) - Начало интервала времени, в течение которого произойдет прекращение приема заявок в аукцион открытия
add_order_finish_till (t) - Конец интервала времени, в течение которого произойдет прекращение приема заявок в аукцион открытия
synchro_event_id_start (i4) - Идентификатор синхрособытия "discrete_auction_add_order_started"
synchro_event_id_finish (i4) - Идентификатор синхрособытия "discrete_auction_add_order_finished"
В поток FORTS_REFDATA_REPL добавлена таблица discrete_auction_base_contract - Базовые контракты, назначенные в аукцион открытия:
replID (i8) - Служебное поле подсистемы репликации
replRev (i8) - Служебное поле подсистемы репликации
replAct (i8) - Служебное поле подсистемы репликации
discrete_auction_id (i8) -Идентификатор аукциона открытия
base_contract_id (i4) - Числовой идентификатор базового контракта
base_contract_code (c25) - Код базового контракта
В потоке FORTS_REFDATA_REPL из таблицы opt_sess_contents удалены поля europe, min_step, lot_volume.
В поток FORTS_REFDATA_REPL в таблицу user добавлено поле:
user_level (i1) - Уровень логина пользователя: 1 - РФ; 2 - БФ; 3 - Клиент
В поток FORTS_CLR_REPL в таблицы fut_pos, opt_pos, fut_pos_sa и opt_pos_sa добавлены поля:
pos_exec (d11.0) – Количество исполненных позиций
charge_exec (d16.2) - Сбор за исполнение
В потоке FORTS_CLR_REPL начиная с версии 7.6 поля vat_ex и vat_cc в таблицах fut_pos, opt_pos, fut_pos_sa и opt_pos_sa объявляются устаревшими и будут удалены в версии 7.12.
В потоке FORTS_INFO_REPL из таблицы base_contracts_params удалено поле subrisk_step
В потоке FORTS_INFO_REPL из таблицы futures_params удалено поле subrisk
В команду IcebergAddOrder добавлено поле type (i4). Добавлен новый тип команды IcebergAddOrder (msgid=472).
7.2 FIX

Для поля TimeInForce (tag 59) добавлено новое значение "z" BOC – Заявка Book-or-cancel (Passive only).
Для поля Flags (tag 20008) добавлены новые значения:
0x1000000000000000 - Заявка Book-or-cancel (Passive only)
0x4000000000000000 - Признак заявки/сделки во время аукциона открытия
7.3 FAST

Новый флаг "0x1000000000000000 - Заявка Book-or-cancel (Passive only)" в поле MDFlags в сообщениях Market Data - Incremental Refresh (X).
В сообщениях Market Data - Snapshot / Full Refresh (W) и Market Data - Incremental Refresh (X) для поля MDEntryType появилось новое значение: ‘W’ - Цена аукциона открытия.
В поток FUT-INFO добавлена трансляция нового сообщения DiscreteAuction (MessageType = U1).
В сообщениях SecurityDefinition и SecurityStatus у поля SecurityTradingStatus появились новые значения:
'119' - стартовал аукцион открытия по инструменту; можно ставить и удалять заявки по этому инструменту.
'121' - завершен аукцион открытия по этому инструменту.
В сообщении Market Data - Incremental Refresh (X) у поля MDFlags появилось новое значение: '0x4000000000000000' - Признак заявки/сделки во время дискретного аукциона.
7.4 TWIME

В TimeInForceEnum добавлено новое значение: "BOC" – Заявка Book-or-cancel (Passive only).
В FlagsSet добавлены биты:
"BOC" - Заявка Book-or-cancel (Passive only)
"DuringDiscreteAuction" - Признак заявки/сделки во время аукциона открытия
Добавлено новое сообщение NewOrderIcebergX (message id=6011) - Добавление айсберг-заявки с возможностью выбора вида заявки.
В TradSesEventEnum добавлены новые значения:
"AuctionFinished" - Окончание проведения аукциона открытия
"AuctionCollectOrderStarted" - Начало сбора заявок в аукцион открытия
"AuctionCollectOrderFinished" - Окончание сбора заявок в аукцион открытия
В сообщение SystemEvent (message id=7014) добавлено поле EventId. Идентификатор сообщения (message id) изменен с 7011 на 7014.
В TerminationCodeEnum добавлено новое значение: "SequenceReset" – Сброс номеров сообщений.
7.5 OTC_TWIME

В TerminationCodeEnum добавлено новое значение: "SequenceReset" – Сброс номеров сообщений.
7.6 SIMBA_SPECTRA

Добавлено сообщение DiscreteAuction (msg id=13) - Параметры назначенных аукционов открытия.
Добавлена возможность фрагментации для сообщений BestPrices (msg id=3).
Теперь сообщения BestPrices (msg id=3) всегда будут идти отдельным пакетом (пакетами) в начале транзакции матчинга.
В сообщении OrderUpdate (msg id=5) в поле MDFlags добавлена трансляция новых флагов:
0x1000000000000000 - Заявка Book-or-cancel (Passive only).
0x4000000000000000 - Признак заявки/сделки во время аукциона открытия.
В сообщении OrderExecution (msg id=6) в поле MDFlags добавлена трансляция флага: 0x4000000000000000 - Признак сделки во время аукциона открытия.
В сообщениях SecurityDefinition (msg id=12) и SecurityStatus (msg id=9) в поле SecurityTradingStatus добавлена трансляция новых значений:
'119' - стартовал аукцион открытия по инструменту; можно ставить и удалять заявки по этому инструменту.
'121' - завершен аукцион открытия по этому инструменту.
8. Изменения в отчетах

В отчеты f04_XXYY.csv, f04clXXYYZZZ.csv добавлены новые поля (numeric(16,2))для детализации значения var_marg_b и var_marg_s:
var_marg_b_settl_price – составляющая вариационной маржи покупателя, связанная с изменением цены  фьючерса
var_marg_b_swap_rate – составляющая вариационной маржи покупателя, связанная с изменением ставки своп – ставки за перенос позиции overnight
var_marg_s_settl_price – составляющая вариационной маржи продавца, связанная с изменением цены  фьючерса
var_marg_s_swap_rate – составляющая вариационной маржи продавца, связанная с изменением ставки своп – ставки за перенос позиции overnight
В отчеты fpos, fposcl добавлены новые поля (numeric(16,2)):
ar_marg_p_settl_price – составляющая вариационной маржи по открытым позициям на начало дня, связанная с изменением цены  фьючерса
var_marg_p_swap_rate – составляющая вариационной маржи по открытым позициям на начало дня, связанная с изменением ставки своп – ставки за перенос позиции overnight
var_marg_d_settl_price – составляющая вариационной маржи по сделкам, связанная с изменением цены  фьючерса
var_marg_d_swap_rate – составляющая вариационной маржи по сделкам, связанная с изменением ставки своп – ставки за перенос позиции overnight.
9. Изменения в терминале Срочного рынка

В тулбар окна котировок добавлены кнопки для быстрой настройки режима отображения:
фиксированное положение центра
разреженный режим
стандартный/ узкий/ широкий
Добавлен новый тип заявки - пассивная (Book-or-Cancel заявка помещается в очередь (в стакан) только, если она не приводит с частичному или полному сведению, иначе она отклоняется системой). Для поддержания нового типа:
в форму ввода новой заявки добавлен новый тип заявки - пассивная;
в форме ввода новой заявки выбор айсберг заявки теперь производится с помощью чек бокса. Айсберг заявки могут быть только котировочными или пассивными;
в окне ‘Свои заявки/ поручения’ для параметра ‘Тип заявки’ появилось новое значение - Пассивная заявка.
В окне ‘Свои заявки/поручения’ добавлена фильтрация по новому типу заявок - пассивная.
В окно’ Позиции/ поручения’ добавлен новый параметр ‘Премия в валюте’.
Для дискретных аукционов (в частности для аукциона открытия) разработано новое окно ‘Дискретные аукционы’.


-----------------------------------------------------------------------------------------------------
7.3 (2022.08.29)
SPECTRA-7.3

1.Прекращение обязательств по вечному фьючерсу

В версии 7.3 реализована возможность принудительного прекращения обязательств по вечным фьючерсам (ВФ). Прекращение обязательств по вечным фьючерсам может осуществляться по требованию одной из сторон путем подачи поручений на исполнение. Вечный фьючерс исполняется в ближайший по сроку исполнения обычный фьючерс на тот же самый спот-актив. Поручения на исполнение вечного фьючерса могут подаваться в течение всей торговой сессии за три торговых дня до последнего дня обращения фьючерса, в который исполняется ВФ.Подача поручений производится с помощь шлюзовой команды FuturesExecutionRequest или через торговый терминал Срочного рынка. Поданные в торговую систему поручения транслируются в шлюзе в таблице fut_exec_orders потока FORTS_REFDATA_REPL и отображаются в торговом терминале Срочного рынка.

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

2. Доработка системы запретов. Новые клиентские приоритеты

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

Для выставления запретов с пользовательским приоритетом в команды FutChangeClientProhibit и OptChangeClientProhibit добавлено поле client_priority (i4), которое принимает значение 10, 11 или 12 (низкий, средний, высокий). Если в команде в поле client_priority указано значение 10, 11 или 12, то выставляется запрет с указанным пользовательский приоритетом. Если пользовательский приоритет не указан, то приоритет будет установлен автоматически, в соответствии с параметрами запрета. Выставление запретов с пользовательским приоритетом доступно и в торговом терминале Срочного рынка.

3. Изменения в интерфейсах и API

3.1. CGATE

В потоке FORTS_FEE_REPL в таблицу adjusted_fee добавлены поля:
adjusted_fee_trade_buy (d26.2) - Биржевой сбор по сделке покупателя.
adjusted_fee_clearing_buy (d26.2) - Клиринговый сбор по сделке покупателя.
adjusted_fee_trade_sell (d26.2) - Биржевой сбор по сделке продавца.
adjusted_fee_clearing_sell (d26.2) - Клиринговый сбор по сделке продавца.
В поток FORTS_PROHIBITION_REPL добавлена таблица событий sys_events.
В поток FORTS_REFDATA_REPL добавлена таблица fut_exec_orders - Поручения на исполнение однодневных фьючерсов с автопролонгацией:
replID (i8) - Служебное поле подсистемы репликации.
replRev (i8) - Служебное поле подсистемы репликации.
replAct (i8) - Служебное поле подсистемы репликации.
exес_order_id (i8) - Идентификатор поручения на исполнение.
client_code (c7) - Код клиента.
isin_id (i4) - Уникальный числовой идентификатор инструмента.
xamount (i8) - Количество контрактов, подлежащих исполнению.
sess_id (i4) - Идентификатор торговой сессии.
xamount_apply (i8) - Количество в поручениях на момент промежуточного клиринга.
date (t) - Дата и время подачи/изменения поручения.
В потоке FORTS_REFDATA_REPL начиная с версии 7.3 поле is_percent из таблиц fut_sess_contents и fut_instruments объявляется устаревшим и будет удалено в версии 7.9. Вместо него следует использовать поле asset_class из таблицы fut_vcb.
В потоке FORTS_REFDATA_REPL начиная с версии 7.3 поля d_exec_beg и d_exec_end в таблице opt_sess_contents объявляются устаревшим и будут удалены в версии 7.9. Вместо них следует использовать поле expiration_date из таблицы option_series.
В потоке FORTS_INFO_REPL из таблицы currency_params удалено поле signs.
В потоке FORTS_INFO_REPL начиная с версии 7.3 поле is_percent в таблице base_contracts_params объявляется устаревшим и будет удалено в версии 7.9. Вместо него следует использовать поле asset_class.
В команды FutChangeClientProhibit и OptChangeClientProhibit добавлено поле client_priority (i4). Добавлены новые типы команд FutChangeClientProhibit (msgid=469) и OptChangeClientProhibit (msgid=468).
Добавлена новая команда FuturesExecutionRequest (msgid=470) - Поручения на исполнение однодневных фьючерсов с автопролонгацией:
broker_code (c4) - Код брокерской фирмы.
mode (i4) - Режим работы команды.
order_id (i8) - Номер поручения на исполнение.
code (c3) - Последние 3 символа клиентского кода.
isin (c25) - Код фьючерса.
amount (i8) - Количество контрактов к исполнению.
В команде OptChangeExpiration тип поля order_id изменен на i8. Добавлен новый тип команды OptChangeExpiration (msgid=471).
Добавлены новые флаги, которые проставляются в полях xstatus_sell и xstatus_buy сделок, сформированных вследствие выхода из вечного фьючерса:
ePerpetualFuturesExecutionVoluntary (0x10000000000000) - Техническая сделка вследствие добровольного выхода из вечного фьючерса (на основании поданного поручения).
ePerpetualFuturesExecutionForced (0x400000000000000) - Техническая сделка вследствие принудительного выхода из вечного фьючерса (реализация неудовлетворённого спроса).
ePerpetualFuturesExecution (0x800000000000000) - Техническая сделка в связанном инструменте вследствие выхода из вечного фьючерса.
Начиная с версии 7.9, не использующиеся в настоящее время биты, отвечающие за признаки заявок и сделок в статусных масках, будут переопределены по мере необходимости:
eREPOCCStatus - 0x2000

eSpotTransferStatus - 0x8000

eFairPlayStatus - 0x10000

eREPOStatus - 0x20000

eInternalHalfTrade - 0x80000000

eIqsOrder - 0x800000000



3.2 FAST

В собщениях Market Data - Snapshot / Full Refresh (W) и Market Data Incremental Refresh (X) для поля TrdType появилось новое значение:
'1004' - выход из однодневного фьючерса с автопролонгацией.
Для технических сделок в поле MDFlags добавлена трансляция новых флагов
0x10000000000000 - Сделка вследствие добровольного выхода из однодневного фьючерса с автопролонгацией (на основании поданного поручения)
0x400000000000000 - Сделка вследствие принудительного выхода из однодневного фьючерса с автопролонгацией (реализация неудовлетворённого спроса)
0x800000000000000 - Сделка в связанном инструменте вследствие выхода из однодневного фьючерса с автопролонгацией
Технические сделки выхода из вечного фьючерса помечаются как TRDType[828]=’1004’. Такие сделки не меняют статистику по инструментам, включая last, min, max, close.
4. Изменения в отчетах

В отчеты: mmfutXXYY, mmopt_averageXXYY, STATMM_FUT, STATMM_OPT добавлено поле:
actual_mm_orders_percent  d (5,2) - Доля пассивного объема ММ заявок (регуляторное требование), %
В отчете clients увеличена размерность поля name до сhar 200.
В отчеты f04, f04cl, о04, o04cl, multilegf04, multilegf04cl:
вместо поля TYPE добавлены два поля: TYPE_BUY numeric(2) и TYPE_SELL numeric(2)
вместо поля SIGNS добавлены два поля: SIGNS_BUY numeric(20) и SIGNS_SELL numeric(20)
В отчетах f04, f04cl три новых типа сделок:
24 - возникла в результате добровольного исполнения вечного фьючерса (для сделок по вечного фьючерса)
25 - возникла в результате принудительного исполнения вечного фьючерса (для сделок по вечного фьючерса)
26 - возникла в результате исполнения ВФ (для сделок по связанному с вечным фьючерсом инструменту)
5. Изменения в терминале Срочного рынка

В системе запретов появились новые пользовательские приоритеты:
в окно ‘Запреты на операции’ добавлены новые значения для параметра ‘’Приоритет: Низкий(10), Средний(11) и Высокий(12);
в окна ввода нового запрета и новой группы запретов добавлен новый чек-бокс Пользовательский приоритет, который позволяет установить будет ли использоваться пользовательский приоритет и выбрать его тип: низкий, средний, высокий.
В окна ‘Информация’, ‘Финансовые инструменты’, ‘Свои заявки/ поручения’, ‘Все сделки/ поручения’, ‘Свои сделки/ поручения’ добавлены дополнительные параметры:
Биржевой ид. - Биржевой идентификатор инструмента
Ид. сессия - Номер текущей сессии
В окна ‘Позиции/ поручения’ и ‘Позиции по расчетным кодам’ добавлен дополнительный параметр:
Биржевой ид. - Биржевой идентификатор инструмента
Для реализации механизма исполнения вечного фьючерса:
в окно ‘Позиции/ поручения’ добавлена новая команда в контекстное меню ‘Исполнить фьючерс’;
для подачи поручений на исполнение фьючерсного контракта разработано специальное окно исполнить фьючерс.
В окна ‘Финансовые инструменты’ и ‘Информация’ добавлен новый параметр ‘Размерность котировки’ - коэффициент, указывающий на объем базового актива в котировке контракта и страйках опционной серии.


-----------------------------------------------------------------------------------------------------
7.0 (2022.02.14)
SPECTRA-7.0

1. Новые инструменты на срочном рынке – опционы на акции

С версии 7.0 на Срочном рынке появляются новые производные инструменты – опционы на акции. Особенность этих инструментов заключается в том, что базовым активом (БА) для них является акция, а не фьючерс на нее. То есть логически появляется прямая связка опционной серии (ОС) непосредственно с БА, минуя фьючерс. Однако физически ОС для таких опционов будут заводиться на специальный (коллатеральный) фьючерс. Данный инструмент уже имеется в ТКС Спектра и используется для передачи профилей активов на суб-счета расчётных кодов Единого пула. Таким образом, иерархическая структура инструментов не меняется и для опционов на акции остаётся полностью идентична опционам на фьючерсы.

На первом этапе предполагается ввести только европейские премиальные расчётные опционы на акции.

Так как планируется запуск опционов не только на российские, но и на иностранные акции, то взаиморасчёты по премии и финансовому результату исполнения опционов могут производиться в соответствующей иностранной валюте. В связи с этим следует отличать валюту котирования (поле curr) и валюту расчётов (новое поле settlement_currency) в таблице opt_vcb потока FORTS_REFDATA_REPL.

Опцион на акции определяется по следующим признакам:

опционная серия опциона на акции привязана к коллатеральному фьючерсному инструменту: в поле underlying_id соответствующей записи из таблицы FORTS_REFDATA_REPL:option_series содержится идентификатор фьючерса, который можно найти в таблице FORTS_REFDATA_REPL:fut_sess_contents по полю isin_id; в полученной записи в поле signs должен быть взведён бит 0x40000 (признак коллатерального инструмента);
базовым активом для коллатерального фьючерсного инструмента является акция: в поле asset_class записи таблицы FORTS_REFDATA_REPL:fut_vcb, связанной с FORTS_REFDATA_REPL:fut_sess_contents по полю base_contract_code, должно быть значение 1 – «Акция».
2. Формирование символьного имени для серии/опциона на акции

В наименованиях новых опционов появляется новый символ – тип расчетов.
Короткий код опциона формируется по следующему шаблону:
<Код Базового актива><Цена страйк><тип расчетов>MYW , где

<Код Базового актива> - код базового актива фондового рынка, два символа;
<Цена страйк> - цена исполнения, переменное количество символов;
тип расчетов – «А» - американский опцион на фьючерс с уплатой премии, «В» - маржируемый американский опцион на фьючерс, «С» - европейский опцион на акцию или пай с уплатой премии;
M – месяц исполнения, а также тип для опциона, 1 символ;
Y – год исполнения, 1 символ;
W – признак недельного опциона, 1 символ.
Пример: SR245СX1 (Опцион пут на обыкновенные акции ПАО "Сбербанк" с исполнением 16.12.2021 г. и ценой исполнения 245)


Полный код опциона на акции формируется по следующему шаблону:
<Код Базового актива>P<последний день заключения Контракта><тип Контракта><категория Контракта><цена исполнения> , где

<Код Базового актива> - код базового актива фондового рынка;
символ «P» означает, что Контракт премиальный;
последний день заключения Контракта указывается арабскими цифрами в формате ДДММГГ (например, 100614 – 10 июня 2014 года);
тип Контракта - Контракт на покупку (Call) – «C» или Контракт на продажу (Put) – «P»;
категория Контракта - американский опцион – «A» или европейский опцион – «E»;
цена исполнения.
Пример: SBERP161221PE245 (Опцион пут на обыкновенные акции ПАО "Сбербанк" с исполнением 16.12.2021 г. и ценой исполнения 245)

3. Изменения в расчете свободных средств ТКС Spectra под опционы на акции

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

Премиальные опционы имеют стоимость и (по просьбам участников) будут использоваться в качестве обеспечения по портфелю, а также влиять на объём свободных средств (FreeMoney). Величина корректировки FreeMoney будет доступна в виде нового параметра NetOptionValue (NOV), который будет рассчитываться в ближайшую клиринговую сессию как сумма произведений учетных стоимостей и объемов соответствующих опционных позиций в портфеле с учетом знака:

NetOptionValue= voli * RCi * MinStepPricei / MinStepi

voli – объем позиции в i-м опционном контракте по итогам текущей клиринговой сессии;
RCi – расчетная цена i-го опционного контракта по итогам текущей клиринговой сессии.
Величина NetOptionValue (поле net_option_value таблиц part и part_sa потока FORTS_PART_REPL) определяется по каждому уровню учёта позиций (7CC, BF, SA).
Для фьючерсов и маржируемых опционов на фьючерсы значение NOV всегда равно нулю.

4. Новый индикатив - величина премии подлежащей к уплате/получению в ближайшую клиринговую сессию

Поскольку по премиальным опционам на акции вариационная маржа отсутствует, значения VM, выдаваемые ТКС всегда будут нулевыми по таким инструментам. В связи с этим появляется новый индикатив по премиям (поле premium в таблице opt_vm потока FORTS_VM_REPL), отражающий величину премии к уплате/получению в ближайшую клиринговую сессию. Вычисляемое значение не включает в себя финансовый результат исполнения опционной позиции в день экспирации опционов на акции. Данная величина рассчитывается индикативно, исключительно для информирования Участников клиринга. А поскольку расчеты могут производиться не только в рублях, то трансляция премии в валюте расчётов будет осуществляться в отдельном поле premium_in_settl_currency таблицы opt_vm потока FORTS_VM_REPL.

При начислении или списании валютной премии будет меняться торговый лимит на 7CC и на БФ (с опцией свободного управления лимитом). Величина изменения лимита равна объёму премии в валюте, пересчитанному в рубли по курсу валюты, зафиксированному на момент клиринга.

5. Изменение расписания клиринговых сессий и унификация старта вечерней торговой сессии

Для осуществления взаиморасчетов в момент экспирации необходимы цены БА (акций), которые берутся из аукциона закрытия (АЗ) Фондового рынка. Получение этих данных влечет за собой сдвиг начала вечернего клиринга на 18:50 МСК и окончания клиринговой сессии - на 19:05 MCK. Сдвиг вечерней клиринговой сессии влечет за собой сдвиг начала вечерней торговой сессии на 19:05 MCK.

6. Исполнение опционов на акции

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

Как было сказано ранее, для определения цены исполнения опциона в день экспирации используется цена БА, полученная на аукционе закрытия Фондового рынка. Данная цена АЗ фиксируется в размерности опционной серии в поле underlying_price таблицы option_series_settl потока FORTS_CLR_REPL. В остальные дни в этом поле передается цена коллатерала (также в размерности опционной серии), определенная на момент проведения клиринга согласно методике расчетных цен.

7. Изменение формулы расчета Блэка-Шоулза и рисков

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

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

Появляются дополнительные поля для описания БА и ОС, значения из которых будут использоваться в формулах ценообразования опционов.
Для расчета теоретических цен опционов применяются две модели ценообразования: Блэка-Шоулза и Башелье. В штатном режиме работы модель Башелье не применяется для премиальных опционов на акции, т.к. отрицательные цены по таким БА не предполагаются. Для расчета теоретических цен по опционам на акции будет использоваться модель Блэка-Шоулза с дискретной выплатой дивидендов. В связи с разделением дивидендов на прогнозные и объявленные, денежный поток содержит в себе информацию двух типов. Первый тип включает в себя величину ожидаемых дисконтированных дивидендов, а второй - объявленных.
Цена спота, прежде чем использоваться в формуле Блэка-Шоулза, будет корректироваться по формуле:

S = lot_coeff * (underlying_price - fixed_spot_discout - projected_spot_discount), где

lot_coeff – коэффициент лотности (коэффициент перевода размерности БА и ОС), для премиальных опционов заполняется натуральными числами большими, или равными 1;
fixed_spot_discount - объявленный денежный поток;
projected_spot_discount - прогнозный денежный поток.

Сама формула Блэка-Шоулза в целом не меняется, но теперь в ней учитывается безрисковая процентная ставка - r:

Pricecall = S х N(d1) - K х e-r х T х N(d2)
Priceput = K х e-r х T х N(-d2 ) - S х N(-d1)

где
d1 = (ln(S/K) + (r + sigma2 /2) х T)/(sigma х T0.5)
d2 = (ln(S/K) + (r - sigma2 /2) х T)/(sigma х T0.5)
S - цена акции, уменьшенная на текущую стоимость всех дивидендов, выплачиваемых на протяжении срока действия опциона, пересчитанную с момента наступления даты "без дивиденда" по безрисковой процентной ставке
K - страйк опциона
r - годовая безрисковая ставка
T - время до экспирации опциона
N(x) - кумулятивная функция распределения стандартного нормального распределения
sigma - подразумеваемая волатильность цены акции

8. Запреты по опционам на акции

В связи с тем, что все акционные опционные серии (внутри одного БА) будут заводиться не на разные фьючерсы, а на единственный коллатеральный, невозможно запрещать торговлю группами ОС, так как в нынешней реализации возможно устанавливать определённые ограничения только сразу на все опционы внутри одного фьючерса. Поэтому по опционам на акции возможно устанавливать запреты сразу на все опционы в рамках одного БА - запрет на опционы с isin коллатерального фьючерса (opt_sess_contents.fut_isin_id).
Либо полный запрет опционов - group_mask = 0x80000000(опционы).


9. Изменения в отчетах

В отчетах o04_XXYY.csv и o04clXXYYZZZ.csv:
Добавлены новые поля в конец отчета:
PREM_BUY_CURRENCY/PREM_SELL_CURRENCY  - размер премии по сделке для премиальных опционов с расчётами в валюте. Значения, как и в PREM_BUY/PREM_SELL, указываются со знаком (покупка с минусом, продажа с плюсом). "0" - для маржируемых опционов и для опционов с расчетами в рублях.
Изменение логики заполнения существующих полей:
ISIN - заполняются по новой маске кодов: для опционов на акции - тикер фондового рынка; для опционов на фьючерсы - без изменений.
PREM_BUY, PREM_SELL – размер премии по сделке для премиальных опционов с расчетами в рублях: Обязательства Покупателя / Требования Продавца по уплате Премий по опционным контрактам (в рублях РФ); "0" - для маржируемых опционов и для опционов с расчетами в валюте.
PRICE_RUR – премия в рублях для рублевых премиальных опционов; "0" - для валютных  и маржируемых опционов.
VAR_MARG_B, VAR_MARG_S - для премиальных опционов заполняются "0".
В отчетах o07.csv и dayo07.csv:
Добавлены новые поля в конец отчета:
SETTLEMENT_CURRENCY - валюта расчетов по премии/вариационной марже: валюта котирования - для валютных опционов, "0"– для рублевых опционов.
TICK_PRICE_CURRENCY - стоимость шага цены в валюте SETTLEMENT_CURRENCY.
Изменение логики заполнения существующих полей:
поля CONTRACT, NAME - заполняются по новой маске кодов: для опционов на акции - тикер фондового рынка; для опционов на фьючерсы - без изменений.
поле FUT_CONTR - для опционов на акции заполняется кодом коллатерального фьючерса; для опционов на фьючерсы - без изменений.
поле EVROP - для опционов на акции заполняются "E".
поле FUT_TYPE - для опционов на акции заполняются "0".
В отчетах oposXXYY.csv и oposclXXYYZZZ.csv:
Добавлены новые поля в конец отчета:
PREM_CURRENCY - премия по сделкам по итогам вечерней клиринговой сессии (в валюте, по опционам с расчётами в валюте). Сумма prem_currency по всем позициям одного 7сс в рамках одной валюты совпадает с полем prem соответствующей записи отчёта moncb.
PREM_PROM  - премия по сделкам по итогам дневной клиринговой сессии (в рублях РФ, по опционам с расчётами в рублях).
PREM_PROM_CURRENCY - премия по сделкам по итогам дневной клиринговой сессии (в валюте, по опционам с расчётами в валюте).
NOV - Net Options Value - Суммарная оценочная стоимость премиальных опционов на акции в портфеле.
Изменение логики заполнения существующих полей:
поле ISIN - заполняются по новой маске кодов: для опционов на акции - тикер фондового рынка; для опционов на фьючерсы - без изменений.
поле PREM - премия по сделкам по итогам вечерней клиринговой сессии (в рублях РФ, по опционам с расчётами в рублях)
поля VAR_MARG_P, VAR_MARG_D, VAR_MARG_PROM - для премиальных опционов заполняются "0".
В отчетах monXXYY.csv , monclXXYYZZZ.csv и daymonXXYY.csv:
Добавлены новые поля (ВНИМАНИЕ! Порядок колонок изменился!):
COM_PL_PREM - Изменение (торгового) лимита на сумму премий в иностранной валюте, выраженное в рублях.
NOV - Net Options Value - Суммарная оценочная стоимость премиальных опционов на акции в портфеле.
Изменение логики заполнения существующих полей:
поле PREM – премия в RUR только по премиальным опционам с расчётами в рублях.
ext_rez - поле не используется.
В отчете moncbXXYY.csv:
Добавлено новое поле:
PREM - изменение объёма обеспечения по премии (в валюте) в результате клиринга.
В отчете mmLP_XXYY.csv:
Добавлено новое поле UNDERLYING_TYPE - Тип опциона: F - на фьючерс, E - на акцию
Поле SYMBOL переименовано в UNDERLYING – Базовый актив: для опционов на акции – тикер фондового рынка; для опционов на фьючерсы – тикер срочного рынка
В отчетах mmopt_average, mmopt_strikes:
Добавлено новое поле UNDERLYING_TYPE - Тип опциона: F - на фьючерс, E - на акцию
В отчете STATMM_OPT:
поле "Фьючерс" принимает значение N/A
поле "БА" содержит тикер фондового рынка
Добавлено новое поле UNDERLYING_TYPE - Тип опциона: F - на фьючерс, E - на акцию
Изменение логики заполнения существующих полей "Фьючерс" и "БА" для опционов на акции:
В отчетах STATMM_PAYMENT и MM_PAYMENT:
лист Liquidity_Provider_program - поле "БА" содержит тикер фондового рынка
лист MM_payment_details - поле "Фьючерс" принимает значение N/A;
поле "Базовый актив" содержит тикер фондового рынка
лист Statistics - новое поле "Тип опциона" перед столбцом "Базовый актив"
Добавлено новое поле UNDERLYING_TYPE - Тип опциона: F - на фьючерс, E - на акцию
Изменение логики заполнения существующих полей для опционов на акции:
В отчете MM_RANKING_TOTAL (GROUP_XX.xls): 
Изменение логики заполнения поля small_name для опционов на акции – содержит тикер фондового рынка
В отчете opt_deal.csv:
Изменение логики заполнения поля ISIN - заполняется по новой маске кодов: для опционов на акции - тикер фондового рынка; для опционов на фьючерсы - без изменений.
10. Расчет комиссий для опционов на акции

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

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

OptEqFee=Round(min[ (K*PriceStockRub) ; Round(Premium*Round (W(o)/R(o);5);2)*BaseOptFee];2), где

OptEqFee - величина биржевого сбора за заключение опциона на акции (в рублях);

K - дополнительный коэффициент в %; 

PriceStockRub - цена акции в рублях в аукцион закрытия; для акций номинированных в валюте будет применен индикативный курс, определенный перед клирингом;

W(o) - стоимость минимального шага цены опциона (в рублях);

R(o) - минимальный шаг цены опциона;

Round - функция математического округления с заданной точностью;

Premium - значение премии по опциону, подлежащая списанию/зачислению в ближайший клиринг;

BaseOptFee - коэффициент в %.

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

ExpOptStockFee = Round(Round( abs(Strike) x Round( W(o)/R(o); 5 ); 2 ) x ExpOptStockFee%; 2), где

Strike - страйк опциона или цена исполнения акции;
ExpOptStockFee% - ставка клирингового сбора за исполнение опциона в %;
W(o) - стоимость шага цены на вечерний клиринг, предшествующий дню исполнения;
R(o) - шаг цены.

Брокерские комиссии для опционов на акции не меняются.



11. Изменения в терминале Срочного рынка

Добавляются новые поля в опционные серии для расчета теоретических цен и греков по опционам на акции:
Способ маржирования: 0 - маржируемый 1 – премиальный
Тип расчетов: 0 - расчетный 1 - поставочный
Способ исполнения: 0 - американский 1 - европейский
Данные параметры отображаются в следующих окнах:

Финансовые инструменты
Информация
Доска опционов - в строке с параметрами группы опционов в поле 'Наименование'
в окна Финансовые инструменты и Доска опционов добавлены три новых фильтра:
Способ маржирования опционов
Тип расчетов опционов
Способ исполнения опционов
Добавляется новый грек Ро в следующих окнах:
Финансовые инструменты
Доска опционов
Опционный калькулятор
Новые формулы расчета теоретических цен опционов и греков с учетом безрисковой ставки, кэшфлоу и лотности.
В Опционный калькулятор в область "Что если?" добавлен новый параметр для изменнения - Процентная ставка.


12. Торговые приказы и формат рыночных данных не меняются.


13. Изменения в пользовательском шлюзовом интерфейсе CGate

В потоке FORTS_PART_REPL в таблицы part и part_sa добавлены поля:
premium_intercl (d26.2) - Премия, полученная/списанная в промежуточный клиринг, в пересчёте на рубли. Включает в себя финансовый результат исполнения позиций по премиальным опционам.
net_option_value (d26.2) – Суммарная оценочная стоимость премиальных опционов на акции в портфеле  
В потоке FORTS_INFO_REPL в таблицу  base_contracts_params добавлены поля:
asset_class (i4) - Перечисляемый тип. Содержит в себе классификацию типа:
1 - Акция
2 - Валюта
3 - Облигация
4 - Индекс
5 - Товар
6 - Процентная ставка
7 - Драг металлы
cf_risk (f) - Ставка риска изменения размера прогнозного денежного потока
В потоке FORTS_INFO_REPL в таблице  futures_params  поле subrisk объявляется устаревшим и будет удалено в версии 7.6. Вместо этого поля следует использовать поле sub_risk из таблицы option_series_params.
В потоке FORTS_INFO_REPL в таблице  base_contracts_params поле subrisk_step объявляется устаревшим и будет удалено в версии 7.6. Вместо этого поля следует использовать поле strike_step из таблицы option_series_params.
В потоке FORTS_INFO_REPL в таблицу  option_series_params добавлены поля:
margin_style (i4) - Способ маржирования опциона: 0 - маржируемый 1 – премиальный
settlement_type (i4) - Тип опциона: 0 - расчетный 1 - поставочный
exercise_style (i4) - Способ исполнения опциона: 0 - американский 1 - европейский
min_step (f) – Минимальный шаг изменения цены
step_price (f) – Стоимость шага цены
lot_coefficient (i4) – Количество единиц базового актива в инструменте
r (f) – Безрисковая процентная ставка
interest_rate_risk_up (f) – Ставка рассогласования процентного риска в сценарии движения ставки вверх
interest_rate_risk_down (f) – Ставка рассогласования процентного риска в сценарии движения ставки вниз
sub_risk (i1) – Признак учета риска по подточкам: 1-Включен режим учета риска по подточкам риска, 0 - Выключен
enforce_half_netting (i1) - Признак принудительного включения правила полунетто при кроссмаржировании опционных серий (ОС) с коллатеральным инструментом, у которых признак spread_aspect = 2
spread_aspect (i1) – признак вхождения ОС: 0 – не в спреде, 2 – в спреде
fixed_spot_discount (f) – Сумма дисконтированных значений объявленных денежных потоков 
projected_spot_discount (f) - Сумма дисконтированных значений прогнозных денежных потоков 
В потоке FORTS_REFDATA_REPL в таблицу  option_series добавлены поля:
margin_style (i4) - Способ маржирования опциона: 0 - маржируемый 1 – премиальный
settlement_type (i4) - Тип опциона: 0 - расчетный 1 - поставочный
exercise_style (i4) - Способ исполнения опциона: 0 - американский 1 - европейский
min_step (d16.5) – Минимальный шаг цены (в пунктах)
step_price (d16.5) – Стоимость шага цены (в деньгах)
lot_coefficient (i4) – Количество единиц базового актива в инструменте
sub_risk (i1) – Признак учета риска по подточкам: 1-Включен режим учета риска по подточкам риска, 0 – Выключен
r (f) – Безрисковая процентная ставка
fixed_spot_discount (f) – Сумма дисконтированных значений объявленных денежных потоков
projected_spot_discount (f) – Сумма дисконтированных значений прогнозных денежных потоков
underlying_price (d16.5) – Текущая цена спот инструмента, а в день экспирации - цена аукциона закрытия Фондового рынка
step_price_curr (d16.5) – Стоимость минимального шага цены, выраженная в валюте
В потоке FORTS_REFDATA_REPL из таблицы  opt_sess_contents будут удалены в версии 7.6 следующие поля:
europe (i1) - Разновидность опциона. 0 - американский опцион, 1 - европейский опцион
min_step (d16.5) – Минимальный шаг цены
step_price (d16.5) – Стоимость шага цены
lot_volume (i4) – Количество единиц базового актива в инструменте
В потоке FORTS_REFDATA_REPL в таблицу  fut_vcb добавлено поле:
asset_class (i4) - Перечисляемый тип (необходим для определения вида формулы прайсинга). Содержит в себе классификацию типа:
1 - Акция
2 - Валюта
3 - Облигация
4 - Индекс
5 - Товар
6 - Процентная ставка
7 - Драг металлы
board_md (с4) - Идентификатор режима торгов SECBOARD из шлюза ASTS
В потоке FORTS_REFDATA_REPL в таблицу opt_intercl_info добавлены поля:
premium (d26.2) - Премия по опциону, полученная/списанная в ПК, в пересчёте на рубли. Включает в себя финансовый результат исполнения позиции.
premium_in_settl_currency (d26.2) – Премия по опциону, полученная/списанная в ПК, в валюте расчётов. Включает в себя финансовый результат исполнения позиции.
В потоке FORTS_REFDATA_REPL в таблицу opt_vcb добавлено поле:
settlement_currency (c3) - Валюта расчетов
В потоке FORTS_POS_REPL в таблицы position и position_sa добавлено поле:
last_quantity (i8) - Объем позиции на момент окончания промежуточного или вечернего клиринга
В потоке FORTS_VM_REPL в таблицы opt_vm и opt_vm_sa добавлены поля:
premium (d26.2) - Накопленная по сделкам премия по премиальным опционам, подлежащая к уплате в ближайший ПК/ВК, в пересчёте на рубли. Не включает в себя финансовый результат исполнения позиции.
premium_in_settl_currency (d26.2) – Накопленная по сделкам премия по премиальным опционам, подлежащая к уплате в ближайший ПК/ВК, в валюте расчётов. Не включает в себя финансовый результат исполнения позиции.
В потоке FORTS_CLR_REPL в таблицы opt_pos и opt_pos_sa добавлены поля:
premium (d26.2) - Премия по опциону, полученная/списанная в вечерний клиринг, в пересчёте на рубли. Включает в себя финансовый результат исполнения позиции.
premium_in_settl_currency (d26.2) – Премия по опциону, полученная/списанная в вечерний клиринг, в валюте расчётов. Включает в себя финансовый результат исполнения позиции.
В потоке FORTS_CLR_REPL добавлена новая таблица option_series_settl с полем:
underlying_price (d16.5) - Текущая цена спот инструмента, а в день экспирации - цена аукциона закрытия Фондового рынка
lot_coefficient (i4) - Количество единиц базового актива в инструменте
В потоке FORTS_CLR_REPL в таблицах money_clearing и money_clearing_sa изменилось описание поля premium:
premium (d26.2) - Премия по опционам в рублях, полученная/списанная в вечерний клиринг, в персчёте на рубли. Включает в себя финансовый результат исполнения позиций по премиальным опционам.
Удаление полей, анонсированных в версии 6.15 к удалению: 

В потоке FORTS_TRADE_REPL из таблиц orders_log и multileg_orders_log удалены следующие поля:
id_ord (i8) Идентификационный номер заявки (значение см. private_order_id)
xamount (i8) - Количество контрактов в операции (значение см. private_amount)
xamount_rest (i8) - Оставшееся количество контрактов в заявке (значение см. private_amount_rest)
action (i1) - Действие с заявкой (значение см. private_action)
В потоке FORTS_TRADE_REPL из таблиц user_deal и user_multileg_deal удалены следующие поля:
id_ord_buy (i8) - Идентификатор заявки покупателя (значение см. private_order_id_buy)
id_ord_sell (i8) - Идентификатор заявки продавца (значение
см. private_order_id_sell)
В потоке FORTS_USERORDERBOOK_REPL в таблице orders удалены следующие поля:
id_ord (i8) Идентификационный номер заявки (значение см. private_order_id)
xamount (i8) - Количество контрактов в операции (значение см. private_amount)
xamount_rest (i8) - Оставшееся количество контрактов в заявке (значение см. private_amount_rest)
action (i1) - Действие с заявкой (значение см. private_action)
init_moment (t) - Время появления заявки (значение см. private_init_moment)
xinit_amount (i8) - Начальное количество контрактов в заявке (значение см. private_init_amount)
В потоке FORTS_PROHIBITION_REPL из таблицы prohibition удалено устаревшее поле:
prohib_id (i4) - Номер запрета
В потоке FORTS_ REFDATA _REPL из таблицы prohibition удалено устаревшее поле:
prohib_id (i4) - Номер запрета
В потоке  FORTS_REFDATA_REPL удалена устаревшая таблица usd_online - Трансляция курса USD. Вместо этой таблицы надо использовать таблицу curr_online потока MOEX_RATES_REPL.
В потоке FORTS_REFDATA_REPL из таблицы option_series удалены следующие поля:
A (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в a_black)
B (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в b_black)
C (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в c_black)
D (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в d_black)
E (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в e_black)
S (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в s_black)
В потоке FORTS_INFO_REPL из таблицы option_series_params удалены следующие поля:
a (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в a_black)
b (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в b_black)
c (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в c_black)
d (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в d_black)
e (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в e_black)
s (d20.15) - Параметр расчета кривой волатильности по модели Блэка-Шоулза (значение см. в s_black)
14. Изменения в репозитории схем подачи команд

Для метода OptChangeExpiration - Подача заявок на досрочную экспирацию опционов, на отмену автоматической экспирации опционов:
для isin с option_series.exercise_style = 1 и settlement_type = 0 возвращает код ошибки 4067 - Заявка на экспирацию не обработана. Запрещено подавать заявки на исполнение/отказ от исполнения по расчётным европейским опционам.
15.  Изменения в протоколе FAST

Идентификатор сообщения SecurityDefinition изменён с "21" на "23".
Идентификатор сообщения DefaultIncrementalRefreshMessage изменён c '22' на '24'.
Идентификатор сообщения DefaultSnapshotMessage изменён c '20' на '25'.
В шаблон сообщения SecurityDefinition добавлены поля:
ValuationMethod - Способ маржирования опциона:"FUT" (маржируемый), "EQTY" (премиальный);
RiskFreeRate - Безрисковая процентная ставка;
FixedSpotDiscount - Сумма дисконтированных значений объявленных денежных потоков;
ProjectedSpotDiscount - Сумма дисконтированных значений прогнозных денежных потоков;
SettlCurrency - Валюта расчетов;
UnderlyingBoard - Для опционов на фьючерсы транслируется значение nullValue. Для опционов на акции транслируется идентификатор режима торгов SECBOARD из ASTS.
Значения в указанных полях предаются только в определениях опционов в потоке OPT-INFO.

В шаблон сообщения SecurityDefinition добавлено поле NegativePrices. Значения в поле передаются только в определениях инструментов в потоках FUT-INFO и OPT-INFO:
0 - Цены фьючерсов, ценовые границы и страйки опционов ограничены положительными значениями;
1 - Цены фьючерсов, ценовые границы и страйки опционов не ограничены.
В сообщении SecurityDefinition изменены транслируемые значения для поля UnderlyingSymbol:
Для фьючерсов и календарных спредов транслируется код базового актива;
Для опционов на фьючерсы транслируется код фьючерса;
Для опционов на акции транслируется код SECCODE из шлюза ASTS для получения маркет даты по акции. Вы должны рассматривать комбинацию SECCODE + SECBOARD как отдельный инструмент с отдельными котировками и таблицами сделок и заявок.
В сообщение SecurityDefinition для опционов добавлена трансляция значения в поле MinPriceIncrementAmountCurr - Стоимость минимального шага цены, выраженная в валюте.
В допустимые значения для поля CFICode добавлены CFI коды опционов на акции:
'OCESCS' - европейский расчётный опцион Call на акцию;
'OPESCS' - европейский расчётный опцион Put на акцию.
 Из допустимых значений для поля CFICode удалены CFI коды:
'OCEFPS' - европейский опцион Call;
'OPEFPS' - европейский опцион Put.
В сообщении OrdersLogMessage в поле MDFlags добавлена трансляция флага 0x200000000000000 - Признак пассивной синтетической заявки.
В шаблоны сообщений DefaultIncrementalRefreshMessage и DefaultSnapshotMessage добавлено поле IndexCrossRate - Курс иностранной валюты, использованный при расчете значения индекса.
16.  Изменения в протоколе SIMBA SPECTRA

Версия схемы изменена с "0" на "1".
Идентификатор сообщения SecurityDefinition изменён с "8" на "12".
В сообщение SecurityDefinition добавлены поля:
ValuationMethod - Способ маржирования опциона:"FUT" (маржируемый), "EQTY" (премиальный);
RiskFreeRate - Безрисковая процентная ставка;
FixedSpotDiscount - Сумма дисконтированных значений объявленных денежных потоков;
ProjectedSpotDiscount - Сумма дисконтированных значений прогнозных денежных потоков;
SettlCurrency - Валюта расчетов;
UnderlyingBoard - Для опционов на фьючерсы транслируется значение nullValue. Для опционов на акции транслируется идентификатор режима торгов SECBOARD из ASTS.
Значения в указанных полях предаются только в определениях опционов в потоке OPT-INFO.

В шаблон сообщения SecurityDefinition добавлено поле NegativePrices. Допустимые значения:
0 - Цены фьючерсов, ценовые границы и страйки опционов ограничены положительными значениями;
1 - Цены фьючерсов, ценовые границы и страйки опционов не ограничены.
В сообщении SecurityDefinition изменены транслируемые значения для поля UnderlyingSymbol:
Для фьючерсов и календарных спредов транслируется код базового актива;
Для опционов на фьючерсы транслируется код фьючерса;
Для опционов на акции транслируется код SECCODE из шлюза ASTS для получения маркет даты по акции. Вы должны рассматривать комбинацию SECCODE + SECBOARD как отдельный инструмент с отдельными котировками и таблицами сделок и заявок.
В допустимые значения для поля CFICode добавлены CFI коды опционов на акции:
'OCESCS' - европейский расчётный опцион Call на акцию;
'OPESCS' - европейский расчётный опцион Put на акцию.
 Из допустимых значений для поля CFICode удалены CFI коды:
'OCEFPS' - европейский опцион Call;
'OPEFPS' - европейский опцион Put.
В сообщении OrderUpdate в поле MDFlags добавлена трансляция флага 0x200000000000000 (SyntheticPassive) - Признак пассивной синтетической заявки.

-----------------------------------------------------------------------------------------------------
6.15.0 (2021.10.26)
SPECTRA-6.15

1. Закрытие неавторизованного доступа - включение отчетов 07 в ИСС

Начиная с версии 6.15 вся информация из отчетов f07, o07 будет включена в Итоги по срочному рынку (ИСС). По истечении периода параллельной эксплуатации (3 месяца) отчеты f07, o07 перестанут выкладываться на ftp. Поэтому всем клиентам, которые получают эти отчеты через ftp, рекомендуется оформить подписку на информационные сервисы Московской Биржи, предоставляемые через WEB (ИСС).

С условиями оформления подписки можно ознакомиться на сайте Московской Биржи по адресу: http://moex.com/ru/orders.



2. Унификация клирингового сбора за исполнение контракта

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

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

для фьючерсов:

ExpFutFee = Round(Round( abs(FutPrice) x Round( W(f)/R(f); 5 ); 2 ) x ExpFutFee%; 2), где

 FutPrice - расчетная цена в вечерний клиринг, предшествующий дню исполнения;
 ExpFutFee% - ставка клирингового сбора за исполнение в процентах, определяется тарифной группой, к которой привязан инструмент;
 W(f) - стоимость шага цены на вечерний клиринг, предшествующий дню исполнения;
 R(f) - шаг цены;
для опционов на фьючерсы:

ExpOptFutFee = Round(Round( abs(Strike) x Round( W(o)/R(o); 5 ); 2 ) x ExpOptFutFee%; 2), где

 Strike - страйк опциона;
 ExpOptFutFee% - ставка клирингового сбора за исполнение опциона в процентах, определяется тарифной группой, к которой привязан инструмент;
 W(o) - стоимость шага цены на вечерний клиринг предшествующий дню исполнения;
 R(o) - шаг цены.
Ставка сбора за исполнение в рублях рассчитывается в вечерний клиринг и действует на весь следующий торговый день, до начала следующей торговой сессии, что позволяет участникам точно прогнозировать стоимость исполнения контрактов. Рассчитанная ставка сбора отображается на сайте Биржи в карточке инструмента и транслируется в шлюзе в поле exp_clearing_fee в таблицах futures_rate и option_rate потока FORTS_FEERATE_REPL.



3. Отмена переводов средств между брокерскими фирмами через терминал

Начиная с версии 6.15 в терминале срочного рынка (MoexSpectraTerminal) и в шлюзе (транзакция ExchangeBFMoney) запрещен перевод денежных средств между БФ, принадлежащих разным расчетным кодам. Перевод между БФ одного РК по-прежнему доступен.



4. Расчетный период и период экспирации для процентных фьючерсов (доработка процентных деривативов)

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

дата экспирации;
торговый период - период времени с даты первого до последнего торгового дня, в который может быть заключена сделка покупки/продажи контракта;

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



5. Учет жизненного цикла торговых сессий в сервисе расчета вариационной маржи

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



6. Нотификация клиентов об использовании устаревших интерфейсов

В версии 6.15 в ТС Спектра реализован механизм нотификация клиентов об использовании устаревших команд, таблиц и полей в схемах. Информация об устаревших полях и транзакциях содержится в deprecated_SPECTRA.ini. Библиотека CGate получает схему deprecated_SPECTRA.ini при первом открытии соединения. Lsn repl после открытия проверяет, что имя потока, таблицы и поля в таблицах не входят в [deprecated:streams] в deprecated_SPECTRA.ini, в случае вхождения, пишет ошибки в лог. Pub mq после открытия проверяет, что id сообщений не входят в [deprecated::transactions] в deprecated_SPECTRA.ini. в случае вхождения, пишет ошибки в лог. Служба поддержки, при работе с обращениями, будет обращать внимание на эти сообщения.



7. Изменения в терминале срочного рынка

В соответствии с политикой декомиссии программного обеспечения начиная с версии 6.15 в системе SPECTRA прекращается поддержка возможности проброса риска между Валютным и Срочным рынками. В терминале удалены инструменты переноса риска, соответствующие тип инструмента и режим торгов.
По решению НКЦ с 01.11.2021 запрещен вывод денежных средств с использованием торгового терминала. У участников сохранится возможность вывода средств через web-клиринг и клиринговый терминал. Из терминала удален режим вывода средств 'Администрирование/ Поручения на ввод/вывод денежных средств'.
В окна 'Финансовые инструменты' и 'Информация' добавлен новый параметр 'Сбор за исполнение' - ставка клирингового сбора за исполнение контракта.


8. Доработка утилиты для смены пароля (change_password.exe)

В ТС Спектра версии 6.15 произведены доработки утилиты для смены пароля (change_password.exe):

В строку запуска добавлен параметр app_name (имя приложения).
В строку запуска добавлен параметр local_pass (пароль для локального соединения с роутером).
Из возможных ключей строки запуска удален ключ key.


9. Изменения в пользовательском шлюзовом интерфейсе CGate

Добавлен новый поток FORTS_PROHIBITION_REPL. В потоке транслируется одна единственная таблица prohibition, аналогичная такой же таблице в потоке FORTS_REFDATA_REPL. В течение двух релизов предполагается параллельное использование этих таблиц, в дальнейшем (версия 7.3) таблица prohibition из потока FORTS_REFDATA_REPL будет удалена.
В потоке FORTS_INFO_REPL в таблице currency_params начиная с версии 6.15 поле signs объявляется устаревшим и будет удалено в версии 7.3.
В потоке FORTS_REFDATA_REPL таблица prohibition начиная с версии 6.15 объявляется устаревшей и будет удалена в версии 7.3. Вместо этой таблицы надо использовать таблицу prohibition потока FORTS_PROHIBITION_REPL.


-----------------------------------------------------------------------------------------------------
6.12.0 (2021.07.19)
SPECTRA-6.12

1. Маржирование ММС накануне исполнения фьючерса

Реализован новый режим маржирования для фьючерсов, входящих в межмесячный спред (ММС), накануне их исполнения. Существующая практика (исключение исполняемого фьючерса из ММС за два клиринга до исполнения) может создавать резкий скачок обеспечения у участников.

Новый режим маржирования предполагает, что за N (N устанавливается НКЦ по своему усмотрению) клирингов до исполнения, для исполняемого фьючерса по всем уровням (7сс, БФ, РК) принудительно устанавливается правило маржирования "полунетто", не глядя на имеющиеся настройки по типу маржирования для календарных спредов. При использовании нового режима неттируются отрицательные риски исполняемого фьючерса, риски изменения цены спота и отрицательные риски расхождения процентных ставок и волатильности остальных фьючерсов, входящих в ММС.

Условия для включения нового режима маржирования:

до исполнения фьючерса осталось N и менее клирингов, где N устанавливается НКЦ по своему усмотрению;
фьючерс включен в межмесячный спред;
на уровне рачета ГО (7сс, БФ, РК) установлено правило маржирования "нетто"
У фьючерсов, для которых включен новый режим маржирования, выставляется специальный признак, который транслируется в шлюзе в поле enforce_ims_half_netting в таблицах fut_sess_contents и fut_instruments потока FORTS_REFDATA_REPL, в также в таблице futures_params потока FORTS_INFO_REPL.



2. Использование в результатах клиринга риск-параметров на начало новой торговой сессии

В клиринге изменен расчет размера ГО, отображаемого в отчетах MON_CSV, MONCL_CSV, FPOS_CSV. FPOSCL_CSV, OPOS_CSV, OPOSCL_CSV в поле go (go_brutto для отчетов FPOS_CSV, FPOSCL_CSV) и в клиринговой реплике в поле go в таблицах money_clearing и money_clearing_sa потока FORTS_CLR_REPL. Теперь расчет величины ГО для основного пакета отчетов MONPOS производится также как и для пакета MONPOS_NEW, а именно, при расчете ГО используются риск-параметры на начало новой торговой сессии. Соответственно, изменится и значение поля  free, рассчитываемое на основании значения поля go.  Значения полей  go/free в таблицах клиринговой реплики теперь совпадает со значением полей go (go_brutto)/free в отчетах пакета MONPOS. 

Пакет отчетов MONPOS_NEW, теперь полностью совпадающий по структуре и наполнению с основным пакетом MONPOS, больше не рассылается.



3. Скальперские скидки по опционам в переговорном режиме

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



4. Списание биржевого и клирингового сборов клиентского РК с Собственных РК

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

Информация об "основном РК" для списания комиссионных вознаграждений за заключение сделок и комиссий за исполнение/экспирацию предоставляется в Запросе на изменение РК для списания комиссионных вознаграждений, направляемом участником клиринга в НКЦ, с указанием признака, означающего, что с РК, указанного в таком запросе,  необходимо также удерживать оборотную часть комиссионных вознаграждений. Изменения вступают в силу в следующую торговую сессию.

Основные особенности списания комиссий с "основного РК":

Списание происходит по нулевому разделу СпецБФ или ОБФ "основного РК". Если на момент проведения клиринга СпецБФ и ОБФ у "основного РК" отсутствует, то списание происходит обычным порядкам по тем 7сс, по которым прошли сделки.
В отчетах MON и DAYMON, а также в клиринговой реплике в таблицах money_clearing и money_clearing_sa потока FORTS_CLR_REPL информация по всем начисленным и списанным сборам будет проходить по "основному РК" и по нулевому разделу СпецБФ "основного РК". По любым другим разделам и расчетным кодам сумма списанной комиссии будет равна нулю.
Комиссия в отчетах по сделкам, а также в потоке точных комиссий FORTS_FEE_REPL все так же транслируется в разрезе сделок.
На уровне 7сс не происходит автокоррекция лимита на сумму комиссии даже, если на 7сс выставлена соответствующая опция.
На уровне БФ не происходит автокоррекция лимита на сумму комиссии.


5. Собственные счета TTCA

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

Режим TTCA применяется только к собственным РК участника клиринга и доступен только для участников клиринга нерезидентов (в российской юрисдикции подобного режима нет). Для использования этой функции участник клиринга должен обратиться в НКЦ.

С точки зрения клиринговой организации (НКЦ) средства являются собственными средствами участника клиринга (с точки зрения законодательства о раздельном учете средств), однако конечным бенефициаром заключенных сделок все равно является TTCA-клиент (с точки зрения налогообложения). Но т.к. НКЦ является налоговым агентом в отношении участника клиринга нерезидента на территории Российской федерации, то возможна регистрация под собственным РК с признаком TTCA, 7сс с ИНН, отличным от ИНН расчетной фирмы, за 7сс будет закрепляться ИНН конечного TTCA-клиента, чтобы НКЦ мог идентифицировать бенефициара сделок. Под ИНН здесь понимается код нерезидента.



6. Создание ПВДС на Срочном рынке

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

итоговое нетто-требование;
итоговое нетто-требование без учета комиссионного вознаграждения;
вывод разницы между максимально возможной суммой и суммой, указанной в поручении (оставить неснижаемый остаток).
В результате обработки поручения в системе SPECTRA производится расчет суммы для вывода (указанная в поручении сумма, максимально возможная сумма или сумма с учетом неснижаемого остатка) и формируется платежное поручение в банк. Валюта в ПВДС только RUB (Российский рубль).

Использование механизма ПВДС возможно с использованием интерфейсов Web-клиринг или Клиринговый терминал.



7.  Ликвидационный неттинг на Срочном рынке

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

При проведении ликвидационного неттинга участник клиринга переводится в режим "Ликвидационный неттинг" (транслируется в шлюзе в таблице clearing_members потока FORTS_REFDATA_REPL). Для участника клиринга в таком режиме запрещены любые операции, кроме сделок, заключаемых НКЦ для урегулирования неисполненных участником клиринга обязательств. В целях прекращения обязательств участника клиринга – ликвиданта могут заключаться следующие виды сделок:

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



8. Декомиссия старого функционала

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

Начиная с версии 6.12 прекращается поддержка и выпуск новых версий 32-битных дистрибутивов CGate.



9. Изменения в библиотеке CGate

В cgate меняется ABI, в сообщение cg_data_cleardeleted_t добавлено новое поле. Внимание! Требуется пересборка проектов, написанных на с/c++.



10. Изменения в пользовательском шлюзовом интерфейсе CGate

В потоке FORTS_ PART_REPL из таблицы part удалено поле balance_money.
В потоке FORTS_INFO_REPL в таблицу futures_params добавлено поле:
enforce_ims_half_netting (i1) - Признак учитывать риски ММС по правилу "полунетто". 1 – да; 0 – нет.
В потоке FORTS_INFO_REPL в таблицу option_series_params добавлено поле:
margin_style (i4) - Способ маржирования опциона. 0 - маржируемый; 1 - премиальный.
В потоке FORTS_INFO_REPL в таблицу option_series_params добавлено поле:
settlement_type (i4) - Тип опциона. 0 - расчетный; 1 - поставочный.
В потоке FORTS_INFO_REPL в таблицу option_series_params добавлено поле:
exercise_style (i4) - Способ исполнения опциона. 0 - американский; 1 - европейский.
В потоке FORTS_REFDATA_REPL в таблицы fut_sess_contents и fut_instruments добавлено поле:
enforce_ims_half_netting (i1) - Признак учитывать риски ММС по правилу "полунетто". 1 – да; 0 – нет.


11. Изменения в отчетах

Удален пакет отчетов MONPOS_NEW, состоящий из следующих отчетов: FPOSCL_NEW_CSV, FPOS_NEW_CSV, MONCL_NEW_CSV, MON_NEW_CSV, OPOSCL_NEW_CSV, OPOS_NEW_CSV.
В отчетах MON_CSV, MONCL_CSV, FPOS_CSV. FPOSCL_CSV, OPOS_CSV, OPOSCL_CSV изменен расчет гарантийного обеспечения в поле ‘go' (‘go_brutto’ для отчетов FPOS_CSV, FPOSCL_CSV) – теперь он соответствует размеру ГО по позициям в торгах на начало вечерней торговой сессии.
12. Изменения в протоколе FAST

В потоки FUT-INFO и OPT-INFO добавлена трансляция сообщений TradingSessionStatus (h).
В шаблон сообщения DefaultIncrementalRefreshMessage добавлено поле OpenInterest (открытые позиции после сделки), значение в указанном поле предаётся только в сделках в потоке FO-TRADES. Изменен идентификатор сообщения DefaultIncrementalRefreshMessage с "19" на "22".
Детализированы значения поля CFICode в сообщениях SecurityDefinition для срочного рынка, передаваемых в потоках FUT-INFO и OPT-INFO.

-----------------------------------------------------------------------------------------------------
6.9.0 (2021.04.15)
SPECTRA-6.9

1.Маржирование и исполнение обязательств по уплате налога в TS SPECTRA

В TS SPECTRA в версии 6.9 реализован функционал маржирования и исполнения обязательств Участников клиринга – нерезидентов по уплате налога на срочном рынке, учитываемых по Расчетным кодам, не являющимся Расчетными кодами Единого пула. Объем обязательств Участников клиринга по уплате суммы, соответствующей сумме налога, учитываются в TS SPECTRA в составе промежуточной и окончательной суммы налога суммарно. Учет промежуточной и окончательной суммы налога для целей маржирования и списания ведется в TS SPECTRA в разрезе Расчетных кодов Участников клиринга – нерезидентов по специальным Брокерским фирмам, открытым в рамках данных Расчетных кодов. В рамках специальной Брокерской фирмы, открытой в рамках Расчетного кода, ведется учет специальных позиций (blocked_tax), отвечающих за маржирование промежуточных сумм налога. Средства, учитываемые в специальных позициях, блокируются, уменьшая тем самым величину Свободного лимита по Расчетному коду.

Средства, заблокированные под уплату налогов, транслируются в шлюзе:

в таблицах part_sa и money_clearing_sa в поле blocked_tax.
Выводятся в отчетах:

В отчетах monXXYY.csv/mon_newXXYY.csv для РК Участников клиринга – нерезидентов значение блокируемого налога (blocked_tax) учитывается в поле go.
В отчете daymonXXYY.csv для РК Участников клиринга – нерезидентов значение блокируемого налога (blocked_tax) учитывается в поле gol2.
И отображаются в терминале Срочного рынка:

В окне ‘Средства по расчетным кодам’ - параметр ‘Забл. Налог’
Учет и списание окончательных сумм налога проводится в TS SPECTRA по специальным Брокерским фирмам, открытым в рамках Расчетных кодов, по которым производился учет промежуточных сумм налога, соответствующих списываемым окончательным суммам налога. Списание производится в режиме онлайн.



2.Перенос времени расчета индикативного курса с 18:30 на 18:44

В рамках программы по ускорению пост-трейдинговых, клиринговых и пре-трейдинговых операций в TS SPECTRA осуществлен перенос времени фиксации индикативных курсов для расчета вариацонной маржи с 18:30 на 18:44. Данное изменение времени включает в себя все индикативные курсы: USD/RUB, EUR/RUB, CAD/RUB, CHF/RUB, CNY/RUB, JPY/RUB, TRY/RUB, USD/CHF, USD/JPY и т.д. При этом фиксация индикативного курса для вариацонной маржи промклиринга остается неизменным - 13:45.



3.Отмена комиссионного вознаграждения по сделкам урегулирования на срочном рынке

В целях унификации порядка взимания/невзимания комиссионного вознаграждения по сделкам урегулирования на всех рынках Группы «Московская Биржа», на Срочном рынке отменено взимание биржевого сбора и комиссионного вознаграждения за клиринговые услуги по следующим сделкам урегулирования:

закрывающие Срочные контракты, заключенные в рамках процедуры кросс-дефолта;
закрывающие Срочные контракты, заключенные в связи с неисполнением Маржинального требования;
закрывающие Срочные контракты, заключенные в связи с неисполнением Обязательства по поставке по поставочным Срочным контрактам на драгоценные металлы;
балансирующие Срочные контракты, заключенные с Добросовестным участником клиринга без подачи заявок.
Признак сделок урегулирования транслируется в шлюзе в таблицах своих заявок orders_log и multileg_orders_log (поле reason) и сделок user_deal и user_multileg_deal (поля reason_buy и reason_sell), а также в отчетах f04, f04cl, o04, o04cl.

Вместо комиссии с Недобросовестных участников клиринга взимается штраф за заключение закрывающих Срочных контрактов в случае заключения их от имени Недобросовестного участника клиринга:

закрывающие Срочные контракты, заключенные в рамках процедуры кросс-дефолта;
закрывающие Срочные контракты, заключенные в связи с неисполнением Маржинального требования;
закрывающие Срочные контракты, заключенные в связи с неисполнением Обязательства по поставке по поставочным Срочным контрактам на драгоценные металлы.
Штрафы за заключение сделок урегулирования от имени Добросовестного участника клиринга (балансирующие Срочные контракты, заключенные с Добросовестным участником клиринга без подачи заявок) с ДУКа не взимаются.

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

Штраф рассчитывается по каждой сделке урегулирования и учитывается по 7-значному разделу Участника клиринга, который указан в сделке урегулирования.

Информация о штрафах транслируется в шлюзе в таблице part потока FORTS_PART_REPL (суммарно по 7-значному разделу), а также в новой таблице penalty потока FORTS_FEE_REPL (в разрезе сделок).

Штрафы за заключение закрывающих Срочных контрактов не взимаются:

Если в отношении Участника клиринга проводится процедура Ликвидационного неттинга.
Если Участник клиринга находится в статусе «Приостановка клирингового обслуживания Участника клиринга по причине аннулирования лицензии на осуществление профессиональной деятельности на рынке ценных бумаг».
Информация по данным блокировкам транслируется в шлюзе в таблице clearing_members потока FORTS_ REFDATA_REPL.

Сделки урегулирования, по которым штрафы не взимались по причине аннулирования лицензии на осуществление профессиональной деятельности на рынке ценных бумаг, помечаются в таблицах сделок в полях xstatus_sell  и xstatus_buy специальным признаком:

eDontFineRF (0x80000000000000) - Признак невзимания штрафа за сделки урегулирования.


4.Изменения в терминале Срочного рынка

Измения в окне ‘Запреты на операции’ :
добавлен новый параметр ‘Окончани’е (дата окнчания обращения фьючерса);
добавлен фильтр по дате окончания обращения фьючерса;
добавлена возможность устанавливать одиночный запрет по опционам логину НЕ Главного трейдера.
В окно ‘Средства по расчетным кодам’ добавлен новый параметр ‘Забл. Налог’ - сумма, заблокированная для уплаты налога.
В окно ‘Средства по расчетным кодам’ в клиринге добавлен новый параметр ‘Забл. Налог’ - сумма, заблокированная для уплаты налога на начало сессии.


5.Изменения в пользовательском шлюзовом интерфейсе CGate

Удалены потоки FORTS_FUTTRADE_REPL и FORTS_OPTTRADE_REPL. Вместо них следует использовать поток FORTS_TRADE_REPL.
Удалены потоки FORTS_FUTORDERBOOK_REPL и FORTS_OPTORDERBOOK_REPL. Вместо них следует использовать поток FORTS_USERORDERBOOK_REPL.
Удалены потоки FORTS_FUTCOMMON_REPL и FORTS_OPTCOMMON_REPL. Вместо них следует использовать поток FORTS_COMMON_REPL.
Удалены потоки FORTS_FUTINFO_REPL и FORTS_OPTINFO_REPL. Вместо них следует использовать поток FORTS_REFDATA_REPL.
Удалены потоки FORTS_FUTAGGR5_REPL, FORTS_FUTAGGR20_REPL, FORTS_FUTAGGR50_REPL, FORTS_OPTAGGR5_REP, FORTS_OPTAGGR20_REP и FORTS_OPTAGGR50_REPL. Вместо них следует использовать потоки FORTS_TAGGR5_REP, FORTS_AGGR20_REP и FORTS_AGGR50_REPL.
В потоке FORTS_TRADE_REPL из таблиц orders_log и multileg_orders_log удавлено поле local_stamp.
В потоке FORTS_TRADE_REPL в таблицы orders_log и multileg_orders_log добавлено поле:
reason (i4) - Признак (причина) заявки, выставленной для заключения сделки урегулирования обязательств.
В потоке FORTS_TRADE_REPL в таблицы user_deal и user_multileg_deal добавлены поля:
reason_buy (i4) - Признак (причина) сделки урегулирования покупателя.
reason_sell (i4) - Признак (причина) сделки урегулирования продавца.
В потоке FORTS_USERORDERBOOK_REPL в таблицу orders добавлено поле:
reason (i4) - Признак (причина) заявки, выставленной для заключения сделки урегулирования обязательств.
В поток FORTS_FEE_REPL добавлена таблица penalty:
replID (i8) - Служебное поле подсистемы репликации.
replRev (i8) - Служебное поле подсистемы репликации.
replAct (i8) - Служебное поле подсистемы репликации.
sess_id (i4) - Номер сессии.
id_deal (i8) - Номер сделки.
id_deal_multileg (i8) - Номер сделки по связке.
moment (t) - Время заключения сделки.
moment_ns (u8) - Время заключения сделки (UNIX-время в наносекундах по стандарту UTC).
code_buy (c7) - Код покупателя.
code_sell (c7) - Код продавца.
penalty_buy (d26.2) - Штраф по сделке покупателя.
penalty_sell (d26.2) - Штраф по сделке продавца.
В потоке FORTS_PART_REPL в таблицу part добавлено поле:
penalty (d26.2) - Штраф за сделки урегулирования, заключенные при проведении процедуры принудительного закрытия позиций Недобросовестного Участника клиринга.
В потоке FORTS_PART_REPL в таблицу part_sa добавлено поле:
blocked_tax (d26.2) - Средства, заблокированные под выплату налогов.
В потоке FORTS_REFDATA_REPL из таблиц fut_sess_contents, fut_instruments и opt_sess_contents удавлено поле d_start.
В потоке FORTS_REFDATA_REPL в таблицу prohibition добавлено поле:
xprohibition_id (i8) - Номер запрета
В потоке FORTS_REFDATA_REPL в таблице prohibition начиная с версии 6.9 поле prohib_id объявляется устаревшим и будет удалено в версии 6.15.
В потоке FORTS_REFDATA_REPL таблица usd_online начиная с версии 6.9 объявляется устаревшей и будет удалена в версии 6.15. Вместо этой таблицы надо использовать таблицу curr_online потока MOEX_RATES_REPL.
В потоке FORTS_CLR_REPL в таблицу money_clearing_sa добавлено поле:
blocked_tax (d26.2) - Средства, заблокированные под выплату налогов.


8. Изменения в отчетах

В отчеты f04, f04cl, o04, o04cl, fut_deal, opt_deal  в поле Type добавлены новые типы платежа, отражающие информацию о штрафах:
отчеты о сделках с фьючерсами f04, f04cl, fut_deal:
«21» – для закрывающих Срочных контрактов, заключенных в рамках процедуры кросс-дефолта;
«22» – для закрывающих Срочных контрактов, заключенных в связи с неисполнением Маржинального требования;
«23» – для закрывающих Срочных контрактов, заключенных в связи с неисполнением Обязательства по поставке по поставочным Срочным контрактам на драгоценные металлы.
«3» - для балансирующих Срочных контрактов, заключенных с Добросовестными участниками клиринга без подачи заявок.
отчеты о заключенных опционных контрактах o04, o04cl, opt_deal :
«6» – для закрывающих Срочных контрактов, заключенных в рамках процедуры кросс-дефолта;
«7» – для закрывающих Срочных контрактов, заключенных в связи с неисполнением Маржинального требования.
«3» - для балансирующих Срочных контрактов, заключенных с Добросовестным участником клиринга без подачи заявок.
В отчетах payXXYY.csv и payclXXYY.csv штрафы учитываются в состоянии текущей денежной позиции.
В отчетах monXXYY.csv/mon_newXXYY.csv для РК Участников клиринга – нерезидентов значение блокируемого налога (blocked_tax) учитывается в поле go.
В отчете daymonXXYY.csv для РК Участников клиринга – нерезидентов значение блокируемого налога (blocked_tax) учитывается в поле gol2.


9. Изменения в протоколе FAST

Разъединенные потоки для фьючерсов и опционов выводятся из эксплуатации, необходимо использовать объединенные потоки. Вместо FUT-BOOK-1, FUT-BOOK-5, FUT-BOOK-20, FUT-BOOK-50, OPT-BOOK-1, OPT-BOOK-5, OPT-BOOK-20, OPT-BOOK-50, FUT-TRADES, OPT-TRADES, IQS-FUT-BOOK-1, IQS-FUT-BOOK-50, IQS-OPT-BOOK-1, IQS-OPT-BOOK-50, IQS-FUT-TRADES, IQS-OPT-TRADES необходимо использовать FO-TRADES, FO-BOOK-1, FO-BOOK-5, FO-BOOK-20, FO-BOOK-50, IQS-TRADES, IQS-BOOK-1, IQS-BOOK-50. Обе группы доступны в промышленном и тестовом контурах.
В сообщении SecurityDefinition (d) в поле MDFeedTypes добавляются все объединенные потоки и убираются разъединенные.
В потоках FUT-INFO, OPT-INFO, IQS-FUT-INFO, IQS-OPT-INFO в сообщениях SecurityDefinition (d) значение поля MarketSegmentID заменено на 'D'.
В потоках FO-TRADES, FO-BOOK-1, FO-BOOK-5, FO-BOOK-20, FO-BOOK-50, IQS-TRADES, IQS-BOOK-1, IQS-BOOK-50 в сообщении Trading Session Status (h) значение поля MarketSegmentId меняется на "D".
В xml-описаниях конфигураций потоков FUT-INFO, OPT-INFO, IQS-FUT-INFO, IQS-OPT-INFO значение атрибута marketID меняется на 'D'.
Для фьючерсов, календарных спредов и опционов в сообщении SecurityDefinition (d) прекращена трансляция группы полей с EventType=5 - Дата ввода инструмента в обращение.
Добавлены новые значения поля Flags (тэг 20008) в сообщении SecurityDefinition(d).
10. Изменения в протоколе FIX

В поле SecondaryClOrdID в шлюзе FIX и в сервисе FIX Drop Copy прекращена трансляция технической информации типа $XX$ в первых четырех символах. Теперь комментарий пользователя, указанный при добавлении заявки, транслируется без изменений в протоколе FIX. Ранее в случае переполнения клиентом допустимого размера этого поля значение обрезалось, теперь клиенту отправляется Reject с информаций о некорректности значения поля SecondaryClOrdID.
Добавлена трансляция поля Flags (tag 20008) в шлюзе FIX в сообщениях Execution Report по сделкам, и в сервисе FIX Drop Copy во всех сообщениях Execution Report.


-----------------------------------------------------------------------------------------------------
6.7.0 (2021.01.12)
SPECTRA-6.7

1.Ограничение доступа к торгам на срочном рынке в утреннюю торговую сессию

В рамках развития функционала "Утренние торги на СР" в системе SPECTRA в версии 6.7 реализован механизм ограничения доступа участников к торгам на срочном рынке в утреннюю торговую сессию. Участники, не желающие участвовать в утренних торгах, подают заявление на установку (снятие) ограничений на доступ к торгам в утреннюю сессию для своих БФ. Под ограничением доступа понимается отсутствие возможности у БФ и ее клиентов выставлять или изменять заявки, включая "поручения к НКЦ", в утреннюю торговую сессию. Операции снятия заявок и "поручений к НКЦ", включая массовые, разрешены.

Ограничения доступа к торгам вступают в силу в ближайшую утреннюю торговую сессию, если заявление на установку ограничений направлено организатору торгов до 18:00 МСК. Если же заявление направлено после 18:00 МСК, то ограничения доступа к торгам вступят в силу через одну утреннюю сессию. Ограничение доступа действует с начала утренней сессии до 10:00 МСК. В 10:00 МСК ограничение снимается одновременно для всех участников и их БФ.

Глобально ограничение допуска к торгам в утреннюю сессию будет действовать до тех пор, пока участник торгов не направит организатору торгов заявление на снятие ограничений. Ограничения снимаются в ближайшую утреннюю торговую сессию, если заявление на снятие ограничений направлено организатору торгов до 18:00 МСК. Если же заявление направлено после 18:00 МСК, то ограничения снимаются через одну утреннюю сессию. 

Информация об установленных для участников ограничениях транслируется в шлюзе в таблице dealer (поле order_allowed_in_morning_session) в потоках FORTS_FUTINFO_REPL, FORTS_REFDATA_REPL, FORTS_INFO_REPL.

2. Декомиссия старого функционала

В соответствии с политикой декомиссии программного обеспечения с 1 февраля 2021 года в системе SPECTRA прекращается поддержка сервиса балансировки риска между срочным и валютным рынками с последующим удалением соответствующих инструментов (RSK) и транзакции FutTransferRisk.

Начиная с версии 6.7 прекращает свою работу сервис IQS_SRV (IQS Proxy), ранее использовавшийся для доступа в подсистему IQS. Для отправки команд в обе подсистемы (IQS и RFS) теперь следует использовать единый сервис OTC_SRV (OTC Proxy).

3. Изменения в пользовательском шлюзовом интерфейсе CGate

В потоке FORTS_FUTINFO_REPL в таблицу dealer добавлено поле:
order_allowed_in_morning_session (i1) - Доступ к торгам в утреннюю торговую сессию. 0 - доступ к торгам в утреннюю торговую сессию ограничен, 1 - доступ к торгам в утреннюю торговую сессию разрешен.

В потоке FORTS_INFO_REPL в таблицу dealer добавлено поле:
order_allowed_in_morning_session (i1) - Доступ к торгам в утреннюю торговую сессию. 0 - доступ к торгам в утреннюю торговую сессию ограничен, 1 - доступ к торгам в утреннюю торговую сессию разрешен.

В потоке FORTS_REFDATA_REPL в таблицу dealer добавлено поле:
order_allowed_in_morning_session (i1) - Доступ к торгам в утреннюю торговую сессию. 0 - доступ к торгам в утреннюю торговую сессию ограничен, 1 - доступ к торгам в утреннюю торговую сессию разрешен. 

4. Изменения в репозитории схем подачи команд

Начиная с версии 6.7 процедура FutTransferRisk объявляется устаревшей и будет удалена в последующих версиях.
5. Изменения в отчетах

При формировании отчетов tranfeeXXYY и tranerrfeeXXYY.csv сбор за Flood Control теперь будет рассчитываться за текущую завершенную сессию, а не за предыдущую. То есть данные в отчетах будут день в день, а не вчерашние.

-----------------------------------------------------------------------------------------------------
6.6.0 (2020.10.20)
SPECTRA-6.6
1. Утренние торги

В версии 6.6 в системе SPECTRA реализована поддержка проведения утренней дополнительной торговой сессии на срочном рынке в период с 03.00 до 10.00 МСК. О времени реальных торгов будет сообщено дополнительно. Параметры утренней торговой сессии:

    Режим торгов - дополнительная торговая сессия на срочном рынке.
    Время торгов - с 3.00 до 10.00 МСК (бесшовный переход от утренней к основной торговой сессии).
    Торгуемые инструменты - все инструменты срочного рынка аналогично вечерней торговой сессии.
    Риск-менеджмент - торги проводятся с использованием риск-параметров, установленных после окончания основной сессии предыдущего дня.
    Клиринг и расчеты - клиринг и расчеты производятся в тоже время, как и раньше.

    Отчеты - сделки отражаются в том календарном дне, в котором они заключены, никаких дополнительных отчетов клиентам не предоставляется, сделки, заключенные в утреннюю сессию, имеют флаг, который отражается в отчетах.
    Обеспечение - возможны переводы профилей между рынками в рамках единого пула, ввод денежных средств работает, вывод денежных средств и ввод/вывод ценных бумаг невозможен.
    Маркет-мейкинг - исполнение маркет-мейкерских обязательств учитывается в течение всей утренней сессии.
    Неторговые операции (управление клиентами) - обеспечивается возможность лимитирования клиентов, установка и снятие запретов в период с 2:00 до 23:50 МСК.
    Режим OTC - в утреннюю сессию доступна IQS-подсистема.
    Клиенты SMA и DMA функционал - SMA и мастер логины работают аналогично основной сессии.
    Добавление инструментов в торги – новые инструменты не торгуются в утреннюю торговую сессию.

2. Ускорение неторговой команды управления клиентскими лимитами

Увеличена производительность системы при обработке команды управления клиентскими лимитами. В SPECTRA добалена обновленная команда установки клиентских лимитов ChangeClientMoney (msgid=458). Скорость работы новой команды сопоставима со скоростью обработки торговых приказов. Старая версия команды остается доступной в течение некоторого времени, но будет работать значительно медленнее новой.  Пользователям рекомендуется переходить на использование новой команды установки клиентских лимитов.

3. Изменения в терминале Срочного рынка

    Реализованы новые требования парольной политики:
        в окно 'Пользователи' добавлен новый параметр 'Срок жизни пароля'
        в настройках терминала появилась новая опция 'Предупреждать о приближении даты истечения пароля'
    Новое расписание торгов по умолчанию для 'Тех.анализа' с учетом утренней сессии - время открытия торговой сессии теперь в 07:00.

4. Изменения в пользовательском шлюзовом интерфейсе CGate

    В потоке FORTS_FUTTRADE_REPL в таблицах orders_log и multileg_orders_log поле local_stamp объявляется устаревшим и будет удалено в версии 6.9.
    В потоке FORTS_OPTTRADE_REPL в таблице orders_log поле local_stamp объявляется устаревшим и будет удалено в версии 6.9.
    В потоке FORTS_TRADE_REPL в таблицах orders_log и multileg_orders_log поле local_stamp объявляется устаревшим и будет удалено в версии 6.9.
    В потоке FORTS_FUTINFO_REPL в таблицах fut_sess_contents и fut_instruments поле d_start объявляется устаревшим и будет удалено в версии 6.9.
    В потоке FORTS_OPTINFO_REPL в таблице opt_sess_contents поле d_start объявляется устаревшим и будет удалено в версии 6.9.
    В потоке FORTS_REFDATA_REPL в таблицах fut_sess_contents, opt_sess_contents и fut_instruments поле d_start объявляется устаревшим и будет удалено в версии 6.9.
    В потоке FORTS_DEALS_REPL в таблицу deal добавлены поля:

        xstatus_buy (i8) - Статус сделки со стороны покупателя.
        xstatus_sell (i8) - Статус сделки со стороны продавца.
    В потоке FORTS_DEALS_REPL в таблицу multileg_deal добавлены поля:

        xstatus_buy (i8) - Статус сделки со стороны покупателя.
        xstatus_sell (i8) - Статус сделки со стороны продавца
    В потоке FORTS_FUTORDERBOOK_REPL в таблицу info добавлено поле:

        publication_state (i1) - Состояние публикации среза. 0 - in progress (данные не готовы), 1 - done.
    В потоке FORTS_OPTORDERBOOK_REPL в таблицу info добавлено поле:
        publication_state (i1) - Состояние публикации среза. 0 - in progress (данные не готовы), 1 - done.
    В потоке FORTS_USERORDERBOOK_REPL в таблицу info добавлено поле:
        publication_state (i1) - Состояние публикации среза. 0 - in progress (данные не готовы), 1 - done.
    В потоке FORTS_ORDBOOK_REPL в таблицу info добавлено поле:
        publication_state (i1) - Состояние публикации среза. 0 - in progress (данные не готовы), 1 - done.
    В потоке FORTS_FUTINFO_REPL в таблицу user добавлено поле:
        password_expiration_date (t) - Дата истечения срока действия пароля.
    В потоке FORTS_REFDATA_REPL в таблицу user добавлено поле:
        password_expiration_date (t) - Дата истечения срока действия пароля.

5. Изменения в репозитории схем подачи команд

    Обновленная команда установки клиентских лимитов ChangeClientMoney (msgid=458).
        broker_code (c4) – код брокера
        mode (u1) – режим работы команды
        code (c3) – код клиента
        coeff_im (c17) – коэффициент клиентского ГО
        is_auto_update_limit (i4) – флаг автоматической коррекции лимита на величину дохода при закачке после клиринга
        check_limit (i4) – флаг проверки на достаточность средств
        limit_money (c17) – лимит денежных средств.
    Удалены следующие устаревшие команды: FutAddOrder, OptAddOrder, FutAddMultilegOrder, FutDelOrder, OptDelOrder, FutMoveOrder, OptMoveOrder, FutDelUserOrders, OptDelUserOrders, FutChangeClientMoney, FutChangeBFMoney, FutExchangeBFMoney, FutTransferClientPosition, OptTransferClientPosition, FutChangeBFLimit.
    В команде DelUserOrders поле instrument_mask переименовано в InstrMask.
    Команда OptChangeRiskParameters переименована в OptChangeRiskParametersNextSession.
    В командах поле local_stamp объявляется устаревшим и будет удалено в версии 6.9.
    Начиная с версии 6.9 в командах будет запрещено использование запятой в качестве разделителя целой и дробной частей числа.

6. Изменения в протоколе TWIME

    Версия схемы TWIME изменена на 5.
    SecurityTypeEnum преобразован в SecurityTypeSet.
    Сообщения OrderMassCancelResponse и OrderMassCancelByBFLimitResponse объединены в одно. Теперь в ответ и на OrderMassCancelRequest и на OrderMassCancelByBFLimitRequest WireGate пользователю отправляет сообщение OrderMassCancelResponse. Из сообщения OrderMassCancelResponse удалено устаревшее поле OrdRejReason.
    Удалены сообщения NewOrderReject, OrderCancelReject, OrderReplaceReject. Вместо удаленных сообщений WireGate при отклонении запросов на добавление, изменение или удаление заявок отправляет пользователю сообщение сессионного уровня BusinessMessageReject.
    Удалены устаревшие сообщения NewOrderMultileg и NewOrderMultilegResponse. Вместо них используются NewOrderSingle и NewOrderSingleResponse соответственно.
    Удалены устаревшие сообщения OrderCancelRequest_6_2 и OrderReplaceRequest_6_2.

7. Изменения в протоколе FAST

    В шаблон сообщения SecurityDefinition добавлены два необязательных поля MinPriceIncrementAmountCurr и SettlPriceOpen. Идентификатор этого шаблона сообщения будет изменен на “21”. 
        MinPriceIncrementAmountCurr - Стоимость минимального шага цены, выраженная в валюте;
        SettlPriceOpen - Расчетная цена на начало сессии.

            Поле MinPriceIncrementAmountCurr будет иметь значение в потоках FUT-INFO и IQS-FUT-INFO, а в потоках OPT-INFO, IQS-OPT-INFO, SPOT-INFO будет транслироваться nullValue.

            Поле SettlPriceOpen будет иметь значение в потоках FUT-INFO, OPT-INFO, IQS-FUT-INFO, IQS-OPT-INFO, а в потоке SPOT-INFO будет транслироваться nullValue.

    Новые объединенные потоки (мультикаст группы):
        FO-TRADES – поток сделок и статистики по фьючерсам, календарным спредам и опционам;
        FO-BOOK-1 – поток агрегированных Top of Book по фьючерсам, календарным спредам и опционам;
        FO-BOOK-5 – поток агрегированных стаканов глубиной 5 по фьючерсам, календарным спредам и опционам;
        FO-BOOK-20 – поток агрегированных стаканов глубиной 20 по фьючерсам, календарным спредам и опционам;
        FO-BOOK-50 – поток агрегированных стаканов глубиной 50 по фьючерсам, календарным спредам и опционам;
        IQS-TRADES – поток индикативных сделок и статистики по фьючерсам, календарным спредам и опционам;
        IQS-BOOK-1 – поток агрегированных Top of Book по фьючерсам, календарным спредам и опционам из системы индикативных котировок IQS;
        IQS-BOOK-50 – поток агрегированных стаканов глубиной 50 по фьючерсам, календарным спредам и опционам из системы индикативных котировок IQS.

            Новые потоки FO являются результатом объединения существующих потоков FUT и OPT.

    Весной 2021 перестанут транслироваться следующие потоки:
        FUT-BOOK-1, FUT-BOOK-5, FUT-BOOK-20, FUT-BOOK-50, OPT-BOOK-1, OPT-BOOK-5, OPT-BOOK-20, OPT-BOOK-50 – обновления агрегированного стакана;
        FUT-TRADES, OPT-TRADES – обновления таблицы сделок и статистика срочного рынка;
        IQS-FUT-BOOK-1, IQS-FUT-BOOK-50, IQS-OPT-BOOK-1, IQS-OPT-BOOK-50 – обновления агрегированного стакана из системы индикативных котировок;
        IQS-FUT-TRADES, IQS-OPT-TRADES – обновления таблицы квазисделок и статистика системы индикативных котировок.

О прекращении трансляции указанных потоков будет сообщено дополнительно.
-----------------------------------------------------------------------------------------------------
6.5.0 (2020.04.14)
SPECTRA-6.5
1. Айсберг-заявки

Начиная с версии 6.5 в системе SPECTRA поддерживаются айсберг-заявки. Айсберг-заявка - это разновидность котировочной заявки, у которой определенная часть объема скрыта от рынка (т.е. в стакане), чтобы минимизировать влияние на рыночную цену крупных относительно рынка заявок. Айсберг-заявки появляются в стакане порциями (видимая часть). Когда видимая часть заявки полностью сводится в сделки, тогда "всплывает" очередная порция. Так может повторяться до тех пор, пока вся скрытая часть заявки не будет исчерпана.
Айсберг-заявки могут быть только безадресными. С точки зрения времени жизни айсберг-заявки могут быть обычными и многодневными. Гарантийное обеспечение при добавлении заявки блокируется под весь объем айсберг-заявки. При изменении выставленной айсберг-заявки меняться может только цена, объем не доступен для изменения. В таблицах своих заявок и сделок айсберг-заявки и сделки по ним в полях xstatus и xstatus_sell / xstatus_buy помечаются специальным признаком "eIceberg" (0x800000000000).

2. Синтетический матчинг

В версии 6.5 в ТС Спектра реализован синтетический матчинг. Синтетический матчинг – формирование сделок на основании заявок, поступающих в разные стаканы (стаканы разных инструментов). Целью синтетического матчинга является повышение ликвидности инструментов путем объединения нескольких стаканов. Например, синтетический матчинг позволит сведение заявок инструмента типа календарный спред не только со встречной заявкой внутри стакана данного инструмента, но и с отдельными заявками из стаканов фьючерсов его ног. Таким образом заявка КС учитывает встречные интересы из других стаканов своих ног.
Внимание! В текущей реализации синтетический матчинг будет ограничен только одновременным сведением трех заявок: по календарному спреду и по одной в каждой из его ног.

3. Блокировка по РК Администратором торговой системы (Операторный ввод по РК)

В определенных случаях Администратор торгов может установить блокировку по Расчетному коду. При включении режима блокировки автоматически снимаются заявки, выставленные со всех конечных клиринговых разделов БФ, привязанных к блокированному РК. Снятые заявки в поле xstatus помечаются специальным признаком - eOperatorInputSA (0x1000000000000).
В режиме блокировки устанавливается запрет на подачу любых торговых команд в ТС с указанием конечных клиринговых разделов брокерских фирм, привязанных к данному РК, а также запрещен перенос позиций между БФ.  В заявках и сделках, сформированных по РК Администратором торгов в режиме блокировки, в полях xstatus (в заявках) и xstatus_sell / xstatus_buy (в сделках) проставляется специальный признак - eOperatorInputSA (0x1000000000000).
Признак выставленной блокировки транслируется в шлюзе в потоке FORTS_FUTINFO_REPL (FORTS_REFDATA_REPL), в таблице fut_margin_type, в поле operator_input.

4. Оптимизация маржирования межконтрактных спредов

В версии 6.5 восстановлена полнофункциональная поддержка маржирования межконтрактных спредов. У пользователя появилась возможность выбирать правило маржирования для контрактов, входящих в МКС, «полунетто/нетто».  При выборе правила «нетто» снижаются требования к ГО по сравнению с методом расчета «полунетто». Выбор правила маржирования возможен через команды изменения параметров участников ChangeBFParametersNextSession и ChangeClientParametersNextSession, а установленное значение транслируется в шлюзе в таблицах dealer и investor потоков FORTS_INFO_REPL и FORTS_FUTINFO_REPL (FORTS_REFDATA_REPL).

5. Изменения в терминале Срочного рынка

Реализована возможность работы с айсберг-заявками:
в форме ввода заявки добавлены новые параметры:
Тип заявки - айсберг
Видимая часть - объем постоянной всплывающей части
Отклонение - амплитуда отклонения в процентах для случайной надбавки к всплывающей части
в окно Свои заявки/поручения добавлены новые параметры:
Видимая заявка - порядковый номер видимой части айсберг-заявки в системе
Видимое кол-во - количество единиц инструмента в видимой части айсберг-заявки
Видимый остаток - оставшееся количество инструмента в видимой части айсберг-заявки
Отклонение - амплитуда отклонения случайной надбавки для видимой части (в контрактах)
Видимая часть - фиксированное количество единиц инструмента в видимой части айсберг-заявки
в окно Свои сделки/ поручения добавлен новый параметр – Видимая заявка (номер видимой части айсберг-заявки).
в окно котировок добавлены новые параметры:
Свои покупки скрытые - количество единиц инструмента в айсберг-заявках на покупку по определенной цене
Свои продажи скрытые - количество единиц инструмента в айсберг-заявках на продажу по определенной цене
В рамках проекта синтетического матчинга:
в окно котировок добавлены новые параметры:
Синтетический объем покупки - объем синтетической ликвидности покупки
Синтетический объем продажи - объем синтетической ликвидности продажи
Добавлен новый режим блокировки ТС по РК.
Добавлена возможность изменения заявки:
в контекстное меня окна Свои заявки/поручения добавлена команда Изменить заявку
разработана отдельная форма для изменения заявки
в настройки подтверждений добавлена опция Запрашивать подтверждение при изменении заявки
В окно Позиции/ поручения добавлен фильтр по типу счета. По умолчанию в окне отображаются только клиентские позиции.
Появилось новое окно Позиции по расчетным кодам (подпункт пункта основного меню Торговля).
Новые настройки (Настройка/ Настроить терминал):
ограничитель нотификаций в трее - опция Флудконтроль уведомлений (раздел Основные вкладка Общие);
глобальная настройка в разделе Транспорт Использовать полные коды инструментов в формах ввода, где есть выпадающие списки;
новая вкладка Новости в разделе Основные, позволяющая настроить источники новостей.
Изменения по RFS потокам:
подпункт меню RFS (активные потоки) перемещен в пункт основного меню Торговля;
в окно RFS (активные потоки) добавлен новый параметр Статус квазисделки (последней в потоке);
форма ввода запроса на новый поток ликвидности теперь может открываться при перетаскивании инструмента из других окон.
В окно Свои заявки/поручения добавлен новый параметр Тип заявки и фильтр по нему.
Реализована возможность трансляции новостей информационных агенств в терминале (пункт основного меню Таблицы/ Новости).
В форме Установка параметров БФ добавлена новая опция Тип маржирования межконтрактного спреда.
Для поддержки отрицательных цен реализована возможность выбора модели расчета волатильности и теоретических цен опционов между моделью Блэка-Шоулза (по умолчанию) и моделью Башелье (поддержка отрицательных цен).

6. Изменения в пользовательском шлюзовом интерфейсе CGate

Для поддержки функционала айсберг-заявок в потоке FORTS_FUTTRADE_REPL в таблицы orders_log и multileg_orders_log добавлены поля:
public_order_id (i8) - Идентификационный номер заявки (для айсберг-заявок - номер видимой части айсберг-заявки).
public_amount (i8) - Количество контрактов в операции (для айсберг-заявок - количество контрактов в операции по видимой части айсберг-заявки).
public_amount_rest (i8) - Оставшееся количество контрактов в заявке (для айсберг-заявок - оставшееся количество контрактов в видимой части айсберг-заявки).
public_action (i1) - Действие с заявкой (для айсберг-заявок - действие с видимой частью айсберг-заявки).
disclose_const_amount (i8) - Объем постоянной всплывающей (видимой) части айсберг-заявки.
variance_amount (i8) - Величина случайного отклонения объема видимой части айсберг-заявки.
private_order_id (i8) - Идентификационный номер заявки (для айсберг-заявок – идентификационный номер всей айсберг-заявки).
private_amount (i8) - Количество контрактов в операции (для айсберг-заявок – количество контрактов в операции со всей айсберг-заявкой).
private_amount_rest (i8) - Оставшееся количество контрактов в заявке (для айсберг-заявок - оставшееся количество контрактов во всей айсберг-заявке).
private_action (i1) - Действие с заявкой (для айсберг-заявок – действие в отношении всей айсберг-заявки).
Для поддержки функционала айсберг-заявок в потоке FORTS_FUTTRADE_REPL в таблицы user_deal и user_multileg_deal добавлены поля:
public_order_id_buy (i8) - Идентификатор заявки покупателя (для айсберг-заявок - номер видимой части айсберг-заявки покупателя).
public_order_id_sell (i8) - Идентификатор заявки продавца (для айсберг-заявок - номер видимой части айсберг-заявки продавца).
private_order_id_buy (i8) - Идентификатор заявки покупателя (для айсберг-заявок - идентификатор всей айсберг-заявки покупателя).
private_order_id_sell (i8) - Идентификатор заявки продавца (для айсберг-заявок - идентификатор всей айсберг-заявки продавца).
Для поддержки функционала айсберг-заявок в потоке FORTS_OPTTRADE_REPL в таблицу orders_log добавлены поля:
public_order_id (i8) - Идентификационный номер заявки (для айсберг-заявок - номер видимой части айсберг-заявки).
public_amount (i8) - Количество контрактов в операции (для айсберг-заявок - количество контрактов в операции по видимой части айсберг-заявки).
public_amount_rest (i8) - Оставшееся количество контрактов в заявке (для айсберг-заявок - оставшееся количество контрактов в видимой части айсберг-заявки).
public_action (i1) - Действие с заявкой (для айсберг-заявок - действие с видимой частью айсберг-заявки).
disclose_const_amount (i8) - Объем постоянной всплывающей (видимой) части айсберг-заявки.
variance_amount (i8) - Величина случайного отклонения объема видимой части айсберг-заявки.
private_order_id (i8) - Идентификационный номер заявки (для айсберг-заявок – идентификационный номер всей айсберг-заявки).
private_amount (i8) - Количество контрактов в операции (для айсберг-заявок – количество контрактов в операции со всей айсберг-заявкой).
private_amount_rest (i8) - Оставшееся количество контрактов в заявке (для айсберг-заявок - оставшееся количество контрактов во всей айсберг-заявке).
private_action (i1) - Действие с заявкой (для айсберг-заявок – действие в отношении всей айсберг-заявки).
Для поддержки функционала айсберг-заявок в потоке FORTS_OPTTRADE_REPL в таблицу user_deal добавлены поля:
public_order_id_buy (i8) - Идентификатор заявки покупателя (для айсберг-заявок - номер видимой части айсберг-заявки покупателя).
public_order_id_sell (i8) - Идентификатор заявки продавца (для айсберг-заявок - номер видимой части айсберг-заявки продавца).
private_order_id_buy (i8) - Идентификатор заявки покупателя (для айсберг-заявок - идентификатор всей айсберг-заявки покупателя).
private_order_id_sell (i8) - Идентификатор заявки продавца (для айсберг-заявок - идентификатор всей айсберг-заявки продавца).
Добавлен новый поток FORTS_TRADE_REPL - объединение FORTS_FUTTRADE_REPL и FORTS_OPTTRADE_REPL.
Для поддержки функционала айсберг-заявок в потоке FORTS_FUTORDERBOOK_REPL в таблицу orders добавлены поля:
public_order_id (i8) - Идентификационный номер заявки (для айсберг-заявок - номер видимой части айсберг-заявки).
public_amount (i8) - Количество контрактов в операции (для айсберг-заявок - количество контрактов в операции по видимой части айсберг-заявки).
public_amount_rest (i8) - Оставшееся количество контрактов в заявке (для айсберг-заявок - оставшееся количество контрактов в видимой части айсберг-заявки).
public_action (i1) - Действие с заявкой (для айсберг-заявок - действие с видимой частью айсберг-заявки).
disclose_const_amount (i8) - Объем постоянной всплывающей (видимой) части айсберг-заявки.
variance_amount (i8) - Величина случайного отклонения объема видимой части айсберг-заявки.
private_order_id (i8) - Идентификационный номер заявки (для айсберг-заявок – идентификационный номер всей айсберг-заявки).
private_amount (i8) - Количество контрактов в операции (для айсберг-заявок – количество контрактов в операции со всей айсберг-заявкой).
private_amount_rest (i8) - Оставшееся количество контрактов в заявке (для айсберг-заявок - оставшееся количество контрактов во всей айсберг-заявке).
private_action (i1) - Действие с заявкой (для айсберг-заявок – действие в отношении всей айсберг-заявки).
public_init_moment (t) - Время появления заявки (для айсберг-заявок - время появления видимой части айсберг-заявки).
public_init_amount (i8) - Начальное количество контрактов в заявке (для айсберг-заявок - начальное количество контрактов в видимой части айсберг-заявки).
private_init_moment (t) - Время появления заявки (для айсберг-заявок - время появления всей айсберг-заявки).
private_init_amount (i8) - Начальное количество контрактов в заявке (для айсберг-заявок - начальное количество контрактов во всей айсберг-заявке).
Для поддержки функционала айсберг-заявок в потоке FORTS_OPTORDERBOOK_REPL в таблицу orders добавлены поля:
public_order_id (i8) - Идентификационный номер заявки (для айсберг-заявок - номер видимой части айсберг-заявки).
public_amount (i8) - Количество контрактов в операции (для айсберг-заявок - количество контрактов в операции по видимой части айсберг-заявки).
public_amount_rest (i8) - Оставшееся количество контрактов в заявке (для айсберг-заявок - оставшееся количество контрактов в видимой части айсберг-заявки).
public_action (i1) - Действие с заявкой (для айсберг-заявок - действие с видимой частью айсберг-заявки).
disclose_const_amount (i8) - Объем постоянной всплывающей (видимой) части айсберг-заявки.
variance_amount (i8) - Величина случайного отклонения объема видимой части айсберг-заявки.
private_order_id (i8) - Идентификационный номер заявки (для айсберг-заявок – идентификационный номер всей айсберг-заявки).
private_amount (i8) - Количество контрактов в операции (для айсберг-заявок – количество контрактов в операции со всей айсберг-заявкой).
private_amount_rest (i8) - Оставшееся количество контрактов в заявке (для айсберг-заявок - оставшееся количество контрактов во всей айсберг-заявке).
private_action (i1) - Действие с заявкой (для айсберг-заявок – действие в отношении всей айсберг-заявки).
public_init_moment (t) - Время появления заявки (для айсберг-заявок - время появления видимой части айсберг-заявки).
public_init_amount (i8) - Начальное количество контрактов в заявке (для айсберг-заявок - начальное количество контрактов в видимой части айсберг-заявки).
private_init_moment (t) - Время появления заявки (для айсберг-заявок - время появления всей айсберг-заявки).
private_init_amount (i8) - Начальное количество контрактов в заявке (для айсберг-заявок - начальное количество контрактов во всей айсберг-заявке).
Добавлен новый поток FORTS_USERORDERBOOK_REPL - объединение FORTS_FUTORDERBOOK_REPL и FORTS_OPTORDERBOOK_REPL.
Для поддержки функционала айсберг-заявок в таблицах orders_log и multileg_orders_log потока FORTS_ORDLOG_REPL:
Поле id_ord переименовано в public_order_id - Идентификационный номер заявки (для айсберг-заявок - номер видимой части айсберг-заявки).
Поле xamount переименовано в public_amount - Количество контрактов в операции (для айсберг-заявок - количество контрактов в операции по видимой части айсберг-заявки).
Поле xamount_rest переименовано в public_amount_rest - Оставшееся количество контрактов в заявке (для айсберг-заявок - оставшееся количество контрактов в видимой части айсберг-заявки).
Поле action переименовано в public_action - Действие с заявкой (для айсберг-заявок - действие с видимой частью айсберг-заявки).
Для поддержки функционала айсберг-заявок в таблицах deal и multileg_deal потока FORTS_DEALS_REPL:
Поле id_ord_buy переименовано в public_order_id_buy - Идентификатор заявки покупателя (для айсберг-заявок - номер видимой части айсберг-заявки покупателя).
Поле id_ord_sell переименовано в public_order_id_sell - Идентификатор заявки продавца (для айсберг-заявок - номер видимой части айсберг-заявки продавца).
Для поддержки функционала айсберг-заявок в таблице orders потока FORTS_ORDBOOK_REPL:
Поле id_ord переименовано в public_order_id - Идентификационный номер заявки (для айсберг-заявок - номер видимой части айсберг-заявки .
Поле xamount переименовано в public_amount - Количество контрактов в операции (для айсберг-заявок - количество контрактов в операции по видимой части айсберг-заявки).
Поле xamount_rest переименовано в public_amount_rest - Оставшееся количество контрактов в заявке (для айсберг-заявок - оставшееся количество контрактов в видимой части айсберг-заявки).
Поле action переименовано в public_action - Действие с заявкой (для айсберг-заявок - действие с видимой частью айсберг-заявки).
Поле init_moment переименовано в public_init_moment - Время появления заявки (для айсберг-заявок - время появления видимой части айсберг-заявки).
Поле xinit_amount переименовано в public_init_amount - Начальное количество контрактов в заявке (для айсберг-заявок - начальное количество контрактов в видимой части айсберг-заявки).
Для поддержки функционала синтетический матчинг в потоке FORTS_FUTCOMMON_REPL в таблицу common добавлены поля:
best_buy_native (d16.5) - Цена лучшей заявки на покупку без учета синтетической ликвидности.
xamount_buy_native (i8) - Количество в заявках на покупку с лучшей ценой без учета синтетической ликвидности.
xorders_buy_amount_native (i8) - Объём в контрактах в заявках на покупку без учета синтетической ликвидности.
best_sell_native (d16.5) - Цена лучшей заявки на продажу без учета синтетической ликвидности.
xamount_sell_native (i8) - Количество в заявках на продажу с лучшей ценой без учета синтетической ликвидности.
xorders_sell_amount_native (i8) - Объём в контрактах в заявках на продажу без учета синтетической ликвидности.
В потоке FORTS_FUTCOMMON_REPL из таблицы common удалены поля old_kotir и cur_kotir.
Для поддержки функционала синтетический матчинг в потоке FORTS_OPTCOMMON_REPL в таблицу common добавлены поля:
best_buy_native (d16.5) - Цена лучшей заявки на покупку без учета синтетической ликвидности.
xamount_buy_native (i8) - Количество в заявках на покупку с лучшей ценой без учета синтетической ликвидности.
xorders_buy_amount_native (i8) - Объём в контрактах в заявках на покупку без учета синтетической ликвидности.
best_sell_native (d16.5) - Цена лучшей заявки на продажу без учета синтетической ликвидности.
xamount_sell_native (i8) - Количество в заявках на продажу с лучшей ценой без учета синтетической ликвидности.
xorders_sell_amount_native (i8) - Объём в контрактах в заявках на продажу без учета синтетической ликвидности.
В потоке FORTS_OPTCOMMON_REPL из таблицы common удалено поле old_kotir.
Добавлен новый поток FORTS_COMMON_REPL - объединение FORTS_FUTCOMMON_REPL и FORTS_OPTCOMMON_REPL.
Для поддержки функционала синтетический матчинг в таблицу orders_aggr добавлено поле:
synth_volume (i8) - Объем синтетической ликвидности.
Добавлены новые потоки FORTS_AGGR5_REPL, FORTS_AGGR20_REPL, FORTS_AGGR50_REPL - объединение соответствующих фьючерсных и опционных потоков агрегированных стаканов.
В потоке FORTS_CLR_REPL из таблицы money_clearing удалено поле share.
В потоке FORTS_CLR_REPL из таблицы fut_pos удалено поле account.
В потоке FORTS_CLR_REPL из таблицы opt_pos удалено поле account.
В потоке FORTS_FUTINFO_REPL из таблицы fut_sess_contents удалены поля code_vcb, old_kotir, d_pg и last_cl_quote.
В потоке FORTS_FUTINFO_REPL из таблицы fut_vcb удалены поля code_vcb и is_foreign.
В потоке FORTS_FUTINFO_REPL из таблицы fut_instruments удалены поля code_vcb, old_kotir, d_pg, d_exp, exec_name и last_cl_quote.
В потоке FORTS_FUTINFO_REPL из таблицы dealer удалено поле go_ratio.
В потоке FORTS_FUTINFO_REPL из таблицы prohibition удалено поле code_vcb.
В потоке FORTS_FUTINFO_REPL в таблицу fut_margin_type добавлено поле:
operator_input (i1) - Блокировка по Расчетному Коду, выставленная Администратором ТС. 0 - отключена, 1 - включена.
В потоке FORTS_OPTINFO_REPL в таблицу option_series добавлено поле:
m_bach (f) - Параметр расчета кривой волатильности по модели Башелье.
В потоке FORTS_OPTINFO_REPL из таблицы opt_sess_contents удалены поля code_vcb, old_kotir, d_pg, bgo_c, bgo_nc, bgo_buy и last_cl_quote.
В потоке FORTS_OPTINFO_REPL из таблицы opt_vcb удалено поле code_vcb.
Добавлен новый поток FORTS_REFDATA_REPL - объединение FORTS_FUTINFO_REPL и FORTS_OPTINFO_REPL.
В потоке FORTS_INFO_REPL в таблицу option_series_params добавлено поле:
m_bach (f) - Параметр расчета кривой волатильности по модели Башелье.
В потоке FORTS_INFO_REPL из таблицы base_contracts_params удалено поле code_vcb.
В потоке FORTS_INFO_REPL из таблицы futures_params удалены поля code_vcb, settl_price и settl_price_real.
В потоке FORTS_INFO_REPL из таблицы investor удалено поле go_ratio.
В потоке FORTS_INFO_REPL из таблицы dealer удалено поле go_ratio.
В потоке FORTS_PART_REPL из таблицы part удалены поля coeff_go, no_fut_discount и num_clr_2delivery.
В потоке FORTS_RISKINFOBACH_REPL в таблицу volat_coeff добавлено поле:
m (f) - Параметр расчета кривой волатильности по модели Башелье.
7. Изменения в репозитории схем подачи команд

Добавлена новая команда AddOrder  (msgid=444) - Добавление заявок. Объединяет FutAddOrder, OptAddOrder и FutAddMultilegOrder.
Добавлена новая команда DelUserOrders  (msgid=456) - Массовое удаление заявок. Объединяет FutDelUserOrders и OptDelUserOrders.
Добавлены новые команды IcebergAddOrder (msgid=447), IcebergDelOrder (msgid=451), IcebergMoveOrder (msgid=449)  - команды для управления айсберг-заявками.
Команда ChangeBFParameters переименована в ChangeBFParametersNextSession.
Команда ChangeBFClientDefaultParameters переименована в ChangeBFClientDefaultParametersNextSession.
8. Изменения в отчетах

В отчеты ind04 и indlink доблено новое поле DIR char(4), которое может принимать значения BUY и SELL.
В отчеты fordlog, oordlog добавлены поля:
private_amount (i8) - количество единиц инструмента в операции по айсберг-заявке
private_amount_rest (i8) - оставшееся количество в айсберг-заявке
private_order_id (i8) - код айсберг-заявки в системе
новый уникальный бит(eIceberg) в поле xstatus
Новые поля заполняются только для айсберг-заявок.

В отчет errlog добавляются поля:
iceberg_amount (i8) -количество единиц инструмента  в операции по айсберг-заявке
variance_amount (i8) - амплитуда отклонения случайной надбавки заданной количеством контрактов для всплывающей части
Новые поля заполняются только для айсберг-заявок.

В ежедневные отчеты fcsm_forts_fut_quotes.txt, fcsm_forts_opt_quotes.txt добавлены поля:
full_kol (соответствует private_amount_rest) (i8) - оставшееся количество в айсберг-заявке
private_order_id (i8) - код айсберг-заявки в системе
Новые поля заполняются только для айсберг-заявок.

В отчет clients добавлено новое поле ics_margin_type (numeric(1))- тип маржирования межконтрактного спреда. Допустимые значения:
3 – Полунеттинг
4 – Неттинг
9. Изменения в протоколе TWIME

Версия схемы TWIME изменена на 4.
В SecurityTypeEnum добавлено новое значение Multileg - массовое удаление заявок по составным инструментам.
В FlagsSet добавлены флаги:
UKS - Удаление заявки сервисом 'User Kill Switch';
NCC - Признак того, что респонс является следствием подачи поручения от НКЦ (сообщения OrderMassCancelByBFLimitRequest);
LiqNettingRF - Проставляется в заявках и сделках поданных казначеем по RF с установленным признаком ликвидационный неттинг;
Synthetic - Признак синтетической заявки и стороны сделки, соответствующей этой синтетической заявке;
Iceberg - Признак айсберг-заявки, проставляется в заявках и сделках;
DisclosedIceberg - Признак всплывшей части айсберг-заявки.
Добавлено сообщение NewOrderIceberg - добавление айсберг-заявки. Передаётся от клиента к WireGate.
Добавлено сообщение OrderIcebergCancelRequest - удаление айсберг-заявки. Передаётся от клиента к WireGate.
Добавлено сообщение OrderIcebergReplaceRequest - перемещение айсберг-заявки. Передаётся от клиента к WireGate.
Добавлено сообщение NewOrderIcebergResponse - успешное добавление айсберг-заявки. Передаётся от WireGate клиенту.
В поле OrderID передаётся идентификационный номер заявки (для айсберг-заявок – идентификационный номер всей айсберг-заявки).
В поле DisplayOrderID передается идентификационный номер заявки (для айсберг-заявок - номер видимой части айсберг-заявки).
Всплытие новой части "айсберг-заявки " WireGate транслирует пользователю в виде сообщения NewOrderIcebergResponse, в котором в поле DisplayOrderID содержится идентификатор новой видимой заявки в стакане, в поле DisplayQty содержится количество единиц инструмента во всплывшей части (видимой части), в поле Flags взвёден флаг DisclosedIceberg (бит №53).
Сообщения NewOrderMultileg и NewOrderMultilegResponse объявлены deprecated="4" (то есть устаревшими начиная с версии 6.5), сообщение NewOrderSingle начиная с версии 6.5 позволяет добавлять заявку по составному инструменту, при успешном добавлении заявки WireGate передаёт клиенту сообщение NewOrderMultilegResponse. Рекомендуется перейти на добавление заявок по составным сообщением NewOrderSingle, в будущих версиях сообщения NewOrderMultileg и NewOrderMultilegResponse будут удалены, при успешном добавлении заявки WireGate будет передать клиенту сообщение NewOrderResponse.


10. Изменения в протоколе FIX

В сообщение New Order Single добавлена группа полей <DisplayInstruction>, состоящая из трёх полей:
DisplayQty (tag 1138) - Количество единиц инструмента для всплывающей (видимой части);
DisplayVarianceQty (tag 20036) - Амплитуда отклонения случайной надбавки, заданной количеством контрактов для всплывающей части;
DisplayMethod (tag 1084) - тип всплытия айсберг-заявки, поддерживается значение 3 - Random (randomize value).
FixGate определяет по наличию группы <DisplayInstruction> в сообщении New Order Single тип добавляемой заявки - наличие группы означает айсберг-заявку, отсутствие - обычную заявку.
Для удаления и перемещения айсберг-заявок используются сообщения: Order Cancel Request, Order Cancel/Replace Request.
FixGate и сервис FIX Drop Copy транслируют клиенту сообщение Execution Report (New, New) при первоначальном добавлении айсберг-заявки, в этом сообщении транслируется группа полей <DisplayInstruction>. Всплытия видимой части не транслируются.
Во все сообщения Execution Report по айсберг-заявкам добавлено поле MDEntryID (tag 278). В поле транслируется идентификатор всплывшей части по айсберг-заявке, назначенный торговой системой. Соответствует полю MDEntryID в анонимном потоке заявок и сделок.
В сообщение Execution Report (New, New) добавлено поле FirstOrderID (tag 20038). Сервис FIX Drop Copy для многодневных заявок транслирует в это поле идентификатор первой заявки.
В сообщение Execution Report (Replaced, New) добавлено поле OrigOrderID (tag 9945). Сервис FIX Drop Copy при перемещении заявки транслирует в это поле идентификатор удаленной заявки.
В случае дублирования ClOrdID при выставлении/перемещении/удалении заявки, FixGate в ответ отправляет пользователю сообщение Execution Report (Rejected, Rejected) и заполняет поля: OrderQty, LeavesQty, CumQty значением 0.


11. Изменения в протоколе FAST

Для поля MDFlags в сообщениях в потоках ORDERS-LOG и QUOTES-LOG выполняется маскирование внутренних битов, не документированных в спецификации протокола FAST в разделах "5. Поток анонимных заявок и сделок" и "6. Индикативная система котировок срочного рынка".
 Добавляется функциональность айсберг-заявок, в потоке ORDERS-LOG становятся возможны операции добавления заявки (обновление MDEntry с MDUpdateAction = "0" (New)) в середине транзакции. Поле MDEntryID содержит идентификатор заявки (для айсберг-заявок - идентификатор видимой части айсберг-заявки).
Добавляется функциональность синтетического матчинга:
В потоке ORDERS-LOG становятся возможны операции добавления заявки (обновление MDEntry с MDUpdateAction = "0" (New)) в середине транзакции.
Добавляется новый статус в потоке ORDERS-LOG в поле 'MDFlags': 0x200000000000 - признак синтетической заявки.
В шаблон сообщения <template name="DefaultIncrementalRefreshMessage" id="12"> добавляется поле MDEntrySyntheticSize, содержащее объём в контрактах синтетической ликвидности. Идентификатор этого шаблона сообщения изменен на 19.
В шаблон сообщения <template name="DefaultSnapshotMessage" id="13"> добавляется поле MDEntrySyntheticSize, содержащее объём в контрактах синтетической ликвидности. Идентификатор этого шаблона сообщения изменен на 20.
В клиентской спецификации в сообщения Market Data - Snapshot / Full Refresh, Market Data - Incremental Refresh в описание поля MDEntryType добавляются новые типы записи:
'x' - Total bid volume without synthetic liquidity или по-русски "Объём в заявках на покупку без учета синтетической ликвидности";
'y' - Total offer volume without synthetic liquidity или по-русски "Объём в заявках на продажу без учета синтетической ликвидности";
MDEntry с указанными типами транслируются в потоках FUT-TRADES, OPT-TRADES.
12. Поддержка отрицательных цен в SPECTRA, этап 2

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

Режим, при котором цены фьючерсов и страйки опционов не ограничены - в этом режиме в системе допустимы отрицательные и нулевые цены фьючерсов и страйки опционов, а для ценообразования опционов, расчета волатильности и рисков используется модель Башелье, либо скорректированная модель Блэка-Шоулза, учитывающая только внутреннюю стоимость опциона в отрицательном диапазоне.
Режим, в котором  цены фьючерсов  и страйки ограничены положительными значениями - в этом режиме отрицательные цены в ходе и в результате торгов не могут образоваться, а для ценообразования опционов используется модель Блэка-Шоулза (либо Башелье в качестве альтернативы). Однако, в таком режиме возможно ручное указание отрицательной расчетной цены и/или индикативной текущей рыночной цены (см. ниже), в случае соответствующего решения НКЦ. При этом все равно сохраняется ограничение на положительные значения торговых цен фьючерсов и страйков опционов.
Режим работы и модель ценообразования опционов задаются на уровне БА (базового контракта) и действуют на все инструменты данного БА. Переключение режимов и модели ценообразования опционов возможно во время клиринговой сессии (ПК или ВК). Для задания режима и риск-модели используются следующие параметр базового контракта:

negative_prices - признак ограничения отрицательных цен: 1 – цены фьючерсов  и страйки не ограничены; 0 - цены фьючерсов  и страйки ограничены положительными значениями.
option_model - модель ценообразования опционов: 1 – модель Башелье; 0 - модель Блэка-Шоулза.
Значения параметров транслируются в шлюзе в потоках FORTS_FUTINFO_REPL/FORTS_OPTINFO_REPL (FORTS_REFDATA_REPL) в таблицах fut_vcb/opt_vcb.

В режиме запрета отрицательный цен (negative_prices=0), в случае соответствующего решения НКЦ, допускается устанавливать в ручном режиме индикативную текущую рыночную цену, транслируемую в потоке FORTS_FUTCOMMON_REPL (FORTS_COMMON_REPL). От этой цены зависит индикативная текущая вариационная маржа, транслируемая в потоке FORTS_VM_REPL, и текущая теоретическая цена опциона, транслируемая в потоке FORTS_VOLAT_REPL. Для индикации того, что текущая рыночная цена для фьючерса установлена в ручном режиме, используется параметр:

price_assigned_by_admin - признак установки текущей рыночной цены Администратором торгов.
В поле option_model (i1) таблиц пользовательского шлюзового интерфейса CGate становится доступно новое значение – "1" (модель Башелье). В потоке FORTS_RISKINFOBACH_REPL начинают транслироваться риск-параметры для модели Башелье.

13. Изменения в SpectraIM

В функции InsertBaseContract и GetNextBaseContract добавлен параметр SpotPrice.
В функции InsertVirtFutures и GetNextVirtFutures добавлен параметр M_Bach для функции расчета волатильности по формуле Башелье.
-----------------------------------------------------------------------------------------------------
 6.3.0 (2019.10.08)
   SPECTRA-6.3
   IQS 1.0 проинтегрирована с SPECTRA 6.3.
   Изменений во внешних интерфейсах нет.
-----------------------------------------------------------------------------------------------------
 1.0.2 (2018.08.02)
-----------------------------------------------------------------------------------------------------
   SPECTRA-6.1
   CGate 5.3.8
-----------------------------------------------------------------------------------------------------
 1.0.0 (2018.02.21)
-----------------------------------------------------------------------------------------------------
   SPECTRA-6.0
   CGate 5.3.5
