Soroka - market signals and automation platform

Python microservices - Event-driven architecture - Market analytics

Soroka is a distributed backend platform with event-driven architecture for real-time crypto market analysis, signal generation, and post-event analytics. The system focuses on data pipelines, anomaly detection, and automated feedback, not on direct trade execution.

Python FastAPI Async I/O Microservices Redis queues Market analytics Configuration (.env)

System overview

The platform is built as a set of independent Python microservices that communicate through a shared database and Redis event queues.

The system continuously scans the crypto market, detects structural anomalies, generates filtered signals, and evaluates their behavior after the event.


Market data collection

The Python backend on FastAPI performs minute-by-minute API calls to Binance, scanning 150 most liquid trading pairs.

  • Market snapshots are collected every minute
  • Database operations are fully asynchronous
  • Historical data is stored for comparative analysis

Analytical microservices

Independent Python microservices analyze market data in near real time.

  • Comparison of current market state with historical context
  • Detection of structural anomalies (for example BOS events)
  • Metric calculation and confidence assessment
  • Storage of analysis results

Each analytical component can be configured and scaled independently.


Signal pipeline

When an event matches the defined filtering rules, the system generates a market signal.

  • Signals are enriched with computed metrics
  • Published to Redis queues
  • Consumed by a Telegram bot or a trading component

Redis acts as a decoupling layer between analytics, notifications, and execution.


Post-signal analytics

Each signal is automatically evaluated after publication.

  • PnL is calculated after 1, 2, 3, 5, 10, and 15 minutes
  • Purely analytical assessment (no trade execution)
  • Results are published to a Telegram channel

This feedback loop enables continuous validation of signal quality.


Configuration philosophy

System behavior is controlled through .env files for each microservice.

  • Configuration without rebuilding containers
  • Fast experiments with detection logic
  • Clear separation of code and strategy

Typical configuration (excerpt)

Example of baseline production parameters for signal filtering and analytics.

# 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

Values are illustrative and can vary per microservice.


Publishing and distribution

Verified signals are published in the Telegram channel Soroka signals

The same signal stream can be consumed by a mobile app or programmatically by automated components.


Engineering focus

  • Event-driven architecture
  • Asynchronous data pipelines
  • Configuration-based behavior
  • Post-event analytics and feedback loops
  • Operational transparency
Soroka mobile app Soroka report Soroka PnL report