Блог им. Wolffrr

Прощание OSA Engine с FIX/FAST и приветствие SBE: Технарь рекомендует

Привет, друзья!

И снова с вами OSAEngine.ru. Сегодня мы рассмотрим, почему FAST-протокол, который долгое время использовался для передачи данных на финансовых рынках, устарел и был заменен более современными и эффективными решениями, такими как SBE (Simple Binary Encoding). Подробности о протоколе SBE я расскажу в следующей статье, так что не переключайтесь и готовьтесь к увлекательному путешествию в мир бинарного кодирования!

Прощание OSA Engine с FIX/FAST и приветствие SBE: Технарь рекомендует

Почему стоит избегать FAST-протокол

Если вы только начинаете рассматривать вопрос прямого рыночного доступа (DMA) и подключения к торговым системам, важно ориентироваться на современные стандарты и технологии. Протокол FAST (FIX Adapted for STreaming) на сегодняшний день устарел и имеет ряд ограничений, которые делают его менее подходящим для высокочастотной торговли и современных торговых решений.

Недостатки FAST

  1. Сложность обработки данных:

    • FAST использует сложные методы сжатия, такие как удаление избыточности и кодирование длин повторов (RLE). Это требует значительных вычислительных ресурсов для кодирования и декодирования данных, что может увеличивать задержки.
    • Гибкость структуры: Сообщения в FAST имеют гибкую и сложную структуру, что усложняет процесс их обработки и увеличивает вероятность ошибок.
  2. Задержки и производительность:

    • Высокая задержка: Сложные алгоритмы сжатия в FAST могут создавать дополнительные задержки, что делает его менее эффективным для высокочастотной торговли.
    • Низкая производительность: В условиях, где важна каждая микросекунда, дополнительная сложность обработки сообщений в FAST становится значительным недостатком.
  3. Сложность реализации:

    • Сложная реализация: Использование XML-схем для описания структуры сообщений в FAST добавляет дополнительную сложность в реализацию и поддержку систем.

Преимущества современных протоколов, таких как SBE

На смену FAST пришел протокол SBE (Simple Binary Encoding), который обеспечивает более высокую производительность за счет упрощения структуры и методов кодирования.

История и преимущества SBE

  • История SBE: SBE был разработан компанией FIX Protocol Ltd. и впервые представлен в 2013 году как часть обновления стандарта FIX 5.0.
  • Простота и эффективность: SBE использует простую бинарную кодировку, что значительно уменьшает время на кодирование и декодирование сообщений. Это особенно важно для систем, требующих минимальных задержек.
  • Минимизация задержек: SBE разработан с акцентом на минимальные задержки, что делает его идеальным для высокочастотной торговли. Простая структура и отсутствие сложных алгоритмов сжатия обеспечивают максимально быстрое выполнение операций.
  • Современные требования: SBE лучше адаптирован к современным требованиям финансовых рынков, где высокая скорость и производительность являются ключевыми факторами успеха. SBE поддерживает различные финансовые инструменты, такие как акции, облигации, опционы и фьючерсы, что делает его универсальным решением для различных типов торговли.

Пример кодирования сообщений в FAST и SBE

FAST:

  • Предыдущее сообщение: Цена — 100, Количество — 50, Время — 12:00
  • Текущее сообщение: Цена — 101, Количество — 50, Время — 12:01
  • FAST передает только изменения: Цена — 101, Время — 12:01

SBE:

  • Каждое сообщение содержит полную информацию без учета изменений.
  • Сообщение будет закодировано как последовательность бинарных данных:
    • Цена: 101 (4 байта)
    • Количество: 50 (4 байта)
    • Время: 12:01 (4 байта)

Примеры схем

Пример схемы SBE:

<sbe:messageSchema xmlns:sbe="http://fixprotocol.io/2020/sbe" package="my.package" id="1" version="1.0">
    <types>
        <composite name="price" description="Price in integer format">
            <type name="int32"/>
        </composite>
    </types>
    <messages>
        <message name="Order" id="1">
            <field name="Price" id="1" type="int32"/>
            <field name="Quantity" id="2" type="int32"/>
            <field name="Time" id="3" type="int32"/>
        </message>
    </messages>
