Back to Projects
In Progressai-ml

Algo Trading Research Platform

Multi-tenant RAG platform combining semantic knowledge retrieval, a backtesting engine, and a regime-aware analytics dashboard — built for trading research and strategy evaluation.

1 min read
Solo project
PythonFastAPIReactTypeScriptQdrantPostgreSQLSupabaseRedisDockerOllamaPrometheus

The Problem

Trading research is fragmented across YouTube videos, PDFs, Pine Scripts, and articles. Strategy development lacks systematic parameter tuning and overfit detection. And when something goes wrong in a live system, there's no clear answer to why a trade was taken.

The Solution

Built a multi-tenant platform that connects knowledge retrieval, strategy research, and live monitoring into one system. Content is ingested, chunked, and embedded into Qdrant for semantic search. The backtesting engine supports rigorous parameter sweeps with walk-forward validation. The React dashboard surfaces regime context and RAG-retrieved reasoning alongside every trade event.

Architecture

Async FastAPI service with a layered architecture (routers → services → repositories). Qdrant for vector storage, Supabase PostgreSQL for relational data (76 migrations), Redis for caching and rate limiting. React SPA connects via REST and SSE. Docker Compose for local dev; Prometheus + Grafana for observability.

Key Features

  • Multi-source ingestion: YouTube transcripts, PDFs, Pine Script files, articles, and raw text
  • Two-stage retrieval: Qdrant vector search with optional BGE cross-encoder reranking and neighbor expansion
  • Backtest engine: grid/random parameter tuning, walk-forward optimization, IS/OOS splits with overfit detection, and leaderboard
  • Regime-aware equity dashboard: colored regime bands, alert pins on timeline, RAG context drawer per trade
  • Live SSE updates: KPI cards refresh automatically when the backend fires alert events
  • Multi-tenant workspace isolation with per-workspace configuration
  • Production ops: 28 Prometheus alerting rules, Sentry, structured logging, Telegram alerting with escalation, auto-pause on critical drawdown
  • 221 tests (unit + integration + e2e) with CI on every push