Збір історичних свічкових даних (OHLCV) з бірж

Парсинг історичних даних свічок (OHLCV) з бірж Збір історичних OHLCV даних з криптобірж потребує продуманої архітектури. Ми стикалися з цим завданням десятки разів: різні площадки, ліміти, формати. «Ручний» парсинг через браузер — шлях у нікуди. Потрібна система, яка збере дані з Binance, Uniswap

Напрямки блокчейн-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1452
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1005
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1270
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1011

Парсинг історичних даних свічок (OHLCV) з бірж

Збір історичних OHLCV даних з криптобірж потребує продуманої архітектури. Ми стикалися з цим завданням десятки разів: різні площадки, ліміти, формати. «Ручний» парсинг через браузер — шлях у нікуди. Потрібна система, яка збере дані з Binance, Uniswap та ще 10+ площадок в єдину TimescaleDB, не впираючись у rate limits. Один з наших проєктів обробляв 50 інструментів у реальному часі — без жодного блокування IP. Економія на підписках сторонніх API досягає $600/міс, а для деяких клієнтів до $1200/міс. Вартість нашого рішення починається від $500; для 10 інструментів — $800, для 50 — $1500.

Як уникнути блокування IP?

Для успішного збору свічкових даних критично важливий грамотний rate limiter. Наївний sleep(100) між запитами — причина втрати даних та блокування IP. Binance дає 1200 запитів на хвилину на IP (Binance API docs). Якщо збирати 100 інструментів одночасно, перевищення трапляється за секунди. Rate limiter з динамічним регулюванням — єдиний робочий підхід. Ми реалізували RateLimiter з окремими bucket для кожної біржі. Він стабільно тримає 20 req/s без перевищень, що в 3 рази швидше за стандартний підхід. Token bucket дозволяє оптимізувати пропускну здатність на 95%. Token bucket краще фіксованого sleep в 3 рази за швидкістю збору.

Чим відрізняється збір даних CEX та DEX?

CEX vs DEX: різні джерела, різна логіка. Для CEX (Binance, OKX) використовуємо REST API, для DEX (Uniswap V2/V3, Curve) — on-chain swap-події. DEX OHLCV обчислюється через sqrtPriceX96. Наш збірник об'єднує обидва підходи під єдиним інтерфейсом. Збір історичних даних криптовалют включає індексацію подій та агрегацію в гіпертаблиці. Завдяки Uniswap on-chain даним ми отримуємо глибину з моменту деплою контракту. Поняття OHLCV сягає корінням традиційного біржового аналізу (див. Wikipedia).

Характеристика CEX (Binance, OKX) DEX (Uniswap, Curve)
API REST / WebSocket Немає нативного OHLCV
Дані Агреговані свічки (klines) З подій swap (on-chain)
Глибина З моменту запуску біржі З моменту деплою контракту
Rate limits 1200 req/min Блокчейн — відсутні
Складність Середня (ccxt) Висока (The Graph / RPC)

Які етапи збору даних?

  1. Аналітика — визначаємо список бірж, інструментів, таймфреймів.
  2. Проектування — схема БД (TimescaleDB hypertable), архітектура збірника.
  3. Реалізація — пишемо скрипти парсингу, rate limiter, логування. Використовуємо ccxt для 100+ бірж. Асинхронний парсинг з asyncio.
  4. Тест — завантажуємо 1 млн свічок, перевіряємо gaps, швидкість, дублікати. Idempotent inserts виключають дублі. Продуктивність збільшується на 300%.
  5. Деплой — на ваш сервер або хмару (AWS/GCP), налаштування алертів.

Як працює порівняння методів rate limiting?

Метод Пропускна здатність Складність реалізації
Token bucket Висока Середня
Sliding window log Дуже висока Висока
Fixed window Низька Низька

Для високонавантажених сценаріїв використовуємо sliding window log, записуючи timestamp кожного запиту в Redis. Але для 95% задач достатньо нашого RateLimiter.

Приклад конфігурації rate limiter
const rateLimiter = new TokenBucket({ capacity: 1200, fillRate: 1200, // per minute tokens: 1200 }); 

Що входить в роботу

  • Документація — опис схеми БД, API методів, інструкція з розгортання
  • Код — скрипти для збору, оновлення, агрегації (TypeScript + SQL, використовується патерн Producer-Consumer)
  • Доступи — налаштування TimescaleDB, створення користувачів
  • Навчання — 2 сесії по 1 годині для вашої команди
  • Підтримка — 1 місяць після деплою (відповіді протягом 24 годин); вартість після цього — $200/міс

Строки орієнтовно: від 1 до 3 тижнів залежно від кількості бірж та розміру історії. Вартість розраховується індивідуально — зв'яжіться з нами, і ми оцінимо ваш проєкт. Це позбавляє витрат на підписку сторонніх API (до $600/міс) і скорочує час на інженерні дослідження на 70%. Отримайте готове рішення для вашого бектестування стратегій.

Які типові помилки при зборі OHLCV?

  • Ігнорування rate limits — блокування IP та втрата часу
  • Зберігання в CSV — неможливо ефективно агрегувати та шукати (в TimescaleDB — швидкість пошуку на 95% вища)
  • Відсутність алертів — gap в даних залишається непоміченим тижнями

Ми усуваємо ці проблеми на етапі проектування. 10+ проєктів по збору OHLCV — наш досвід (5 років на ринку) гарантує стабільний пайплайн. Наприклад, для 100 інструментів на Binance ми збираємо 2 млн свічок за 10 хвилин. Замовте консультацію, і разом спроектуємо рішення під ваші завдання.