October 5, 2025

Крипторынок и применение инструментов Big Data

Сценарий: Аналитика криптовалютного токена

1. Сбор и хранение данных

Ключевые источники:

  • CoinMarketCap / Dropstab / DefiLlama / Arkham → API с данными о ценах, капитализации, TVL, потоках средств.
  • Биржи (Binance, OKX, Bybit) → API ордербуков, исторических сделок.
  • On-chain данные (Etherscan, Glassnode, Dune Analytics) → транзакции, активности кошельков.
  • Соцсети / новости (Twitter, Reddit, Telegram) → неструктурированные данные для sentiment analysis.

Инструменты:

  • SQL → хранение структурированных исторических данных (цены, объёмы).
  • NoSQL (MongoDB, Cassandra) → хранение JSON с ордербуками и ончейн-транзакциями.
  • Kafka → сбор потоковых данных (например, обновление котировок в реальном времени).
  • Hadoop HDFS / BigQuery / Snowflake → хранение огромных массивов исторических свечей и ончейн-данных.

Пример: подключить Kafka к API Binance и собирать поток сделок в NoSQL базу.

2. Обработка и ML

Задачи: очистка, трансформация, выявление закономерностей.

Инструменты:

  • Python (pandas, PySpark) → парсинг API CoinMarketCap, агрегация цен, корреляционный анализ токенов.
  • Apache Spark → обработка миллионов транзакций из Arkham/DefiLlama.
  • Airflow → автоматизация: каждый час тянуть данные о TVL из DefiLlama и обновлять модели.
  • TensorFlow / PyTorch → прогнозирование цен или объёмов торгов, обучение моделей sentiment analysis на Twitter/Reddit.
  • scikit-learn → кластеризация кошельков по транзакционной активности.

Пример: модель PyTorch для предсказания краткосрочного движения токена на основе ордербука + потоков с Arkham.

3. Визуализация и отчётность

Задачи: показать результат в удобном виде для трейдера или инвестора.

Инструменты:

  • Tableau / Power BI / Looker → дашборды: цена, объём торгов, TVL, распределение держателей, метрики из Dropstab.
  • Jupyter / Colab → исследования: визуализация корреляций между токенами, графики ARIMA/ML-прогнозов.
  • HTML + Streamlit / Dash → кастомные веб-приложения: интерактивная панель «здоровья токена» (ончейн-активность, капитализация, крупные транзакции).

Пример: Tableau-дэшборд, где соединены данные из CoinMarketCap и DefiLlama:

  • цена токена,
  • динамика TVL,
  • топ-10 кошельков (из Arkham).

Конкретные примеры применения

  1. SQL + Spark + CoinMarketCap API
    → Построить базу с историческими OHLC свечами токена, запускать Spark для быстрой агрегации и анализа.
  2. Kafka + NoSQL + Binance API
    → В реальном времени собирать ордера и сделки, строить индикатор ликвидности.
  3. Python (scikit-learn) + Arkham data
    → Кластеризация кошельков: выявить «китов», маркет-мейкеров, розничных трейдеров.
  4. TensorFlow/PyTorch + Twitter sentiment
    → Модель предсказывает, усилится ли интерес к токену в ближайшие часы на основе соцсетей.
  5. Tableau / Power BI + DefiLlama
    → Дашборд с динамикой TVL, APY по пулам, распределение ликвидности между протоколами.

Приоритетные инструменты для анализа крипторынка

Если собрать минимальный рабочий стек:

  1. Python + SQL → как база для выгрузки и анализа API CoinMarketCap / Dropstab.
  2. Spark / Kafka → если планируется потоковая аналитика и Big Data масштабы (ончейн-транзакции).
  3. TensorFlow / PyTorch → прогнозирование + анализ соцсетей.
  4. Tableau / Power BI / Streamlit → дашборды для принятия решений.

Таким образом, криптоаналитика сочетает в себе Big Data-инфраструктуру (Kafka, Spark, NoSQL) + ML (Python, PyTorch, sentiment models) + BI-визуализацию (Tableau, Power BI, Streamlit).

Ниже —архитектура Big Data-проекта для анализа ETH (Ethereum): источники данных, схема хранения, ETL/стриминг, обработка, ML-модели, дашборды, метрики и практические примеры кода/запросов. Воспроизводимая архитектура и шаги внедрения.

1. Краткая цель проекта

Построить систему, которая в режиме near-real-time и исторически:

·         собирает рыночные, ончейн и социальные данные по ETH;

·         строит аналитические и предупредительные метрики (ликвидность, активность, движения китов, TVL, gas, спайки объёмов);

·         запускает ML-модели (прогноз цены/волатильности, детекция аномалий, sentiment-score);

·         предоставляет дашборды и API для трейдинга/исследований.

2. Общая архитектура (схема слоёв)

1.      Источники данных

o    Биржевые API: Binance, Coinbase, Kraken (ордербук, сделки).

o    Маркет-агрегаторы: CoinMarketCap, CoinGecko, CoinPaprika.

o    On-chain / блокчейн: Etherscan, Glassnode, Dune, Arkham (транзакции, перемещения кошельков, контрактная активность).

o    DeFi агрегаторы: DeFiLlama (TVL), DEX (Uniswap/Sushiswap subgraphs).

o    Оркестрации/дополнительно: MEV-боты / Flashbots-мемпул, Chainlink (оракулы).

o    Соцсети/новости: Twitter/X, Reddit, Telegram, RSS-фиды.

o    Торговые индикаторы: on-chain-feeds (balances, flows), off-chain (orderflow).

2.      Ingest / Stream layer

o    Kafka (или Kinesis) для потоков рыночных данных и on-chain событий.

o    Batch загрузка через Airflow для исторических/агрегированных данных (CoinGecko, DefiLlama).

3.      Storage layer

o    Hot storage: NoSQL (MongoDB) или time-series DB (ClickHouse, TimescaleDB) для tick/ohlc/ordonbook streams.

o    Data lake / analytical warehouse: BigQuery / Snowflake / HDFS + Parquet для исторических данных, метрик и ML.

o    Index/search: Elasticsearch для логов и быстрых запросов по событиям.

4.      Processing / ETL / Feature store

o    Spark (PySpark) для больших batch-вычислений.

o    Flink / Spark-Structured Streaming для real-time агрегатов.

o    Feature store (Feast / custom) — для хранения фичей ML (скользящие средние, on-chain фичи, sentiment).

5.      ML / Analytics

o    Jupyter / Databricks для исследовательского анализа.

o    scikit-learn / XGBoost / LightGBM для табличных моделей; PyTorch/TensorFlow для sequence/NLP.

o    Anomaly detection (isolation forest, LSTM-autoencoder), forecasting (LSTM, Transformer, Prophet).

6.      Serving / API / Alerts

o    Model serving: TorchServe / TensorFlow Serving / FastAPI.

o    Alerting: Prometheus + Alertmanager / custom rules (e-mail, Telegram).

7.      Visualization / BI

o    Dashboards: Tableau / Power BI / Looker / Streamlit / Grafana (timeseries).

o    Интерфейс: web-app (Plotly Dash / Streamlit) с интерактивными панелями: price, TVL, whale flow, on-chain health, sentiment.

3. Конкретные компоненты (рекомендации по выбору технологии)

·         Streaming bus: Apache Kafka.

·         Time-series / hot DB: ClickHouse (высокая скорость агрегирования) или TimescaleDB.

·         Data lake / Warehouse: BigQuery / Snowflake — удобны для аналитики и SQL-доступа; альтернативно Parquet в S3 + Hive/Presto.

·         Processing: PySpark (для batch), Spark Structured Streaming / Flink (реальное время).

·         On-chain parsing: собственный парсер Ethereum logs + The Graph (subgraph для Uniswap) + Arkham API для wallet labeling.

·         Feature store: Feast или простая таблица фич в BigQuery/Snowflake.

