Investment research·Case study

StockResearchAgent

A five-agent research system that gathers financial statements, market news, technical signals, and investor sentiment in parallel to generate an explainable buy/hold/sell report.

~30sReport generation
5Parallel agents
$0.0003Avg cost per report

Overview

Investment research requires gathering information from multiple independent sources including financial statements, company fundamentals, market news, and investor sentiment. This project automates that workflow using multiple AI agents working in parallel to generate comprehensive research reports.

Problem

Retail investors spend hours switching between finance websites, news platforms, and earnings reports before making investment decisions. There was no single system capable of consolidating all this information into an explainable AI-generated report.

Solution

Built a five-agent research system where each AI agent specializes in one domain. Instead of sequential processing, agents execute in parallel, significantly reducing response time. The final recommendation is generated only after aggregating outputs from all research agents.

Architecture

Ticker | v Planner | +-------+-------+-------+-------+ v v v v v News Financial Technical Sentiment Company Agent Agent Agent Agent Agent | | | | | +-------+-------+-------+-------+ | v Aggregator | v Buy / Hold / Sell Report
1

Planning & dispatch

Ingestion
stage_1_output

A ticker symbol enters the graph and a planner dispatches it to all five research agents at once, instead of routing it through a single sequential pipeline.

2

Parallel research agents

Concurrent execution
stage_2_output

Five specialized agents run concurrently, each covering one research domain:

News AgentRecent headlines and market-moving catalysts
Financial AgentFundamentals and financial statement analysis
Technical AgentPrice action, indicators, and technical signals
Sentiment AgentInvestor sentiment across public sources
Company AgentCompany-level context and business overview
3

Aggregation & report

Response
stage_3_output

LangGraph reducers merge the five agent outputs into a single shared state. The aggregator only produces the final buy, hold, or sell report once every agent has reported back, with cost and latency tracked per report through LangSmith.

Key features

Parallel executionMulti-agent reasoningLangGraph reducersLangSmith observabilityCost trackingPortfolio-ready reports

Tech stack

PythonLangGraphFastAPIOpenAITavilyyfinanceLangSmith

Results

~30 second report generation

A full research report is generated in about 30 seconds despite querying five independent data domains.

Concurrent research streams

News, financials, technicals, sentiment, and company data are gathered in parallel instead of one after another.

~$0.0003 average cost per report

Low enough per-report inference cost to run continuously across a large ticker universe.

Frequently asked questions

Why use five parallel agents instead of one agent that gathers everything sequentially?

Investment research spans independent domains: news, fundamentals, technicals, sentiment, and company data. Running one agent per domain in parallel means total wait time is set by the slowest single agent rather than the sum of all five, which is what keeps full report generation to around 30 seconds.

What does each of the five research agents actually do?

The News Agent pulls recent headlines and catalysts, the Financial Agent analyzes fundamentals and financial statements, the Technical Agent evaluates price action and indicators, the Sentiment Agent gauges investor sentiment, and the Company Agent gathers company-level context. A planner dispatches the ticker to all five, and an aggregator merges their findings into a single report.

How does LangGraph coordinate parallel agents and merge their results?

Each research agent runs as an independent node in a LangGraph graph. LangGraph reducers combine their individual outputs into a single shared state, and the aggregator node only produces the final buy/hold/sell recommendation once every agent has reported back.

Does the Stock Research Agent work for tickers outside the US market?

Coverage depends on the underlying data sources. yfinance and Tavily both support a wide range of exchanges beyond the US, including listings relevant to UK, Australian, and Indian markets, though the depth of fundamentals and news coverage can vary by exchange and region.

Is the buy/hold/sell recommendation reliable enough to base investment decisions on?

The recommendation is generated only after all five agents report back, and every contributing input is traceable through LangSmith. That makes the output explainable and auditable, but it is a research aid that consolidates public information, not financial advice, and should be treated as one input into a broader investment decision.

What does the roughly $0.0003 average cost per report actually include?

It covers the LLM inference cost across all five parallel research agents plus the aggregation step for a single ticker report. Cost is tracked per report through LangSmith, which is what makes it practical to run continuously across a large ticker universe.

Let's Talk← All case studies
Invisigent