◇ Investment Research Agent Python · Claude · EDGAR · yfinance · Postgres Project Blueprint
Equity Research

Six hours of research, run in parallel.

Ask in plain language and five data agents go out at once — filings, earnings, market data, news, macro. Three analysis passes work over what comes back, a corroboration check flags whatever the sources disagree on, and every claim in the report links to where it came from.

Below, the research run, the five sources, and how it's built.
01

The Research Run

One query in. Five sources at once, three kinds of analysis over what they return, and a corroboration check before any of it reaches the report.

01 ask 02 collect · in parallel 03 analyze 04 check 05 report Your query plain language orchestrator selective dispatch SEC filings Earnings Market data News & sentiment Macro indicators Quant analysis Qualitative synthesis Risk factors corroboration every claim cited Report 📄 low confidence Flagged for review
you ask runs automatically comes back to you
01
Ask
A company, a sector, or a thesis, in plain language.
🔄
02
Dispatch
The orchestrator picks which sources the question needs.
📡
03
Collect
Filings, earnings, market data, news, macro — all at once.
📊
04
Analyze
Quant, qualitative, and risk passes over the same data.
05
Corroborate
Do the sources actually agree with each other?
corroborated → cited report
low confidence → flagged for review
02

Inside Each Step

01 The query

An analyst types what they want to know — a company, a sector, a thesis to test. An orchestrator reads the intent and decides which sources the question actually needs, so a question about this week's coverage doesn't drag in a decade of filings and a macro pull. Fewer sources, faster answer, same rigour where it matters.

Claude API · orchestration and selective dispatch
📡

02 Collect, in parallel

Five specialised agents run at the same time rather than in a queue: filings from EDGAR, quarterly EPS history with beats and misses and the next reporting date, price history and valuation multiples, recent news with sentiment scored, and the macro series that frame the whole picture. This is the step that turns an afternoon into a few minutes — the work was never hard, it was just serial.

SEC EDGAR · yfinance · FRED · news and sentiment
📊

03 Three kinds of analysis

The same collected data gets read three different ways. A quantitative pass computes ratios, trends, and anomalies. A qualitative pass interprets management tone and strategic direction — the part of an earnings call that never shows up in a number. A risk pass pulls the risk factors out of the filings and news and sorts them into categories.

Claude API · quant · qualitative · risk extraction

04 Corroborate before publishing

Findings are checked against each other across sources before anything is written up. Where the sources agree, confidence is high and the claim stands. Where they contradict each other or only one thin source supports a conclusion, it gets flagged for the analyst rather than quietly averaged into a confident sentence.

confidence scoring · contradictions surfaced, not smoothed
📄

05 The report

A structured research report where every claim links back to the filing, figure, or headline it came from. Each run is persisted, so the same query re-run next week becomes a comparison rather than a fresh start — and the report lands in Slack where the desk already is.

Postgres run history · Slack delivery · REST access
The part that makes it usable

A number without a source is a liability.

Research nobody can check is research nobody can act on — and a plausible, fluent, unsourced paragraph is worse than no paragraph, because it reads like work that was done. So citation isn't a formatting nicety here, and neither is the corroboration gate: together they're what lets an analyst put their own name on the output.

03

The Five Sources

Each agent owns one source and knows its shape. The orchestrator activates only the ones a given question needs.

FILINGS
SEC EDGAR

Annual and quarterly reports plus material event disclosures. The primary record — slow to arrive, but the thing everything else is ultimately checked against.

EARNINGS
Quarterly results and surprises

EPS history, beats and misses against expectations, and when the next print lands. The surprise pattern often says more than the absolute numbers.

MARKET
Prices, fundamentals, multiples

Price history and valuation multiples, which is what turns a good business into a question about whether it's a good position at this price.

NEWS
Recent coverage, sentiment scored

The fastest-moving input and the least reliable one — which is exactly why it's corroborated against filings rather than trusted on its own.

MACRO
Rates, inflation, the wider series

The backdrop a single-name thesis lives inside. Cheap to include, expensive to have ignored when the whole sector was moving for one reason.

04

Architecture

One orchestrator, three layers of agents underneath it, and a gate before anything is written up.

Orchestrator

Claude API · intent reading · dispatch

Interprets the query and decides which agents run. Everything below it is fan-out and fan-in around this one decision.

In parallel

Collection agents

filings · earnings · market · news · macro

Five agents, one source each, running simultaneously. One slow source delays the run; it doesn't block the other four.

Over the same data

Analysis agents

quant · qualitative · risk

Three passes over what came back, each answering a different kind of question about the same underlying evidence.

Before it ships

Corroboration

cross-source agreement · confidence scoring

Compares findings against each other and scores confidence. Disagreement becomes a flag rather than an average.

Report and storage

Postgres run history · Slack · REST access

Every claim carries its citation into a structured report. Runs are persisted, which is what makes the same query repeatable as a weekly tracker rather than a one-off.

05

How It's Built

Six modular blocks. Sources and delivery swap per client; the fan-out and the gate don't.

01

Orchestrator

dispatch

Reads the query and picks the sources.

02

Collection agents

sourcing

Five feeds pulled at the same time.

03

Analysis agents

reasoning

Quant, qualitative, and risk over one dataset.

04

Corroborator

confidence

Checks the sources against each other.

05

Citation layer

traceability

Binds every claim to where it came from.

06

Store & delivery

output

Run history kept, report sent where the desk is.

06

Stack

Python Claude API SEC EDGAR yfinance FRED PostgreSQL Supabase Slack