Как выбрать поставщика рыночных данных

Выбрать поставщика рыночных данных - значит проверить, покрывает ли его фид котировок нужные вам инструменты, приходит ли нужный тип цены с нужной скоростью, переживает ли фид отказ источника и есть ли права на показ и поддержка. Чек-лист рассчитан на брокеров, проп-фирмы и торговые платформы; в конце - план пилота и вопросы поставщику.

Обновлено 7 мин чтения Инженерная команда FinaQuotes

Начните с задачи

Подходящий поставщик зависит от того, что вы строите. Торговому терминалу нужны двусторонние котировки по всем торгуемым инструментам, реальное время и история для графиков. Проп-фирме - надёжные цены для правил оценки и понятные метки времени. Финансовому сайту - читаемые цены и права на публичный показ; задержка по биржевым инструментам там часто допустима.

До первого звонка запишите три вещи: инструменты, без которых нельзя стартовать, экраны, где будут цены, и кто их увидит - сотрудники, клиенты или все посетители. Каждый пункт ниже проще оценивать против этого списка.

Покрытие и нормализация

Покрытие - это не число символов, а ответ на вопрос: есть ли нужные клиентам инструменты, котируются ли они в их торговые часы и можно ли сопоставить названия с вашими. Попросите каталог инструментов и сверьте его со своим списком построчно.

Нормализация важна не меньше. Если данные приходят из нескольких источников, хороший поставщик отдаёт их в одном формате: единые символы и поля, метки времени по одному правилу, известная точность по каждому инструменту. Иначе вы пишете и поддерживаете отдельный адаптер на каждый класс активов.

  • Есть ли машиночитаемый каталог: символ, название, класс активов, точность?
  • Стабильны ли символы и как сообщают о добавлении и выводе инструментов?
  • Все ли метки времени в UTC и учитываются ли торговые сессии бирж на стороне поставщика?

Bid/ask или цена последней сделки

Уточните тип цены по каждому классу активов. Где рынок двусторонний - forex, спот-металлы, акции США - брокеру нужны bid и ask: по ним торгует клиент и от них строится спред. На других рынках естественна одна цена последней сделки: крипта торгуется на многих площадках, индекс - расчётная величина, сырьё и облигации обычно показывают по опорной цене.

Если фид заполняет bid и ask одной и той же ценой last, для показа это нормально - главное знать об этом и не выводить нулевой спред. Подробнее - в статье bid, ask и спред.

Задержка: реальное время или около 15 минут

Здесь два вопроса. Первый - как быстро цена доходит до вас после получения поставщиком; у потокового фида это доли секунды. Второй - реальное ли это время вообще: биржевые данные часто распространяются с задержкой около 15 минут, если у вас нет права показывать их вживую.

Попросите список по классам активов: что в реальном времени, что с задержкой и как задержка помечена в данных. Не путайте задержку данных с частотой обновления интерфейса. Подробнее - котировки в реальном времени и с задержкой.

История и таймфреймы

Графикам нужны свечи, и глубина истории зависит от таймфрейма: дневные обычно хранятся годами, внутридневные - месяцами. Уточните глубину по каждому таймфрейму и как строятся свечи: из какой цены, от какого базового таймфрейма, в каком часовом поясе, учитываются ли сессии бирж. Живая свеча на вашей стороне должна строиться по тому же правилу. См. как из тиков строятся свечи.

Протоколы доставки

Обычно нужны и поток, и запросы. WebSocket - для живых цен: одно соединение, цены приходят при изменении. REST - для истории, каталога и разовых запросов. Если есть только опрос по REST, вы платите либо свежестью, либо лимитами. Прочитайте документацию до встречи с продажами: формат сообщений, подписки, восстановление после переподключения, лимиты. См. WebSocket или REST.

Резервирование и мониторинг

Любой источник иногда отказывает. Важно, что дальше: при резервировании класс активов автоматически переключается на другой источник, при одном источнике фид замолкает вместе с ним.

Спросите, как обнаруживают проблемы. Аптайма сервиса мало: соединение может быть живым, а отдельный инструмент - стоять. Хорошие признаки: мониторинг тишины по инструментам, алерты, публичное описание схемы надёжности, понятная цель аптайма и порядок оповещения об инцидентах.

Аутентификация и ключи

Подписанная аутентификация, например HMAC, не передаёт секрет по сети. Уточните, как выдаются, ротируются и отзываются ключи, можно ли разделить тест и прод, что происходит с открытыми соединениями при отзыве. Ключ фида никогда не кладите во фронтенд: подключайтесь с сервера и раздавайте цены клиентам оттуда.

