Крипторынок и применение инструментов Big Data
Сценарий: Аналитика криптовалютного токена
- 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 базу.
Задачи: очистка, трансформация, выявление закономерностей.
- Python (pandas, PySpark) → парсинг API CoinMarketCap, агрегация цен, корреляционный анализ токенов.
- Apache Spark → обработка миллионов транзакций из Arkham/DefiLlama.
- Airflow → автоматизация: каждый час тянуть данные о TVL из DefiLlama и обновлять модели.
- TensorFlow / PyTorch → прогнозирование цен или объёмов торгов, обучение моделей sentiment analysis на Twitter/Reddit.
- scikit-learn → кластеризация кошельков по транзакционной активности.
Пример: модель PyTorch для предсказания краткосрочного движения токена на основе ордербука + потоков с Arkham.
Задачи: показать результат в удобном виде для трейдера или инвестора.
- Tableau / Power BI / Looker → дашборды: цена, объём торгов, TVL, распределение держателей, метрики из Dropstab.
- Jupyter / Colab → исследования: визуализация корреляций между токенами, графики ARIMA/ML-прогнозов.
- HTML + Streamlit / Dash → кастомные веб-приложения: интерактивная панель «здоровья токена» (ончейн-активность, капитализация, крупные транзакции).
Пример: Tableau-дэшборд, где соединены данные из CoinMarketCap и DefiLlama:
- SQL + Spark + CoinMarketCap API
→ Построить базу с историческими OHLC свечами токена, запускать Spark для быстрой агрегации и анализа. - Kafka + NoSQL + Binance API
→ В реальном времени собирать ордера и сделки, строить индикатор ликвидности. - Python (scikit-learn) + Arkham data
→ Кластеризация кошельков: выявить «китов», маркет-мейкеров, розничных трейдеров. - TensorFlow/PyTorch + Twitter sentiment
→ Модель предсказывает, усилится ли интерес к токену в ближайшие часы на основе соцсетей. - Tableau / Power BI + DefiLlama
→ Дашборд с динамикой TVL, APY по пулам, распределение ликвидности между протоколами.
Приоритетные инструменты для анализа крипторынка
Если собрать минимальный рабочий стек:
- Python + SQL → как база для выгрузки и анализа API CoinMarketCap / Dropstab.
- Spark / Kafka → если планируется потоковая аналитика и Big Data масштабы (ончейн-транзакции).
- TensorFlow / PyTorch → прогнозирование + анализ соцсетей.
- 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. Общая архитектура (схема слоёв)
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).
o Kafka (или Kinesis) для потоков рыночных данных и on-chain событий.
o Batch загрузка через Airflow для исторических/агрегированных данных (CoinGecko, DefiLlama).
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).
o Jupyter / Databricks для исследовательского анализа.
o scikit-learn / XGBoost / LightGBM для табличных моделей; PyTorch/TensorFlow для sequence/NLP.
o Anomaly detection (isolation forest, LSTM-autoencoder), forecasting (LSTM, Transformer, Prophet).
o Model serving: TorchServe / TensorFlow Serving / FastAPI.
o Alerting: Prometheus + Alertmanager / custom rules (e-mail, Telegram).
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_exchangesFROM `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_timedf = 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), и рекомендуемое действие (ревью, стоп-лосс, снижение экспозиции).