Overview
RAG Equity Research Agent is an autonomous AI system that performs professional-grade equity research by aggregating and analyzing multiple data sources in real-time. Built with LangGraph for multi-agent orchestration, hybrid RAG (BM25 + dense embeddings) for SEC filings analysis, and deployed on Azure Container Apps with a Telegram bot interface.
RAG Equity Research Agent est un système d'IA autonome qui réalise des analyses financières de qualité professionnelle en agrégeant et analysant de multiples sources de données en temps réel. Construit avec LangGraph pour l'orchestration multi-agents, le RAG hybride (BM25 + embeddings denses) pour l'analyse des documents SEC, et déployé sur Azure Container Apps avec une interface bot Telegram.
Key Features
| Feature | Description |
|---|---|
| Deep Analysis | Autonomous research combining market data, SEC filings, and sentiment analysis |
| Hybrid RAG | BM25 sparse + dense embeddings with RRF reranking for accurate document retrieval |
| Multi-Agent System | LangGraph orchestration with specialized agents (market data, news, RAG, synthesizer) |
| Real-time Data | Yahoo Finance integration for live quotes, financials, and historical data |
| Risk Scoring | Automated risk assessment from 10-K filings with keyword extraction |
| Telegram Bot | Full-featured bot with inline keyboards, watchlists, and price alerts |
| Fonctionnalité | Description |
|---|---|
| Analyse approfondie | Recherche autonome combinant données de marché, documents SEC et analyse de sentiment |
| RAG hybride | BM25 sparse + embeddings denses avec reranking RRF pour une récupération précise de documents |
| Système multi-agents | Orchestration LangGraph avec agents spécialisés (données de marché, actualités, RAG, synthétiseur) |
| Données en temps réel | Intégration Yahoo Finance pour les cotations en direct, les données financières et l'historique |
| Scoring de risque | Évaluation automatisée des risques à partir des rapports 10-K avec extraction de mots-clés |
| Bot Telegram | Bot complet avec claviers inline, watchlists et alertes de prix |
Technology Stack
| Layer | Technologies |
|---|---|
| LLM | Groq (Llama 3.3 70B), Azure OpenAI (GPT-4o-mini) |
| Orchestration | LangGraph, LangChain |
| RAG | Qdrant Vector DB, BM25, Hybrid Search, RRF Reranking |
| Data Sources | Yahoo Finance, SEC EDGAR, Reddit API, DuckDuckGo |
| Backend | FastAPI, Pydantic, Python 3.11+ |
| Bot | python-telegram-bot with async handlers |
| Infrastructure | Docker, Azure Container Apps, Terraform |
| CI/CD | GitHub Actions (lint, test, security, deploy) |
| Quality | Ruff, pytest (53% coverage), Bandit security scan |
| Couche | Technologies |
|---|---|
| LLM | Groq (Llama 3.3 70B), Azure OpenAI (GPT-4o-mini) |
| Orchestration | LangGraph, LangChain |
| RAG | Qdrant Vector DB, BM25, Hybrid Search, RRF Reranking |
| Sources de données | Yahoo Finance, SEC EDGAR, Reddit API, DuckDuckGo |
| Backend | FastAPI, Pydantic, Python 3.11+ |
| Bot | python-telegram-bot avec handlers asynchrones |
| Infrastructure | Docker, Azure Container Apps, Terraform |
| CI/CD | GitHub Actions (lint, test, sécurité, déploiement) |
| Qualité | Ruff, pytest (53% de couverture), scan de sécurité Bandit |
Telegram Commands
| Command | Description |
|---|---|
| /analyze TICKER | Deep multi-source analysis |
| /quote TICKER | Real-time stock quote |
| /compare TICKER1 TICKER2 | Side-by-side comparison |
| /dcf TICKER | Discounted Cash Flow valuation |
| /risk TICKER | Risk score from 10-K analysis |
| /peers TICKER | Automatic peer comparison |
| /reddit TICKER | Reddit/WSB sentiment analysis |
| /watchlist | Manage personal watchlist |
| /alert TICKER PRICE | Set price alerts |
| Commande | Description |
|---|---|
| /analyze TICKER | Analyse multi-sources approfondie |
| /quote TICKER | Cotation boursière en temps réel |
| /compare TICKER1 TICKER2 | Comparaison côte à côte |
| /dcf TICKER | Valorisation par Discounted Cash Flow |
| /risk TICKER | Score de risque issu de l'analyse du 10-K |
| /peers TICKER | Comparaison automatique avec les pairs |
| /reddit TICKER | Analyse de sentiment Reddit/WSB |
| /watchlist | Gestion de la watchlist personnelle |
| /alert TICKER PRICE | Définition d'alertes de prix |
RAG Pipeline
The hybrid search pipeline combines multiple retrieval strategies:
- Chunking - SEC filings split into semantic chunks with metadata
- BM25 Sparse - Traditional keyword matching for exact terms
- Dense Embeddings - Semantic similarity via text-embedding-ada-002
- RRF Fusion - Reciprocal Rank Fusion combines both rankings
- Reranking - Final relevance scoring for top-k results
Le pipeline de recherche hybride combine plusieurs stratégies de récupération :
- Chunking - Les documents SEC sont découpés en chunks sémantiques avec métadonnées
- BM25 Sparse - Correspondance traditionnelle par mots-clés pour les termes exacts
- Embeddings denses - Similarité sémantique via text-embedding-ada-002
- Fusion RRF - Le Reciprocal Rank Fusion combine les deux classements
- Reranking - Scoring de pertinence final pour les top-k résultats
Cloud Infrastructure
Deployed on Azure with infrastructure-as-code:
- Container Apps - Serverless containers with scale-to-zero
- Container Registry - Private Docker image storage
- Azure OpenAI - GPT-4o-mini with 10K TPM quota
- Qdrant - Vector database on Container Instance
- Key Vault - Secure secrets management
- Log Analytics - Centralized logging and monitoring
Déployé sur Azure avec infrastructure-as-code :
- Container Apps - Conteneurs serverless avec scale-to-zero
- Container Registry - Stockage privé d'images Docker
- Azure OpenAI - GPT-4o-mini avec quota de 10K TPM
- Qdrant - Base de données vectorielle sur Container Instance
- Key Vault - Gestion sécurisée des secrets
- Log Analytics - Journalisation et monitoring centralisés
Results
| Metric | Value |
|---|---|
| Code Coverage | 53% |
| Lines of Code | 10,400+ |
| Test Cases | 205 |
| CI Pipeline | Lint + Test + Security + Build |
| Estimated Cost | ~$50-110/month (Azure) |
| Indicateur | Valeur |
|---|---|
| Couverture de code | 53% |
| Lignes de code | 10 400+ |
| Cas de test | 205 |
| Pipeline CI | Lint + Test + Sécurité + Build |
| Coût estimé | ~50-110$/mois (Azure) |
