Как организована передача финансовых данных на американской бирже Nasdaq: Протоколы ITCH и OUCH

в 7:36, , рубрики: ITCH, OUCH, биржи, Блог компании ITinvest, ит-инфраструктура, онлайн-трейдинг, протоколы передачи данных, разработка, разработка под iOS, фондовый рынок, метки: , ,

Как организована передача финансовых данных на американской бирже Nasdaq: Протоколы ITCH и OUCH - 1

В нашем блоге мы уже рассказывали об использующихся на мировых биржах протоколах передачи финансовой информации. Речь шла о таких протоколах, как FIX и FAST, которые широко применяются фондовыми площадками по всему миру, а также о проприетарных протоколах Plaza II и ASTS Bridge, которые были созданы специалистами российских бирж РТС и ММВБ, позднее объединившихся в «Московскую биржу».

Сегодня мы продолжим цикл материалов и поговорим о проприетарных протоколах биржи Nasdaq ITCH и OUCH.

Введение: две стороны транзакции

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

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

ITCH был создан в конце 90-х годов прошлого века — в то время это был один из самых продвинутых протоколов передачи финансовых данных. С тех пор он утвердился в роли стандарта в финансовой индустрии.

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

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

Как работает OUCH

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

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

Для создания торгового приказа используется сообщение Enter Order Message — у каждого приказа должен быть токен, уникальный для каждого дня. Ниже представлен пример формата сообщения — в данном случае для ввода торгового приказа:

Enter Order Message
Name Offset Len Value Notes
Тип 0 1 «O» Идентификатор типа сообщения Enter Order Message
Токен приказа 1 14 Токен В качестве токена может выступать любая информация, однако каждый день для каждого аккаунта OUCH она должна быть уникальной.
Индикатор покупки/продажи 15 1 Символы “B” — приказ на покупку
“S” — приказ на продажу
“T” — короткая продажа, клиент подтверждает возможность заимствования акций для их продажи последующего откупа в течение трех рабочих дней
Число акций 16 4 Целое число Общее число акций, которые нужно продать или купить, должно быть больше 1 и меньше 1000000
Акция 20 8 Символы Тикер финансового инструмента
Цена 28 4 Целое число Цена, по которой нужно провести сделки.
Время жизни 32 4 Целое число Число секунд, которые приказ должен «жить» до автоматической отмены.
Идентификатор трейдера 36 4 Символы Поле должно содержать только заглавные буквы. Идентификатор тредера, под аккаунтом которого отправлен приказ. Один логический OUCH-аккаунт может использоваться для ввода приказов от множества трейдеров
Отображение (Display) 40 1 Символы В этом поле отображаются настройки отображения приказа (Attributalbe-Price to Display, Anonymous-Price to Comply и т.д.)
Емкость (Capacity) 41 1 Символы Возможны 4 варианта значения поля:
“A” = agency
“P” = principal
“R” = riskless
“O” = other
Возможность перенесения заявки между рынками Nasdaq (intermarket sweep eligibility) 42 1 Символы “Y” — да
“N” — нет
Минимальное количество 43 4 Целое число Минимальное приемлемое количество акций, которое нужно купить или продать
Тип кросс-заявки 47 1 Символы Описываются типы кросс-заявок (Opening cross, Closing cross, Supplemental Order и т.п.)
Тип клиента 48 1 Символы Опциональное поле, показывающее, что приказ предназначения для исполнения на общем рынке.

Существуют также сообщения для:

  • Замены приказов (Replace Order Message);
  • Отмены приказов (Cancel Order Message);
  • Изменения параметров приказа (Modify Order Message);

Помимо этого есть целый ряд системных сообщений. Вот некоторые из них:

  • Сообщение о событиях в системе Nasdaq (System Event Message) — в частности в них передается информация о старте торгов и закрытии торгового дня;
  • Оповещение о принятии сообщения — с его помощью подтверждается тот факт, что приказ был принят торговой системой биржи;
  • Оповещение о замене приказа — реакция на соответствующее сообщение трейдера;
  • Оповещение об отмене приказа — аналогично, реакция на команду трейдера;
  • Оповещение об исполнении приказа — информация об исполнении приказа;
  • Оповещение об ошибке исполнения — указывается причина, по которой сделку не удалось совершить;
  • Оповещение об отказе в исполнении приказа — здесь указываются причины отказа от исполнения.

На Nasdaq есть и более гибкие протоколы, вроде FIX, однако альтернативы проигрывают OUCH в эффективности работы и быстродействии.

Как работает ITCH

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

Помимо передачи динамической информации об очереди заявок и котировках, в ITCH содержится информация о ценах открытия и закрытия рынка, и даже данные о заявках на участие в IPO — для подобных ордеров используется сообщение Net Order Imbalance Indicator.

Среди существующих типов сообщений ITCH:

  • Системные события — начало торгов, закрытие рынка, начало и конец работы дата-фида и т.п.;
  • Информация об акциях — торговый статус финансовых инструментов и т.п.
  • Данные маркетмейкерах;
  • Информация об акциях ценных бумаг на IPO;
  • и т.п.

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

Как организована передача финансовых данных на американской бирже Nasdaq: Протоколы ITCH и OUCH - 2

Кроме того, с помощью ITCH также передаются данные об отмене, изменении или замене приказов.

Существует реализация ITCH специально для торговых систем на базе FPGA — этот поток данных распространяется из выделенного дата-центра Nasdaq в Нью-Джерси. В данном случае требования к клиенстким соединениям составляет 10 или 40 гигабит, в противном случае дата-фид не предоставляется.

Как и в случае OUCH, биржа Nasdaq предлагает альтернативы ITCH — например, TotalView Aggregate, но другие протоколы не позволяют получать настолько обширный спектр данных.

Заключение

Протоколы ITCH и OUCH создавались для использования на рынках Nasdaq-OMX, однако даже эта биржа предоставляет другие варианты подключения клиентов. К примеру, для получения рыночной информации (Market Data) и передачи торговых данных используется реализация протоколов FIX и FAST. При этом, протоколы ITCH и OUCH применяются и на других биржевых площадках — например, биржах в Австрии, Турции и Швейцарии.

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

P.S. ITinvest позволяет своим клиентам организовать подключение не только к российским, но и к зарубежным биржевым площадкам (например, CME Group).

Другие материалы о биржевых технологиях:

Автор: ITinvest

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js