Протокол FIX
Протокол FIX (англ. Financial Information eXchange) — это открытый текстовый протокол, предназначенный для обмена финансовой информацией в электронном виде в реальном времени. Он используется преимущественно для передачи данных о сделках, котировках и заявках между участниками фондового, валютного, товарного и производных рынков, включая банки, брокерские компании, инвестиционные фонды, биржи и клиринговые организации. Протокол не привязан к какой-либо конкретной сетевой технологии и может работать поверх TCP/IP, HTTP, SSL/TLS и других транспортных протоколов.
История
Протокол FIX был разработан в 1992 году как внутренний проект компании Fidelity Investments (США) для автоматизации торговли акциями между её подразделениями. Первоначально он назывался «FIX 1.0» и представлял собой простой текстовый формат для передачи заявок на покупку и продажу. В 1995 году спецификация была опубликована как открытый стандарт, что позволило другим участникам рынка присоединиться к его развитию.
В 1998 году была выпущена версия FIX 4.2, которая стала де-факто стандартом для электронной торговли в Северной Америке и Европе. Она ввела поддержку сложных типов заявок, сообщений об исполнении сделок и многоуровневых идентификаторов сторон. В 2001 году вышла версия FIX 5.0, которая добавила модульную структуру и возможность расширения через XML-схемы. Версия FIX 5.0 SP2 (2006 год) и FIXT 1.1 (Transport Independent) позволили использовать протокол независимо от транспортного уровня.
В 2010-х годах, с ростом высокочастотной торговли, протокол FIX был адаптирован для работы с минимальными задержками. Появились специализированные реализации, такие как FIX Binary и FIX over FAST (FIX Adapted for STreaming), которые снижают объём передаваемых данных. В 2020 году FIX Trading Community (организация, поддерживающая стандарт) выпустила версию FIX 7.0, которая включает поддержку криптовалютных активов, токенизированных ценных бумаг и децентрализованных финансов.
Архитектура и принцип работы
Протокол FIX основан на модели «клиент-сервер» или «равный-равному» (peer-to-peer). Каждое сообщение представляет собой последовательность пар «тег=значение», разделённых символом SOH (Start of Header, код ASCII 0x01). Теги (числовые коды) однозначно определяют тип данных: например, тег 35 обозначает тип сообщения, тег 55 — символ инструмента (код ценной бумаги), тег 44 — цену.
Основные типы сообщений
- Logon (A) — установление сессии и аутентификация.
- New Order Single (D) — отправка новой заявки на покупку или продажу.
- Execution Report (8) — подтверждение исполнения заявки (частичного или полного).
- Market Data Request (V) — запрос на получение рыночных данных (котировок, стакана заявок).
- Order Cancel Request (F) — отмена ранее отправленной заявки.
- Heartbeat (0) — проверка работоспособности соединения.
Сессия FIX
Сессия FIX состоит из трёх фаз:
- Установка — обмен сообщениями Logon с указанием версии протокола, идентификаторов сторон (SenderCompID, TargetCompID) и пароля.
- Работа — обмен бизнес-сообщениями (заявки, сделки, котировки) с периодическими Heartbeat для поддержания соединения.
- Завершение — обмен сообщениями Logout для корректного закрытия сессии.
Каждое сообщение содержит порядковый номер (SeqNum), что позволяет обнаруживать потери и дубликаты. При разрыве соединения сессия может быть восстановлена с последнего подтверждённого сообщения.
Версии и спецификации
Протокол FIX развивается в нескольких направлениях:
| Версия | Год выхода | Ключевые особенности |
|---|---|---|
| FIX 4.0 | 1995 | Первая публичная версия, базовая поддержка заявок и сделок. |
| FIX 4.2 | 1998 | Добавлены сложные заявки, многоуровневые идентификаторы, поддержка деривативов. |
| FIX 5.0 | 2001 | Модульная структура, XML-схемы, расширяемость. |
| FIXT 1.1 | 2006 | Транспортно-независимая версия, отделение бизнес-логики от транспортного уровня. |
| FIX 7.0 | 2020 | Поддержка криптовалют, токенизированных активов, DeFi, улучшенная безопасность. |
Также существуют специализированные профили:
- FIX Binary — бинарное кодирование сообщений для снижения задержек.
- FIX over FAST — сжатие данных с использованием словарей для потоковой передачи рыночных данных.
- FIXML — XML-представление сообщений FIX для интеграции с веб-сервисами.
Применение
Протокол FIX используется в следующих областях:
- Биржевая торговля — передача заявок на покупку и продажу акций, облигаций, фьючерсов, опционов. Крупнейшие биржи (NYSE, NASDAQ, Лондонская фондовая биржа, Московская биржа) поддерживают FIX для прямого доступа (DMA).
- Внебиржевой рынок (OTC) — обмен котировками и сделками по валютным парам, свопам, кредитным дефолтным свопам (CDS). Банки и брокеры используют FIX для автоматизации двусторонних сделок.
- Управление активами — передача поручений от управляющих компаний к брокерам (например, для исполнения сделок по портфелю).
- Высокочастотная торговля (HFT) — специализированные реализации FIX позволяют отправлять и получать сообщения с задержками менее 1 микросекунды.
- Криптовалютные биржи — многие биржи (Binance, Coinbase, Kraken) предоставляют API на основе FIX для профессиональных трейдеров.
Преимущества и недостатки
Преимущества
- Открытость — спецификация бесплатна и доступна для всех участников рынка.
- Гибкость — поддержка различных типов финансовых инструментов и рыночных моделей (книга заявок, аукцион, непрерывная торговля).
- Стандартизация — единый формат снижает затраты на интеграцию между разными системами.
- Надёжность — встроенные механизмы контроля последовательности, повторной передачи и восстановления сессий.
- Масштабируемость — протокол может обрабатывать миллионы сообщений в секунду при правильной настройке.
Недостатки
- Избыточность — текстовый формат с тегами приводит к большему объёму данных по сравнению с бинарными протоколами (например, Binary FAST).
- Сложность настройки — для корректной работы требуется точное согласование версий, словарей и параметров сессии между сторонами.
- Отсутствие встроенной безопасности — протокол не шифрует данные; для защиты используются внешние средства (SSL/TLS, VPN).
- Фрагментация — разные участники рынка могут использовать несовместимые расширения, что усложняет универсальную интеграцию.
Организации и стандарты
Развитие протокола FIX координируется некоммерческой организацией FIX Trading Community (основана в 1996 году), которая объединяет более 500 участников — банки, брокеров, биржи, технологические компании. Организация публикует спецификации, проводит сертификацию продуктов и организует конференции. FIX Trading Community не является государственным регулятором и не имеет отношения к политическим структурам.
В России протокол FIX широко применяется на Московской бирже (MOEX) для доступа к торговле акциями, облигациями, валютой и деривативами. Биржа предоставляет шлюзы FIX 4.2 и FIX 5.0 для участников торгов. Также FIX используется в системах автоматизации брокерского обслуживания, таких как QUIK, Transaq и SmartTrade.
Критика
Основные критические замечания в адрес протокола FIX связаны с его возрастом и архитектурой. Текстовый формат, разработанный в 1990-х годах, уступает по производительности современным бинарным протоколам (например, SBE — Simple Binary Encoding). Кроме того, отсутствие встроенной поддержки шифрования и аутентификации делает FIX уязвимым для атак типа «человек посередине» при использовании в незащищённых сетях. В ответ на это FIX Trading Community рекомендует использовать FIX over TLS (FTLS) и FIX over SSH.
Другая проблема — сложность управления версиями. Разные участники рынка могут использовать разные версии FIX, что требует дополнительных адаптеров и шлюзов. Попытки унификации, такие как FIXML, не получили массового распространения из-за увеличения объёма данных.
Перспективы
С развитием алгоритмической торговли и внедрением технологий распределённого реестра (блокчейн) протокол FIX продолжает эволюционировать. В версии FIX 7.0 добавлена поддержка токенизированных активов, что позволяет использовать его для торговли цифровыми ценными бумагами. Также ведётся работа над интеграцией FIX с протоколами DeFi (например, Uniswap, 0x) для обеспечения совместимости традиционных и децентрализованных рынков.
В области высокочастотной торговли разрабатываются аппаратные реализации FIX на FPGA (программируемые логические интегральные схемы), которые позволяют обрабатывать сообщения с задержками в наносекундах. Это может сделать FIX конкурентоспособным даже в условиях сверхнизких латентностей.
Источники
- FIX Trading Community. «FIX Protocol Specification Version 7.0». 2020.
- Harris, L. «Trading and Exchanges: Market Microstructure for Practitioners». Oxford University Press, 2003.
- Gomber, P., Arndt, B., Lutat, M., Uhle, T. «High-Frequency Trading». SSRN Electronic Journal, 2011.
- Московская биржа. «Руководство по подключению через FIX-шлюз». 2023.
- «FIX Protocol: A Review and Future Directions». Journal of Financial Market Infrastructures, 2019.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →