Что такое фид котировок
Цены на рынке меняются постоянно: прошла сделка на бирже, дилер сдвинул двустороннюю котировку на валютном рынке. Фид - это канал, который доставляет эти изменения от мест формирования цен к системам, которым нужно их показать или использовать.
Ключевое слово - непрерывный. Фид - не страница, которую обновляют, и не файл раз в сутки. Это открытое соединение, по которому поставщик присылает новые цены в момент их появления, без отдельного запроса на каждую. В спокойный день по инструменту может приходить несколько обновлений в минуту, а во время важной макростатистики - много обновлений в секунду.
Современный фид обычно покрывает сразу несколько классов активов. Фид FinaQuotes, например, передаёт акции, криптовалюты, форекс, металлы, сырьё, индексы и облигации в едином формате: клиент подключается один раз и подписывается на нужные инструменты. Полный список рынков - на странице покрытия.
Фид и API рыночных данных: в чём разница
Термины часто путают, но это разные модели доставки. API в узком смысле работает по схеме запрос-ответ: клиент спрашивает «последняя цена EURUSD» или «последние 500 часовых свечей», сервер отвечает один раз. Нужна более свежая цена - нужен новый запрос.
Фид работает на отправку со стороны сервера. Клиент открывает соединение, сообщает, какие инструменты ему нужны, и дальше получает каждое обновление без новых запросов. Нет опроса, меньше нагрузка, а главное - нет разрыва между изменением цены и моментом, когда клиент о нём узнаёт.
На практике рабочая интеграция использует оба подхода: живые цены идут потоком, обычно по WebSocket, а история, каталог инструментов и справочные данные запрашиваются через REST. Подробнее - в статье WebSocket или REST.
| Параметр | Поток (фид) | Запрос-ответ (API) |
|---|---|---|
| Кто инициирует обмен | Сервер присылает обновления | Клиент спрашивает каждый раз |
| Типичный транспорт | WebSocket | HTTPS (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.
Можно ли принимать торговые решения по данным фида?
Фид - источник цен для отображения и анализа, а не рекомендация. Цены индикативные и могут отличаться от цены исполнения на вашей площадке. Ничто в этой статье не является инвестиционным советом; ограничения - в политике рыночных данных.
Нужен фид, о котором эта статья?
Расскажите, что вы строите и какие классы активов нужны. Ответим в течение одного рабочего дня: условия доступа и стоимость.