АйТи Инвест | Софт / Программирование http://www.itinvest.ru/ | https://habrahabr.ru/company/itinvest/

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

  9 марта 2016
Начните торговлю и получите $ 30 бонус в подарок!
В нашем блоге мы уже рассказывали об использующихся на мировых биржах протоколах передачи финансовой информации. Речь шла о таких протоколах, как 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 — у каждого приказа должен быть токен, уникальный для каждого дня. Ниже представлен пример формата сообщения — в данном случае для ввода торгового приказа:

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

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


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

Замены приказов (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


Кроме того, с помощью 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.

http://www.itinvest.ru/ | https://habrahabr.ru/company/itinvest/ Подробнее об использовании информации.