Compare Equity Peers with Live Financials
A Chainlit agent that pulls live peer financials and delivers a valuation verdict
Takes any US ticker and automatically discovers its public peer group via Nimble search, then fetches 10 valuation metrics — P/E, forward P/E, P/S, EV/EBITDA, PEG, revenue growth, gross margin, operating margin, ROE, and analyst price target — for the target and every peer directly from Finviz via Nimble extract. Numbers are parsed deterministically from the page, never re-typed by the LLM. Poses two questions per run: where does the target sit relative to its peer median on each multiple, and what recent catalysts (earnings reports, guidance updates, analyst rating moves) explain the premium or discount?
Inputs
- Ticker symbol A US-listed equity ticker entered at run time, such as CMG, CRM, or NVDA.
Outputs
- Live peer set for the target company
- Valuation multiples per ticker: P/E, P/S, EV/EBITDA, PEG, revenue growth, and margins
- Recent catalysts per company (earnings, guidance, analyst rating moves)
- Relative-valuation verdict vs. peer median
- Interactive comps table and EV/EBITDA chart
- Persisted run history in the Chainlit dashboard
How it works
A 4-phase pipeline.
- Discover peers Nimble search (general focus, include_answer=true) returns an AI-synthesized list of public peers for the target ticker.
- Pull financials Nimble extract fetches each Finviz quote page; parse.py deterministically pulls P/E, forward P/E, P/S, EV/EBITDA, PEG, revenue growth, margins, ROE, and analyst actions using regex.
- Find catalysts Nimble search (news focus) retrieves recent dated earnings reports, guidance updates, and analyst rating changes for each ticker.
- Assemble and deliver Claude curates the final peer set and writes the verdict; the run is saved to Supabase and the Chainlit dashboard shows the comps table, chart, and verdict, then accepts follow-up questions that trigger additional Nimble calls.
Stack
- extract Fetches each Finviz quote page and returns rendered content for deterministic parsing of valuation multiples and analyst actions.
- search Discovers peer companies (general focus, include_answer=true) and retrieves recent catalysts per ticker (news focus).
- Python 3.9+ Runtime language.
- LangGraph ReAct agent loop that orchestrates Nimble tool calls and the structured-extraction pass.
- claude-sonnet-4-6 Drives the agent loop, curates the peer set, and writes the relative-valuation verdict.
- Chainlit Live dashboard with step streaming, comps table, EV/EBITDA chart, and follow-up Q&A.
- Supabase Persists every analysis run for history and reopen.
- pandas + plotly Data manipulation and chart rendering.