Лицензирование и права на показ

У рыночных данных есть условия использования. Они зависят от того, кто видит данные, реальное это время или задержка и передаёте ли вы их дальше; условия разных бирж различаются и меняются. Это не юридическая консультация: уточняйте у поставщика письменно, что разрешает ваш сценарий, читайте его политику рыночных данных и проверяйте вывод у своего юриста.

Поддержка и SLA

Если цены встали в 03:00 UTC, нужен тот, кто ответит. Спросите, кто разбирает инциденты, как с ними связаться, за какое время отвечают и закреплено ли это в договоре. Инженер на связи во время интеграции экономит недели.

Цена и модель тарификации

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

Как провести пилот

Короткий пилот скажет больше любой презентации:

  • Заранее согласуйте список инструментов и критерии успеха: покрытие, частота обновлений в часы пик, пропуски, поведение при переподключении.
  • Подключитесь с тестового сервера, подпишитесь на реальный список и пишите каждый тик со временем прихода несколько торговых дней, включая открытие рынка.
  • Загрузите историю по тем же инструментам и сравните последние свечи с построенными из потока.
  • Намеренно оборвите соединение и проверьте, как быстро возвращаются цены и не теряется ли что-то.
  • Задайте вопрос в поддержку и замерьте время ответа.

Вопросы поставщику

Таблица для первого звонка. Во второй колонке - как читать ответ.

ВопросЧто значит ответ
Где bid/ask, а где цена последней сделки - по классам активов?Чёткий ответ по каждому классу - поставщик знает свои данные. Размытый - узнаете в проде.
Что в реальном времени, а что с задержкой?Что можно показывать вживую и где нужна пометка о задержке.
Сколько независимых источников на класс активов, переключение автоматическое?Один источник на рынок - его сбои станут вашими.
Как вы узнаёте, что инструмент перестал обновляться?Мониторинг тишины ловит то, что не видно по проверке соединения.
Глубина истории по таймфреймам и часовой пояс?Хватит ли данных графикам и нужна ли конвертация времени.
Какие лимиты и есть ли оплата за сообщения?Предсказуемые лимиты без оплаты за сообщения упрощают план нагрузки и бюджета.
Что разрешает наш сценарий на публичных страницах?Письменный ответ - отправная точка для проверки у вашего юриста.
Кто отвечает на инциденты и как быстро?Есть ли поддержка вне рабочего времени.

Как это устроено у FinaQuotes

FinaQuotes - инфраструктура рыночных данных, не брокер и не поставщик ликвидности. Данные агрегируются из нескольких институциональных и биржевых источников и нормализуются FinaQuotes в единый формат по семи классам активов.

  • Двусторонние bid/ask на forex, спот-металлах и акциях США; цена последней сделки на крипте, индексах, сырье и облигациях. См. покрытие.
  • Акции США в реальном времени, сделки и котировки; акции других рынков с задержкой около 15 минут; остальные классы в реальном времени. Тик доставляется за доли секунды после получения.
  • Свечи на 9 таймфреймах от 1 минуты до месяца, от минутной базы, в UTC, свечи акций - в часы торгов биржи. Годы дневной истории, месяцы внутридневной. См. исторические данные.
  • WebSocket с аутентификацией HMAC без оплаты за сообщения; REST для истории, каталога и логотипов с лимитом по умолчанию 120 запросов в минуту на IP. См. документацию.
  • Несколько независимых источников на класс активов с автоматическим переключением, мониторинг тишины и алерты, цель аптайма 99.9 %. См. надёжность.
  • Доступ по заявке, ответ в течение одного рабочего дня, цена по запросу. См. цены и данные для брокеров.

Частые вопросы

Что важнее всего брокеру при выборе поставщика котировок?

Брокеру важнее всего двусторонние bid/ask на торгуемых рынках, реальное время, автоматическое переключение между источниками и понятные права на показ. Покрытие и цена тоже важны, но замолкший фид или неверный тип цены обходятся дороже любой скидки.

Поставщик рыночных данных - это поставщик ликвидности?

Нет. Поставщик рыночных данных отдаёт цены для показа, графиков и мониторинга, а поставщик ликвидности исполняет сделки. FinaQuotes - только поставщик данных и ордера не исполняет.

Сколько должен длиться пилот?

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

Нужен фид, о котором эта статья?

Расскажите, что вы строите и какие классы активов нужны. Ответим в течение одного рабочего дня: условия доступа и стоимость.

Написать нам