FIX протокол
FIX протокол (от англ. Financial Information eXchange) — это открытый, текстовый, ориентированный на сообщения протокол прикладного уровня, предназначенный для электронного обмена информацией, связанной с торговлей ценными бумагами и другими финансовыми инструментами. Разработанный в 1992 году для автоматизации взаимодействия между брокерами и институциональными инвесторами, FIX стал де-факто стандартом в индустрии управления инвестициями и электронной торговли, используемым для передачи ордеров, котировок, исполнений сделок и других рыночных данных.
История
Предпосылки создания
До появления FIX протокола электронная торговля на финансовых рынках была фрагментирована. Крупные брокерские компании и инвестиционные банки использовали проприетарные (закрытые) протоколы для связи с конкретными клиентами. Это создавало высокие издержки на интеграцию: каждый новый участник рынка вынужден был разрабатывать отдельный интерфейс для каждого контрагента. Отсутствие единого стандарта замедляло развитие алгоритмической торговли и увеличивало операционные риски.
Разработка и внедрение
Протокол был создан в 1992 году группой компаний, включавшей Salomon Brothers, Fidelity Investments, Goldman Sachs и другие. Первая версия (FIX 2.7) была опубликована в 1995 году. Основной целью было создание простого, легко реализуемого и расширяемого протокола, который мог бы заменить телефонные звонки и факсимильную связь при передаче ордеров.
В 1996 году была основана некоммерческая организация FIX Protocol Ltd (FPL), которая взяла на себя управление развитием и стандартизацией протокола. К концу 1990-х годов FIX стал доминирующим стандартом для связи между институциональными инвесторами (управляющими активами, пенсионными фондами) и брокерами-дилерами.
Основные версии
- FIX 4.0 (1998) — первая широко распространённая версия, заложившая основу современного протокола.
- FIX 4.2 (2000) — добавлена поддержка рыночных данных, котировок и исполнений.
- FIX 4.4 (2003) — расширена поддержка деривативов, фиксированного дохода и валютных рынков.
- FIX 5.0 (2006) — введена модульная архитектура с использованием расширений (Extensions) и FIXML (XML-представление).
- FIX 5.0 SP2 (2010) — добавлена поддержка пост-трейдинговых процессов, включая аллокации и подтверждения.
- FIX Latest (2018+) — текущая версия, поддерживающая FIXML, быстрые сообщения и интеграцию с новыми технологиями, такими как блокчейн.
Архитектура и принципы работы
Модель взаимодействия
FIX протокол работает по принципу «запрос-ответ» или «публикация-подписка». Взаимодействие происходит между двумя сторонами: инициатором (клиент, отправляющий сообщение) и акцептором (сервер, принимающий сообщение). В типичной конфигурации:
- Клиент (Buy-side) — управляющая компания, хедж-фонд, пенсионный фонд, отправляющий ордер на покупку/продажу.
- Сервер (Sell-side) — брокер, инвестиционный банк, маркет-мейкер, принимающий ордер и возвращающий подтверждение, исполнение или котировку.
Стек протоколов
FIX работает поверх транспортного уровня, чаще всего используя TCP/IP. Для надёжности сессии может быть установлено постоянное TCP-соединение с поддержанием активности (heartbeat). Возможна также работа через HTTP/HTTPS (FIX over HTTP) или через шины сообщений (например, AMQP, Kafka).
Структура сообщения
Каждое сообщение FIX состоит из последовательности пар «тег=значение», разделённых символом SOH (Start of Header, ASCII 0x01). Основные компоненты:
- Стандартный заголовок (теги 8, 9, 35, 34, 52, 49, 56 и др.) — содержит тип сообщения, идентификатор сессии, время отправки, идентификаторы отправителя и получателя.
- Тело сообщения — содержит данные, специфичные для типа сообщения (например, для ордера: символ инструмента, цена, объём, сторона).
- Стандартный трейлер (тег 10) — контрольная сумма (CheckSum) для проверки целостности.
Типы сообщений
FIX определяет множество стандартных типов сообщений, сгруппированных по функциональности:
- Сессионные сообщения: Logon (A), Logout (5), Heartbeat (0), Test Request (1), Resend Request (2), Sequence Reset (4).
- Торговые сообщения: New Order Single (D), Order Cancel Request (F), Order Cancel/Replace Request (G), Execution Report (8), Order Cancel Reject (9).
- Рыночные данные: Market Data Request (V), Market Data Snapshot/Full Refresh (W), Market Data Incremental Refresh (X).
- Пост-трейдинг: Allocation Instruction (J), Allocation Report (P), Trade Capture Report (AE).
Классификация и виды
По типу связи
- FIX over TCP — классический вариант, используется для высокочастотной торговли и прямого доступа к рынку (DMA).
- FIX over HTTP — обёртка для передачи сообщений через веб-протоколы, удобна для облачных решений.
- FIXML — XML-представление сообщений FIX, используется для интеграции с системами, поддерживающими XML.
По роли участников
- FIX Engine — программное обеспечение, реализующее протокол на стороне клиента или сервера. Обеспечивает управление сессиями, маршаллинг/демаршаллинг сообщений, обработку ошибок.
- FIX Gateway — промежуточный сервер, который маршрутизирует сообщения между несколькими участниками, часто выполняет функции трансляции протоколов (FIX-to-FIX, FIX-to-API).
По версиям
Различают версии протокола (FIX 4.2, 4.4, 5.0 и т.д.), которые определяют набор поддерживаемых тегов, типов сообщений и правил обработки. Обратная совместимость обычно не гарантируется, поэтому участники должны согласовывать версию перед началом сессии.
Применение
Основные области
- Алгоритмическая торговля: FIX используется для передачи ордеров от торговых алгоритмов к биржам и брокерам. Скорость и надёжность протокола критичны для высокочастотных стратегий.
- Управление активами: управляющие компании используют FIX для отправки ордеров брокерам, получения исполнений и подтверждений.
- Рыночные данные: FIX позволяет получать котировки, стаканы заявок и исторические данные с бирж.
- Пост-трейдинг: обработка сделок, аллокации, клиринг и расчёты.
Примеры использования
- Биржи: Московская биржа (MOEX) поддерживает FIX для доступа к срочному рынку (FORTS) и рынку акций. Лондонская фондовая биржа (LSE) и Чикагская товарная биржа (CME) также используют FIX.
- Брокеры: крупные российские брокеры (например, «БКС», «Финам», «ВТБ Капитал») предоставляют FIX-доступ для профессиональных трейдеров.
- Управляющие компании: «Альфа-Капитал», «Сбер Управление Активами» и другие используют FIX для связи с брокерами.
Преимущества и недостатки
Преимущества
- Открытость и стандартизация: протокол не является проприетарным, что снижает затраты на интеграцию.
- Гибкость: возможность добавлять пользовательские теги и расширения.
- Надёжность: встроенные механизмы восстановления последовательности сообщений, повторной отправки и контроля целостности.
- Производительность: низкая задержка (латенси) при правильной реализации, что важно для HFT.
Недостатки
- Сложность реализации: полная поддержка всех версий и расширений требует значительных усилий.
- Отсутствие встроенной безопасности: FIX не шифрует данные на уровне протокола, поэтому требуется использование TLS или VPN.
- Текстовый формат: сообщения занимают больше места по сравнению с бинарными протоколами (например, FAST).
- Фрагментация версий: разные участники могут использовать несовместимые версии, что усложняет взаимодействие.
Критика и альтернативы
Критика
Основные претензии к FIX связаны с его возрастом и архитектурой. Критики отмечают, что текстовый формат и избыточность тегов увеличивают нагрузку на сеть и процессор. Кроме того, отсутствие встроенной поддержки аутентификации и шифрования требует дополнительных мер безопасности. Некоторые эксперты считают, что FIX сложен для внедрения в небольших компаниях из-за необходимости глубоких знаний протокола.
Альтернативы
- FAST (FIX Adapted for Streaming) — бинарный протокол, оптимизированный для передачи рыночных данных с высокой скоростью. Разработан FIX Protocol Ltd.
- FIX over Kafka — использование Apache Kafka как транспортного слоя для FIX-сообщений, что позволяет масштабировать систему.
- REST API / WebSocket — современные веб-протоколы, которые всё чаще используются для торговли (например, биржа Binance предоставляет REST/WebSocket API). Однако они уступают FIX в производительности и надёжности для профессиональных трейдеров.
- Proprietary API — закрытые протоколы, разработанные биржами (например, CME Globex API, ICE API).
Интересные факты
- FIX является одним из старейших активно используемых протоколов в финансовой индустрии — его возраст превышает 30 лет.
- По данным FIX Protocol Ltd, протокол используется более чем в 90% всех институциональных торговых операций в мире.
- В России FIX активно применяется на Московской бирже, которая поддерживает его для срочного и фондового рынков.
- Существует сообщество разработчиков и трейдеров, которые проводят ежегодные конференции (FIX Global Conference) для обсуждения нововведений.
Источники
- FIX Protocol Ltd. — официальная документация и спецификации (fixprotocol.org).
- Московская биржа — техническая документация по FIX-доступу (moex.com).
- «FIX Protocol: A Practical Guide» — книга по практическому применению протокола.
- Статьи и обзоры на порталах QuantNet, Wilmott и других профессиональных форумах.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →