---
## What's new
**v2.1 (May 7, 2026)** — six shipped enhancements across the analysis stack:
- **Mode E (Earnings Preview/Review)** — new mode auto-detected in the D-7 ~ D+3 window around an earnings print. Preview covers consensus, beat/miss history, key questions, options-implied move, and pre-print position. Review covers actual vs consensus, guidance delta, key-questions answered, thesis impact, and post-print action.
- **Valuation Bridge (Mode C)** — a new section reconciles four anchors (DCF, Comps, Analyst Target, Our Base) into a single weighted fair value with the reconciliation logic shown.
- **Auto Delta Banner (all modes)** — when a prior snapshot exists, every report (A/B/C/D) prepends a banner showing R/R, target, and weighted-fair-value deltas plus risk/catalyst additions. Toggle off with `--no-delta`.
- **Mode B Macro Context** — peer comparisons now render 3–5 macro series with a per-peer narrative paragraph (light bundle, no Mode C-style sensitivity table).
- **Symmetric Peer Comparison (Mode C/D)** — peers fetched via an abbreviated yfinance pipeline (8 metrics, 24h cache) so peer cells are real Portal Grade B values instead of placeholder estimates.
- **Catalyst Timeline (Mode C)** — catalyst lists now render as Gantt-style horizontal bars across five categories (earnings, regulatory, product, macro, other), merged with peer catalysts where relevant.
---
## Why this exists
Most stock-research chatbots happily invent P/E ratios, hallucinate revenue, and cite sources that don't say what they claim. This agent is built on the opposite assumption.
> **Blank beats wrong.** If a figure cannot be verified against a primary source, it stays as `—`. No exceptions.
Five principles hold the system together:
| | Principle | What it means in practice |
|---|---|---|
| **1** | **Blank > Wrong** | Grade D values render as `—`. The model never fills a gap it cannot prove. |
| **2** | **No Source, No Number** | Every numerical claim carries a `[Filing]`, `[Portal]`, `[Calc]`… tag. |
| **3** | **Company-Specificity** | Variant views must fail the competitor-replacement test — generic analysis is worse than none. |
| **4** | **Adaptive Data** | Enhanced (MCP) when keys are live, Standard (web) when they aren't. Both ship. |
| **5** | **Mechanism Required** | Every risk has a causal chain: `event → P&L impact → stock price`. |
---
## What you get
Type a ticker. Get a buy-side note — not a chatbot summary.
🇺🇸 US Stocks
SEC-grade financials
Financial Datasets API unlocks Grade A data: live price, 8-quarter statements, insider transactions, and filings — straight from the source of record.
|
🇰🇷 Korean Stocks
DART-grade financials
DART OpenAPI pulls regulator-filed statements directly. Naver Finance, FnGuide, and KIND layer on real-time market context.
|
🧠 Analysis Layer
Buy-side discipline
Scenario analysis, Variant View, precision risk, DCF + Reverse DCF (implied growth), peer comparison — every number shipped with a confidence grade and source tag.
|
What lands in the report:
- 📊 **Scenario analysis** — Bull / Base / Bear with a probability-weighted `R/R Score`
- 🎯 **Variant View** — where the market is wrong, backed by company-specific evidence
- ⚠️ **Precision Risk** — event → P&L impact → stock price effect (no hand-waving)
- 🔖 **Source-tagged data** — every number traces back to its origin
- 🇰🇷 **Korean market overlay** — foreign ownership, value-up policies, disclosure flow
---
## Workflows
Built for research, not quote lookups. One natural-language prompt routes into the right workflow:
| Workflow | Use it for | Example prompt | Primary output |
|----------|------------|----------------|----------------|
| Single-stock analysis | default deep research on one ticker | `Analyze NVDA` | Mode C dashboard |
| Quick screen | a fast first pass before deeper work | `Analyze AAPL in Mode A` | Mode A briefing |
| Peer comparison | ranking 2-5 names under one framework | `NVDA vs AMD vs INTC` | Mode B comparison |
| Investment memo | a formal, shareable write-up | `AAPL investment memo` | Mode D DOCX |
| Earnings preview / review | the D-7 ~ D+3 window around an earnings print | `GOOGL earnings preview` / `AAPL Q1 review` | Mode E HTML |
| Watchlist / delta | monitoring what changed since the last run | `Scan my watchlist` / `Compare NVDA to the last analysis` | refreshed artifacts + delta context |
> Need just a quote? Use a market-data app. This repo is built for the work that comes *after* the price check.
---
## Output Modes
Not sure which to pick? Start with **Mode C** — it's the default full-analysis path.
| Mode |
Choose This When |
What You Get |
Best For |
Example |
A — Quick Briefing Fastest pass |
You want a first screen before spending time on a full write-up. |
HTML verdict card 180-day catalyst timeline 3 KPI tiles |
Fast triage and go / no-go decisions |
Open example |
B — Peer Comparison Relative ranking |
You need to compare 2-5 names under one consistent framework. |
HTML comparison matrix R/R ranking best-pick call |
Choosing the strongest name in a peer set |
Open example |
C — Deep Dive Dashboard Default mode |
You want the main investment case, valuation, risks, and strategy in one view. |
HTML dashboard KPIs, charts, valuation, macro, scenarios |
Day-to-day deep research |
Open example |
D — Investment Memo Most formal |
You need a shareable long-form document for review, discussion, or archive. |
DOCX memo 3,000+ word structured note full thesis + appendix |
Formal write-ups you can circulate |
Open example |
E — Earnings Preview / Review Earnings window only |
You're in the D-7 ~ D+3 window around an earnings print and need a focused preview or review — not a full Mode C rerun. |
HTML preview or review consensus + key questions options-implied move (Preview) actual vs consensus + thesis impact (Review) |
Trading the print: pre-position before earnings or judge the print after |
Preview pending — generated locally |