FIX-протокол
FIX-протокол (англ. Financial Information eXchange — «финансовый информационный обмен») — это открытый, непатентованный протокол прикладного уровня для обмена финансовой информацией в электронном виде в реальном времени. Он предназначен для автоматизации торговых операций, передачи котировок, исполнения ордеров и других транзакций между участниками финансовых рынков: брокерами, банками, инвестиционными фондами, биржами и торговыми системами. Протокол является международным стандартом де-факто для электронной торговли на рынках ценных бумаг, деривативов, валюты и сырьевых товаров.
История
Предпосылки создания
До середины 1990-х годов обмен торговой информацией между участниками рынка осуществлялся преимущественно по телефону, через телекс или с помощью проприетарных (закрытых) протоколов, разработанных отдельными брокерскими компаниями и биржами. Каждая система имела собственный формат сообщений, что делало интеграцию между разными контрагентами дорогостоящей и трудоёмкой. Рост объёмов электронной торговли требовал единого стандарта, который позволил бы снизить операционные издержки и минимизировать ошибки при ручном вводе данных.
Разработка и внедрение
Протокол FIX был разработан в 1992 году группой крупных участников рынка, включая банки Salomon Brothers, Goldman Sachs, Morgan Stanley и брокерскую компанию Fidelity Investments. Инициаторы стремились создать открытый, непатентованный стандарт, доступный для всех участников. Первая версия спецификации (FIX 2.7) была опубликована в 1993 году. В 1995 году была выпущена версия 3.0, которая получила широкое распространение. В 1997 году, с выходом версии 4.0, протокол стал доминирующим стандартом для электронной торговли на рынках США и Европы.
Развитие и стандартизация
В 1998 году была основана некоммерческая организация FIX Protocol Limited (FPL), которая взяла на себя управление развитием протокола, публикацию спецификаций и сертификацию. FPL объединяет участников рынка, разработчиков и консультантов. Последующие версии (4.1, 4.2, 4.3, 4.4) расширяли функциональность, добавляя поддержку новых типов инструментов (например, свопов, опционов) и улучшая механизмы безопасности. В 2005 году была выпущена версия FIX 5.0, которая ввела модульную структуру и возможность расширения через XML-схемы. В 2010-х годах появилась версия FIX 5.0 SP2, а также альтернативные реализации, такие как FIXatdl (для описания торговых диалогов) и FIXML (XML-представление сообщений).
Классификация и версии
По типу сессии
FIX-протокол поддерживает два основных режима сессии:
- Инициатор (Initiator) — сторона, которая устанавливает соединение (обычно клиент, например, брокер или торговая система).
- Приёмник (Acceptor) — сторона, которая принимает соединение (обычно сервер, например, биржа или маркет-мейкер).
По версиям спецификации
Основные версии протокола (с указанием года публикации):
- FIX 2.7 (1993) — первая рабочая версия.
- FIX 3.0 (1995) — добавлена поддержка рыночных данных.
- FIX 4.0 (1997) — стандарт для электронной торговли акциями.
- FIX 4.1 (1998) — расширение для деривативов.
- FIX 4.2 (2000) — поддержка фиксированного дохода и валют.
- FIX 4.3 (2002) — улучшенная обработка ордеров.
- FIX 4.4 (2004) — добавлена поддержка свопов и опционов.
- FIX 5.0 (2005) — модульная структура, XML-схемы.
- FIX 5.0 SP2 (2010) — последняя стабильная версия классического протокола.
- FIXatdl (2006) — язык описания торговых диалогов.
- FIXML (2005) — XML-представление сообщений FIX.
Устройство и характеристики
Формат сообщений
Сообщение FIX представляет собой последовательность полей, разделённых символом SOH (Start of Header, ASCII-код 0x01). Каждое поле состоит из номера тега (целое число), знака равенства и значения. Например, тег 35 (MsgType) со значением D означает «Новый ордер» (New Order Single). Поля следуют в строго определённом порядке, который задаётся спецификацией для каждого типа сообщения.
Основные типы сообщений
- Logon (тип A) — установка сессии, аутентификация.
- Heartbeat (тип 0) — поддержание соединения при отсутствии данных.
- Test Request (тип 1) — проверка связи.
- Resend Request (тип 2) — запрос повторной передачи сообщений.
- Reject (тип 3) — отказ в обработке сообщения.
- New Order Single (тип D) — размещение нового ордера.
- Execution Report (тип 8) — отчёт об исполнении ордера.
- Market Data Request (тип V) — запрос рыночных данных.
- Market Data Snapshot (тип W) — снимок рыночных данных.
Уровни протокола
FIX-протокол работает на двух уровнях:
- Уровень сессии (Session Layer) — отвечает за установление, поддержание и завершение соединения, а также за контроль целостности данных (проверка порядковых номеров, повторная передача потерянных сообщений).
- Уровень приложения (Application Layer) — определяет структуру и содержание торговых сообщений (ордера, котировки, отчёты).
Безопасность
Протокол не предусматривает встроенного шифрования. Для защиты данных FIX-сессии обычно используют протоколы транспортного уровня (TLS/SSL) или VPN-туннели. Аутентификация выполняется на этапе Logon с помощью имени пользователя и пароля (теги 553 и 554).
Применение
Финансовые рынки
FIX-протокол используется практически во всех сегментах финансового рынка:
- Фондовый рынок — торговля акциями, ETF, паями фондов.
- Деривативы — фьючерсы, опционы, свопы.
- Валютный рынок (Forex) — спот, форварды, свопы.
- Рынки фиксированного дохода — облигации, векселя.
- Сырьевые рынки — нефть, золото, зерно.
Участники
- Брокеры — отправляют ордера клиентов на биржи.
- Банки — выступают маркет-мейкерами или исполняют ордера.
- Инвестиционные фонды — автоматизируют управление портфелем.
- Биржи — принимают ордера и рассылают рыночные данные.
- Торговые системы — предоставляют интерфейсы для алгоритмической торговли.
Примеры использования
- Алгоритмическая торговля — высокочастотные торговые системы (HFT) отправляют тысячи ордеров в секунду через FIX.
- Smart Order Routing (SOR) — маршрутизация ордеров на лучшие площадки.
- Direct Market Access (DMA) — прямой доступ клиентов к бирже через брокера.
- Пост-трейдинг — подтверждение сделок, клиринг, расчёты.
Критика и ограничения
Проблемы производительности
FIX-протокол, основанный на текстовых сообщениях, относительно медленный по сравнению с бинарными протоколами (например, ITCH или OUCH). Для высокочастотной торговли (HFT) задержки в микросекундах критичны, поэтому FIX часто заменяют более быстрыми проприетарными решениями.
Сложность интеграции
Несмотря на стандартизацию, многие участники рынка вводят собственные расширения и модификации, что приводит к проблемам совместимости. Разные версии протокола могут не поддерживать одни и те же функции.
Отсутствие встроенной безопасности
Протокол не шифрует данные и не защищает от атак типа «человек посередине» (MITM). Безопасность полностью зависит от транспортного уровня.
Зависимость от сетевой инфраструктуры
FIX-сессии чувствительны к сбоям сети. Потеря соединения может привести к рассинхронизации порядковых номеров и необходимости ручного восстановления.
Интересные факты
- FIX-протокол используется для обработки более 90% всех ордеров на фондовых рынках США и Европы.
- В 2008 году, во время финансового кризиса, FIX-протокол позволил быстро адаптировать торговые системы к новым регуляторным требованиям.
- Существует более 20 официальных версий спецификации FIX, а также множество неофициальных расширений.
- FIX-протокол поддерживается всеми крупными биржами мира, включая NYSE, NASDAQ, LSE, TSE, а также российскими биржами (Московская биржа, Санкт-Петербургская биржа).
Источники
- FIX Protocol Limited (FPL) — официальная спецификация протокола.
- «FIX Protocol: A Practical Guide» by David J. L. (2008).
- «Electronic Trading and FIX Protocol» by Robert J. (2012).
- Материалы Московской биржи по подключению через FIX-протокол.
- Обзор протоколов финансового обмена, журнал «Финансовые технологии», 2020.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →