Soroka - платформа сигналів ринку та автоматизації
Soroka - це розподілена backend-платформа з подієвою архітектурою для аналізу криптовалютного ринку в реальному часі, генерації сигналів та аналітики їхньої поведінки після події. Система фокусується на конвеєрах даних, виявленні аномалій і автоматичних зворотних зв’язках, а не на прямому виконанні угод.
Огляд системи
Платформа побудована як набір незалежних Python-мікросервісів, що взаємодіють через спільну базу даних і подієві черги Redis.
Система безперервно сканує криптовалютний ринок, виявляє структурні аномалії, формує відфільтровані сигнали та оцінює їхню поведінку після події.
Збір ринкових даних
Python-бекенд на FastAPI виконує хвилинні API-запити до Binance, скануючи 150 найбільш ліквідних торгових пар.
- Знімки ринку отримуються щохвилини
- Операції з базою даних повністю асинхронні
- Історичні дані зберігаються для порівняльного аналізу
Аналітичні мікросервіси
Незалежні Python-мікросервіси аналізують ринкові дані майже в реальному часі.
- Порівняння поточного стану ринку з історичним
- Виявлення структурних аномалій (наприклад BOS-подій)
- Розрахунок метрик та оцінка впевненості
- Збереження результатів аналізу
Кожен аналітичний компонент може налаштовуватися та масштабуватися незалежно.
Конвеєр сигналів
Коли подія відповідає заданим правилам фільтрації, система формує ринковий сигнал.
- Сигнали доповнюються розрахованими метриками
- Публікуються у Redis-чергу
- Споживаються Telegram-ботом або торговим компонентом
Redis виступає шаром розв’язування між аналітикою, сповіщенням і виконанням.
Аналітика після сигналу
Кожен сигнал автоматично оцінюється після публікації.
- PnL розраховується через 1, 2, 3, 5, 10 і 15 хвилин
- Чисто аналітична оцінка (без виконання угод)
- Результати публікуються у Telegram-каналі
Цей зворотний зв’язок дозволяє безперервно перевіряти якість сигналів.
Філософія конфігурації
Поведінка системи керується через файли .env
окремо для кожного мікросервісу.
- Налаштування без перебудови контейнерів
- Швидкі експерименти з логікою виявлення
- Чітке розділення коду і стратегії
Типова конфігурація (фрагмент)
# Event filtering
EVENT_FILTER_TYPE=BOS_UP
CONFIDENCE_MIN=0.45
CONFIDENCE_MAX=0.80
# Market structure detection
INTERVAL=1m
LOOKBACK=3
MIN_CANDLES=5
BOS_STRENGTH_THRESHOLD=1.006
MIN_VOLUME_MULTIPLIER=1.3
REQUIRE_BODY_RATIO=0.6
MIN_EVENT_INTERVAL_MINUTES=2
# Risk & analytics parameters
ALLOCATION_PCT=0.50
STOPLOSS_PCT=0.08
LEVERAGE=1
TRADE_TIME=90
# Liquidity & volatility filters
MIN_LIQUIDITY_USDT=10000000
MAX_VOLATILITY=0.25
MIN_TRADE_COUNT=300000
# Infrastructure
REDIS_URL=redis://redis:6379/0
TRADE_QUEUE_NAME=trade_bot_queue
MAX_SIGNAL_AGE=60
Публікація та розповсюдження
Перевірені сигнали публікуються у Telegram-каналі Soroka signals
Той самий потік сигналів може використовуватися мобільним додатком або програмно автоматизованими компонентами.
Інженерний фокус
- Подієво-керована архітектура
- Асинхронні конвеєри даних
- Конфігураційна поведінка
- Аналітика після подій і зворотні зв’язки
- Операційна прозорість