Всем привет!
Подключение к Московской бирже (Мосбирже) с использованием протоколов FIX (Financial Information eXchange) и FAST (FIX Adapted for Streaming) является важным шагом для профессиональных участников рынка. Эти протоколы обеспечивают стандартизированную и высокоскоростную передачу данных, что критически важно для алгоритмической торговли и других высокочастотных операций.
В одной из прошлых статей я уже рассказывал о своем опыте поиска нужной информации в открытых источниках. Если кратко, то RTFM (read the fucking manual).
FIX
Идем на сайт Мосбиржи в раздел, посвященный FIX.
Тут нам сообщают, что общая информация о FIX-протоколе доступна по адресу http://www.fixprotocol.org.
А еще дают ссылку на подробную документацию! Вот https://ftp.moex.com/pub/FIX/ASTS/docs/
Здесь находятся два документа. Содержание одинаковое, но отличаются языком. Берем русский.
https://ftp.moex.com/pub/FIX/ASTS/docs/public_fix44_interface_in_russian_v_4_8_2.pdf
В документе на 95 страницах подробнейшим образом излагается описание FIX интерфейса.
Описаны форматы сообщений и полей этих сообщений. Кроме того, подробно рассказывается про сценарии работы:
Также проясняется структура серверов. То есть после прочтения становится понятно, что наша программа (коннектор в OsEngine) должна взаимодействовать с двумя FIX-серверами.
MFIX Trade – для работы с ордерами и MFIX Trade Capture – для получения отчетов по исполнению (сделки, статусы ордеров).
FAST
Как и в случае с FIX, отправляемся в соответствующий раздел сайта Мосбиржи, посвященный FIX/FAST.
Тут нам дают ссылку на шаблоны, документацию и все остальное туда же, на FTP Мосбиржи:https://ftp.moex.com/pub/FAST/ASTS/
Здесь в разделе docs уже гораздо больше файлов, но нас прежде всего интересует Market Data Multicast User Guide ver 4.8 https://ftp.moex.com/pub/FAST/ASTS/docs/RUS_Market_Data_Multicast_User_Guide_Ver_4_8.pdf
Это такое же подробное руководство пользователя, которое рассказывает, каким образом получать рыночные данные.
Есть подробные схемы контроля пропуска данных, так как работа этого сервера происходит по протоколу UDP (без контроля передачи, а значит возможны потери).
Также разрисованы графические схемы всей системы – какие присутствуют потоки, по какому протоколу и для чего.
Папку template тоже можно считать частью документации, хотя здесь содержатся шаблоны FAST-сообщений.
https://ftp.moex.com/pub/FAST/ASTS/template/
Нам нужен тот, который самый новый.
Рядом в папке utils есть пара полезных скриптов, например, скрипт для прописывания маршрутов для работы через VPN.
Это все, что необходимо для написания коннектора. Кроме того, документация пригодится и для понимания его работы, так что я рекомендую сразу скачать ее себе на компьютер.
Спасибо за внимание! В следующих статьях рассмотрим получение тестового доступа к торгам.
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php