·         NLP / Sentiment: HuggingFace / spaCy / BERT-like модели для твитов/реддита; использовать embeddings + классификатор.

·         Visualization: Grafana (real-time), Tableau/Looker (бизнес), Streamlit (прототипы).

4. Примеры реальных метрик и фичей для ETH-аналитики

Рыночные (from exchanges/aggregators)

·         last_price, bid/ask spread, 1m/5m/1h/24h OHLCV

·         orderbook_depth (top-5 bids/asks), realised_volume, VWAP

·         volume_by_exchange (биржевые потоки)

·         funding_rates, open_interest (per perpetual)

On-chain

·         active_addresses (день/неделя)

·         new_contracts_created per day

·         whale_transfers: переводы > X ETH (число и сумма)

·         exchange_inflows/outflows (ETH → биржи, ETH ← биржи)

·         top_holder_shares (топ-10 топ-100 кошельков)

·         balance_change_distribution (кол-во кошельков с начислением/понижением)

·         gas_price_median, gas_used_percent

DeFi / Liquidity

·         TVL (ETH denominated) across protocols

·         liquidity_depth_uniswap (pool sizes)

·         net_withdrawals_deposits в ключевых протоколах

Социальные / Событийные

·         sentiment_score (twitter/telegram) — положительный/отрицательный/нейтральный (скользящее среднее)

·         news_volume (кол-во упоминаний ETH в крупных источниках)

·         social_velocity (изменение объёма обсуждений)

Производные фичи (для ML)

·         price_returns_lagN (N = 1,5,15,60 мин)

·         realized_volatility (rolling 1d/7d)

·         net_exchange_flow (инфля-скорость)

·         correlation_with_BTC (rolling window)

·         attention_index = weighted(social_volume * sentiment)

5. Примеры конкретных пайплайнов и кода

A) Пример SQL-запроса (BigQuery) — средняя дневная цена ETH и входы на биржи

-- Таблица: eth_ticks(timestamp, price, volume, exchange)
SELECT
  DATE(timestamp) AS day,
  AVG(price) AS avg_price,
  SUM(volume) AS total_volume,
  SUM(CASE WHEN exchange IN ('binance','coinbase') THEN volume ELSE 0 END) AS volume_top_exchanges
FROM `project.dataset.eth_ticks`
WHERE timestamp BETWEEN '2024-01-01' AND '2024-12-31'
GROUP BY day
ORDER BY day;

B) PySpark — агрегирование on-chain транзакций по дням

from pyspark.sql import SparkSession
from pyspark.sql.functions import to_date, sum as _sum
spark = SparkSession.builder.appName("eth_onchain_agg").getOrCreate()
df = spark.read.parquet("s3://bucket/eth_tx_parquet/")  # fields: tx_hash, from, to, value_wei, block_time
df = df.withColumn("day", to_date("block_time"))
daily = df.groupBy("day").agg(
    _sum("value_wei").alias("sum_value_wei"),
    _count("*").alias("tx_count")
)
daily.write.mode("overwrite").parquet("s3://bucket/analytics/eth_daily/")

C) Python — простой sentiment pipeline (sketch)

from transformers import pipeline
sentiment = pipeline("sentiment-analysis", model="distilbert-base-uncased-finetuned-sst-2-english")
tweets = fetch_tweets(query="ethereum OR eth", since="2025-09-01")
scores = [sentiment(t)['label'] for t in tweets]
# агрегировать в minute/hour bins и сохранять в feature store

D) Пример правила для алерта (whale transfer)

·         Если суммарный объём переводов > 10k ETH в течение 1 часа на биржу → ALERT (Telegram + email).

·         Требуемые данные: aggregated exchange_inflows per hour (они берутся из on-chain парсера + exchange address list).

6. ML-подходы (конкретные идеи)

1.      Anomaly detection on flows — Isolation Forest на наборе фич: exchange_inflows, whale_count, gas_price, social_volume.

