Парсинг криптовалютной биржи Binance

и аналитика по рынкам BTC и USDT (частный закрытый проект)

О проекте

Сервис по сбору (парсингу) данные по всем сделкам на бирже Binance, по множеству ключевых пар и предоставлению аналитических сводок в разных срезах, для наблюдения за колебаниями рынка и обнаружению активности крупных игроков.

ЗАДАЧА Заказчик обратился с задачей разработать приватный аналитический сервис для глубинного мониторинга торгов на бирже Binance. Требовалось в режиме реального времени собирать информацию о всех совершённых сделках по ключевым валютным парам, включая топовые монеты и более 250 альткоинов на рынках BTC и USDT. Конечная цель — выявлять аномальную активность, отслеживать поведение крупных игроков (так называемых «китов») и оперативно получать аналитические срезы в разных временных разрезах, вплоть до поминутной детализации. Важным требованием стала интеграция с Telegram-ботом для мгновенной дос

ЗАДАЧА

Заказчик обратился с задачей разработать приватный аналитический сервис для глубинного мониторинга торгов на бирже Binance. Требовалось в режиме реального времени собирать информацию о всех совершённых сделках по ключевым валютным парам, включая топовые монеты и более 250 альткоинов на рынках BTC и USDT. Конечная цель — выявлять аномальную активность, отслеживать поведение крупных игроков (так называемых «китов») и оперативно получать аналитические срезы в разных временных разрезах, вплоть до поминутной детализации. Важным требованием стала интеграция с Telegram-ботом для мгновенной доставки критических уведомлений, чтобы заказчик мог быстро принимать торговые решения.

парсинг криптовалютной биржи binance парсинг криптовалютных пар

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

РЕШЕНИЕ

Имея за плечами опыт создания нескольких систем сбора и обработки больших данных, команда быстро определила контуры архитектуры. Основная сложность заключалась не в получении данных (API Binance достаточно прозрачно), а в организации их хранения для сверхбыстрых агрегаций по произвольным временным окнам с точностью до минуты. Классические реляционные СУБД не справлялись с объёмом и скоростью, поэтому мы выбрали стек, ориентированный на потоковую обработку и колоночное хранение.

Ключевым звеном стала связка WebSocket-клиентов на Python для перехвата сделок, Apache Kafka в роли отказоустойчивой шины данных и ClickHouse для их аналитического хранения. Такая комбинация позволила буферизовать пиковые нагрузки, гарантировать доставку каждого сообщения и выполнять сложные запросы за миллисекунды. Проблема партицирования базы данных под минутные срезы решилась грамотным проектированием таблиц с использованием движка MergeTree: партиции по дате и хеширование по торговой паре обеспечили равномерное распределение нагрузки и мгновенную фильтрацию по любому интервалу, будь то час, день или неделя.

Для уведомлений разработан легковесный Telegram-бот, который по правилам, заданным заказчиком, отправлял сообщения о всплесках объёмов, крупных одиночных ордерах или резких изменениях спреда.

РЕАЛИЗАЦИЯ

Проект был разбит на четыре этапа, каждый из которых завершался демонстрацией промежуточного рабочего прототипа.

парсинг криптобиржи бинанс

  • Сбор данных (WebSocket‑парсер). Написан асинхронный сервис на Python 3.10 с библиотекой websockets, подключающийся к публичным stream-эндпоинтам Binance. Для каждого рынка (BTC и USDT) поднимались отдельные процессы, которые параллельно слушали до 100 торговых пар. Механизмы автоматического переподключения и хранения курсора последней обработанной сделки исключали потерю данных при кратковременных разрывах соединения.
  • Транспортный слой и буферизация. Каждая полученная сделка немедленно публиковалась в Kafka-топики, разделённые по категориям (BTC-пары, USDT-пары, высокоприоритетные монеты). Такая сегрегация позволила масштабировать консьюмеров: наиболее волатильные инструменты обрабатывались отдельным пулом, не создавая очередей. Для гарантии порядка сообщений внутри одной пары использовался partitioning key.
  • Загрузка и материализация в ClickHouse. Сервис-вставщик на Go (выбран для низкого потребления ресурсов) читал Kafka-поток и отправлял батчи в ClickHouse. Здесь главным приоритетом стало построение эффективных материализованных представлений. Мы создали семейство таблиц: trades_raw для сырых данных, trades_1min, trades_5min, trades_1hour и т.д. с предварительно агрегированными показателями (цена открытия/закрытия, high/low, суммарный объём, количество сделок). Агрегации обновлялись автоматически с задержкой не более 2 секунд после поступления сырой сделки.
  • Аналитический API и Telegram-бот. Поверх ClickHouse поднято GraphQL API на Node.js, предоставляющее гибкие выборки по парам, таймфреймам и метрикам. Бот написан на Python python-telegram-bot и по расписанию опрашивал конечные точки на предмет выхода заданных параметров за пороговые значения (алерты по объёму, резкий дисбаланс покупок/продаж, появление ордера от 10 BTC и выше). В личном интерфейсе заказчик мог настраивать сценарии уведомлений без участия разработчиков.

Дополнительно внедрили мониторинг здоровья всей цепочки на базе Prometheus и Grafana: дашборды отображали лаг между биржей и вставкой в БД, количество ошибок, загрузку Kafka‑потребителей. Это позволило на ранних стадиях выявить и устранить узкие места в конфигурации JVM для брокеров.

РЕЗУЛЬТАТ

Созданный инструмент полностью оправдал ожидания заказчика. Система стабильно обрабатывает пиковый поток свыше 8 000 сделок в секунду, удерживая сквозную задержку от появления сделки на бирже до отображения на аналитическом дашборде в пределах 3–5 секунд. ClickHouse позволяет выполнять выборки за произвольный исторический период с точностью до минуты, не теряя производительности даже при запросах за несколько месяцев.

Telegram-бот стал оперативным каналом, по которому владелец сервиса узнаёт о входе крупного капитала раньше, чем информация распространяется по публичным каналам. Благодаря тонкой настройке алертов под личную стратегию ему удалось сократить время реакции на рыночные движения и, по обратной связи, повысить доходность собственных операций. Проект продолжает развиваться: в дорожную карту заложено добавление новых бирж и внедрение предиктивных моделей, однако детали остаются под соглашением о неразглашении (NDA). Веб-интерфейс используется сугубо в частном порядке ограниченным кругом лиц.

• Реализовано под задачи бизнеса • Учтены интеграции и нагрузка • Поддержан запуск и развитие