AI Financial Intelligence Platform
A multi-agent research system for equity analysts that automates company screening across fundamentals, market performance, and news sentiment—producing ranked, evidence-backed results with automated review. Try the Platform
1. Problem & Solution
The Problem
Equity analysts spend significant time gathering company data, reviewing news, and comparing investment candidates. Automating this work introduces a second problem: financial AI can fail silently. Even when it retrieves evidence about the wrong companies, it may produce a fluent, confident, and properly cited answer.
The Solution
The platform retrieves and ranks evidence across structured fundamentals, financial news, and market APIs, then verifies grounding, citations, and hallucination risk. Reliability is measured through a 100-question benchmark covering routing, retrieval, SQL correctness, ranking, and answer quality—while the analyst retains responsibility for the final investment decision.
2. System Design
3. Analyst Interface Demo
4. Admin Interface Demo
5. Evaluation & Benchmarking
6. Observability
7. Security & Guardrails
8. Engineering Outcomes
- Grounding improvement
- Raised faithfulness from 0.64 → 0.75 on a fixed 25-question set by tracing grounding failures to a generation-prompt instruction, verified against a measured 0.04 run-to-run noise floor, with unsupported comparative claims falling 56 → 1.
- Retry-path redesign
- Reduced retrieval executions from 3.28 → 1.00 per question after identifying that retries reran identical queries against an unchanged corpus and therefore could not converge.
- Evaluation correctness
- Found retrieval precision was scoring live market rows alongside document chunks and separated the metric inputs so retrieval quality is measured against the document corpus alone.
- Reproducible evaluation
- Froze the corpus and embeddings after live market-data changes altered ranking membership and caused correct results to be graded incorrectly.
- Deployment optimization
- Reduced deploy payload from 4.36 GB → 164 MB by reusing base-image layers and chunking registry uploads after three standard tools failed identically on the same upload.
9. Technology Stack
- Language & API
- PythonFastAPI
- Orchestration
- LangGraph
- Models
- OpenAIAnthropicGemini
- Data
- PostgreSQL + pgvector (HNSW)Redis
- Evaluation & tracing
- RAGASLangSmith
- Interface
- React
- Infrastructure
- AWS ECS FargateAmazon RDSAmazon S3Amazon SQSTerraformDocker
10. Key Design Choices
- Intent-routed retrieval
- A classifier routes each question to SQL, document search, market data, or a combination, so a valuation question queries the database while a sentiment question searches the corpus.
- Hybrid dense + lexical search
- pgvector similarity and BM25 run in parallel, merged by reciprocal rank fusion, then reranked by a cross-encoder; both stages are per-run flags so retrieval arms can be benchmarked against each other.
- Provider-agnostic model layer with a fixed evaluation judge
- Providers and their model tiers are resolved from the database at request time, while the benchmark judge stays pinned to one model, so a run against OpenAI and a run against Anthropic are graded identically and remain comparable.
- Per-stage evaluation with claim-level grounding checks
- Six evaluators score intent, tool use, SQL, retrieval, ranking and market data independently, and a seventh decomposes each answer into atomic claims and verifies every one against the evidence actually retrieved — so a failure is attributable to a stage rather than to the system.
- Reviewer/retry loop
- A reviewer node checks the draft for unsupported claims and invalid citations and routes a retry back to the only stage whose inputs can differ, carrying the flagged claims forward so the next attempt has something new to work with.