Что такое фид котировок

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

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

Что такое фид котировок

Цены на рынке меняются постоянно: прошла сделка на бирже, дилер сдвинул двустороннюю котировку на валютном рынке. Фид - это канал, который доставляет эти изменения от мест формирования цен к системам, которым нужно их показать или использовать.

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

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

Фид и API рыночных данных: в чём разница

Термины часто путают, но это разные модели доставки. API в узком смысле работает по схеме запрос-ответ: клиент спрашивает «последняя цена EURUSD» или «последние 500 часовых свечей», сервер отвечает один раз. Нужна более свежая цена - нужен новый запрос.

Фид работает на отправку со стороны сервера. Клиент открывает соединение, сообщает, какие инструменты ему нужны, и дальше получает каждое обновление без новых запросов. Нет опроса, меньше нагрузка, а главное - нет разрыва между изменением цены и моментом, когда клиент о нём узнаёт.

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

ПараметрПоток (фид)Запрос-ответ (API)
Кто инициирует обменСервер присылает обновленияКлиент спрашивает каждый раз
Типичный транспортWebSocketHTTPS (REST)
Для чегоЖивые котировки, тикеры, ценообразованиеИстория, каталоги, разовые запросы
СвежестьДоли секунды после получения цены поставщикомКак у последнего запроса
НагрузкаОдно долгое соединениеМного коротких запросов, есть лимиты

Из чего состоит тик

Тик - единица фида. Форматы у поставщиков разные, но полезный тик всегда отвечает на три вопроса: какой инструмент, по какой цене и когда.

  • Символ - устойчивый идентификатор инструмента: валютная пара, тикер акции, криптопара. Поставщик приводит символы всех источников к своей схеме, и клиент видит одно имя.
  • Цена - двусторонняя котировка (bid и ask) или одна цена последней сделки. В фиде FinaQuotes двусторонние bid/ask приходят по форексу, спот-металлам и акциям США; по криптовалютам, индексам, сырью и облигациям - цена последней сделки, в тике bid = ask = last. Почему так - в статье о bid, ask и спреде.
  • Метка времени - момент фиксации цены, в UTC. Один часовой пояс для всех классов активов снимает целый класс ошибок с переходом на летнее время и локальным временем бирж.

Нормализация: один формат для всех рынков

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

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

Для брокера это значит один парсер, одна таблица символов и один набор тестов на форекс, металлы, акции и крипту. Новый класс активов - это новая подписка, а не новый проект интеграции.

Свечи - производная от тиков

График обычно показывает не тики, а свечи: цену открытия, максимум, минимум и цену закрытия за период (OHLC). Свечи вычисляются из потока тиков, это не отдельный вид данных.

В фиде FinaQuotes базовый таймфрейм - одна минута, старшие (от 5 минут до месяца) агрегируются из неё, границы свечей выровнены по UTC. Всего 9 таймфреймов: 1m, 5m, 15m, 30m, 1H, 4H, 1D, 1W, 1MN. История доступна через REST: годы дневных данных и месяцы внутридневных, глубина по таймфреймам - на странице исторических данных. Как именно строятся свечи - в статье о свечах из тиков.

Кому нужен фид котировок

Один и тот же фид обслуживает разные роли, различаются только требования.

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

Как оценить поставщика фида

Сравнивать фиды только по длине списка инструментов бессмысленно. Важнее, как фид поведёт себя в работе.

  • Задержка. Сколько времени проходит от получения цены поставщиком до вас? Спрашивайте про модель доставки, а не только про число. И отличайте задержку данных от частоты перерисовки: виджет, который обновляется раз в несколько секунд, может получать данные с субсекундной задержкой.
  • Покрытие и тип котировки. Какие классы и инструменты, что идёт в реальном времени, что с задержкой, где bid/ask, а где цена последней сделки? Таблица FinaQuotes - в политике рыночных данных.
  • Резервирование. Что происходит, если источник замолчал или прислал мусор? Несколько независимых источников на класс активов с автоматическим переключением и мониторинг тишины инструментов держат поток живым.
  • История: какие таймфреймы, какая глубина, в UTC ли время.
  • Доставка и лимиты: есть ли потоковый протокол с описанной процедурой переподключения, как устроены лимиты REST. Всё это должно быть в документации.
  • Лицензирование. Биржевые данные сопровождаются правилами отображения и распространения. Уточните у поставщика, что, кому и с какой задержкой можно показывать. Эта статья - не юридическая консультация.

Расширенный чек-лист - в статье как выбрать поставщика рыночных данных.

Мини-глоссарий

Термины, без которых не обходится ни один разговор о фидах. Полный список - в словаре рыночных данных.

ТерминЗначение
ТикОдно обновление цены по инструменту: символ, цена, время.
Bid / askЛучшая цена продажи рынку и лучшая цена покупки у рынка.
LastЦена последней сделки или опубликованная расчётная цена.
СпредРазница между ask и bid.
Свеча (OHLC)Открытие, максимум, минимум и закрытие за период.
ТаймфреймДлина периода свечи, от минуты до месяца.
Задержанные данныеЦены с отставанием, для биржевых данных обычно 15 минут.
НормализацияПриведение форматов источников к одной схеме.

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

Фид котировок и API рыночных данных - это одно и то же?

Не совсем: фид присылает обновления по долгому соединению, а API в узком смысле отвечает на отдельные запросы. Обычно используют оба: поток по WebSocket для тиков и REST для истории и каталога инструментов. Оба описаны в документации.

Есть ли bid и ask по каждому инструменту?

Нет. Двусторонняя котировка естественна для рынков, где цену выставляют дилеры или виден стакан. В фиде FinaQuotes bid/ask есть по форексу, спот-металлам и акциям США; по криптовалютам, индексам, сырью и облигациям - цена последней сделки, bid = ask = last.

Можно ли принимать торговые решения по данным фида?

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

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

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

Написать нам