2.      Short-term price prediction — градиентный бустинг (LightGBM) с фичами: lag-returns, orderbook_imbalance, net_exchange_flow, sentiment_score, realised_volatility.

3.      Event forecasting — модель sequence-to-sequence (Transformer) для предсказания ускорения торговой активности после on-chain-событий (large transfers, contract calls).

4.      Cluster users/wallets — clustering (HDBSCAN) на Arkham/Glassnode фичах для выделения китов / арбитражников / маркет-мейкеров.

5.      NLP для связки адрес→событие — извлечение упоминаний адресов в твитах/форуме, ранжирование по вероятности влияния.

7. Дашборды и KPI (пример набора дашбордов)

1.      Overview (Executive): current_price, 24h_change, market_cap, total_volume_24h, TVL.

2.      On-chain Health: active_addresses, new_addresses, exchange_balance_change, large_transfers.

3.      Liquidity & Orderbook: top-exchanges orderbook depth, spread, slippage estimates.

4.      DeFi: TVL по ключевым протоколам, net_flows, top_pools.

5.      Sentiment: social_volume, sentiment_score, news_highlights.

6.      Alerts: whale_inflows, sudden_liquidity_drops, gas_spike.

8. Практический план внедрения (шаги, минимальный MVP)

1.      MVP данных: настроить cron/airflow для периодического (1m/5m) сбора OHLCV с CoinGecko/Binance и сохранить в BigQuery/ClickHouse.

2.      On-chain парсер: развернуть node/или использовать Etherscan / archival node (если нужен полный лог) → парсить переводы и топ-события.

3.      Streaming: запустить Kafka topic для потоков сделок и on-chain событий.

4.      Basic analytics: собрать 10 базовых метрик (price, volume, exchange_flows, active_addresses, gas) и нарисовать основной дашборд в Grafana/Tableau.

5.      Alerts: добавить правило whale_inflow и тестовый канал.

6.      ML Prototype: собрать features и train LightGBM на исторических данных (цена/returns), оценить важность фич.

7.      Prod: автоматизировать retrain, model serving, feature store, CI/CD через Git + Docker + Kubernetes.

9. Риски и технические нюансы

·         Качество данных: разные источники имеют разную задержку/репрезентативность — нормализовать.

·         Сложность on-chain: архива узлов (archive node) дорогие; альтернативы — провайдеры услуг (Infura, Alchemy) или готовые ETL (Dune, Glassnode).

·         Latency vs cost: hot storage (ClickHouse) дороже, но нужен для real-time; cold storage — Parquet в S3.

·         Labeling: Arkham/Glassnode дают метки, но требуют проверки (ошибки в attribution).

·         Backtesting: модели на исторических данных часто переобучаются — важны walk-forward тесты.

10. Приоритеты изучения / реализации (что делать в первую очередь)

1.      Python + SQL + Jupyter — собрать первые датасеты (OHLCV, on-chain базовый).

2.      BigQuery / ClickHouse — положить данные и научиться быстро агрегировать.

3.      Kafka + Spark Structured Streaming — для real-time feed (если нужен low latency).

4.      Basic ML (LightGBM) + feature store — прототип модели прогнозирования.

5.      Dashboards (Grafana/Streamlit/Tableau) — визуализация и alerting.

11. Пример готового use-case (конкретная workflow)

Цель: «предупредить о высокой вероятности утечки ETH на биржи (высокий риск давления цены)»

1.      On-chain парсер детектирует > 3 переводов > 1k ETH на биржи в 30-минутном окне.

2.      Kafka собирает события, Spark агрегирует и пишет в ClickHouse.

3.      Правило в Airflow/Alerting проверяет: если exchange_inflow_hour > threshold и sentiment_score < -0.2 и realized_volatility растёт → отправить ALERT в Telegram.

4.      Дашборд показывает детальную цепочку переводов (addresses → labels via Arkham), суммарный объём, предполагаемая цель (биржа A/B), и рекомендуемое действие (ревью, стоп-лосс, снижение экспозиции).