</sbe:messageSchema>

Пример схемы FAST:

<templates xmlns="http://www.fixprotocol.org/ns/fast/td/1.1">
    <template name="Order" id="1">
        <sequence name="Order" presence="optional">
            <field name="Price" id="1" type="uInt32" />
            <field name="Quantity" id="2" type="uInt32" />
            <field name="Time" id="3" type="uInt32" />
        </sequence>
    </template>
</templates>

Чем схемы SBE проще, чем схемы FAST

Структура и Простота

  • SBE: Схемы для SBE имеют фиксированную структуру сообщений. Поля в этих схемах четко определены и имеют фиксированные размеры и типы данных. Это упрощает процесс кодирования и декодирования, так как нет необходимости в сложных алгоритмах для обработки переменной длины данных и гибких структур.
  • FAST: Схемы для FAST допускают гибкость в структуре сообщений, что позволяет создавать более сложные и вложенные структуры данных. Однако эта гибкость увеличивает сложность обработки сообщений и требует дополнительных вычислительных ресурсов для их декодирования и восстановления полной информации.

Описание данных

  • SBE: В SBE схемах данные описаны с использованием простых типов данных и фиксированных размеров. Это упрощает обработку и уменьшает количество ошибок при передаче данных. Каждый тип данных в SBE имеет четко определенное место и размер, что делает процесс декодирования быстрым и эффективным.
  • FAST: В схемах для FAST используется множество типов данных и сложных методов сжатия, таких как удаление избыточности и предсказание. Это требует дополнительных шагов для обработки данных и увеличивает вероятность ошибок при декодировании.

Производительность

  • SBE: Простая и фиксированная структура сообщений SBE позволяет минимизировать задержки при передаче данных. Это критически важно для высокочастотной торговли, где каждая микросекунда имеет значение. Простота схем SBE позволяет быстрее и эффективнее обрабатывать данные.
  • FAST: Сложные методы сжатия в FAST, такие как RLE и предсказание, увеличивают время на кодирование и декодирование данных. Это может создавать дополнительные задержки, что делает FAST менее эффективным для использования в условиях, где важна минимальная задержка.

Заключение

Если вы планируете подключаться к торговым системам, рекомендуется избегать использования FAST и ориентироваться на современные протоколы, такие как SBE, которые обеспечивают более высокую производительность и надежность. Переход к SBE позволит вам создать надежное и высокопроизводительное соединение, что будет способствовать успешной работе на финансовых рынках.

Следите за следующей статьей, где мы рассмотрим детали протокола SBE и его разновидности, предлагаемые Московской Биржей, а также конкретные примеры кодирования сообщений и их преимуществ для высокочастотной торговли.

Мой блог с оригиналом статьи

572
4 комментария

да уж, fast на fgpa было прикольно делать ) У меня только с 13 версии нормально получилось.

поэтому плисеры на бирже продавили решение на sbe )

avatar
Андрей К, когда-то умельцы делали демо пати на 64кб. Потом эти умельцы позврослели и начали заниматься действительно важными вещами )
«А что скажет начальник транспортного цеха?»
avatar
svgr, я сам себе насяльника

Читайте на SMART-LAB:
Фото
Снижение военной премии в нефти: что это меняет для доллара и G10
Во второй половине понедельника – начале вторники рынки активно пересматривают премию за худший сценарий на энергетическом рынке, что цепочкой...
Фото
12 марта Группа Ренессанс страхование опубликует МСФО за 2025 год
Напоминаем, что 12 марта 2026 года RENI опубликует МСФО Группы за 2025 год, а также проведет День инвестора, чтобы рассказать о ситуации на...
Фото
Как заработать на росте цен на удобрения
Дарья Фёдорова Конфликт на Ближнем Востоке и перекрытие Ормузского пролива вызвали ралли не только цен на нефть и газ, но также алюминий и...
Фото
Гендиректор Инарктики продал свои акции компании. Что это может значить?
Вечером в пятницу (6 марта ) вышел сущфакт о том, что Соснов Илья Геннадьевич, гендиректор Инарктики, продал свои акции компании. В нашем...

теги блога Gambler <osaengine.ru>

....все тэги



UPDONW
Новый дизайн