Methodology
How stocks-llm turns official filings and market data into the company profiles, rankings, and answers you see — what is sourced directly, what the language model does, and, just as importantly, what it is not allowed to do.
Data last updated 2026-07-17.
Where the facts come from
Every number on stocks-llm is grounded in real data and carries its source and an as-of date — figures are never invented. Two primary sources back the catalog:
- SEC EDGAR — company filings (10-K, 10-Q, 8-K), XBRL financial facts, insider transactions (Form 3/4/5), and the identity data used to resolve each company. The source of truth for what a company reports.
- Finnhub — prices, fundamentals, and market data. Prices are delayed daily-close values, labeled with their as-of date; stocks-llm does not provide real-time or intraday prices.
Congressional-trade disclosures come directly from the U.S. House Clerk's STOCK Act periodic transaction reports, and macro context from FRED. Each is shown with its source and date.
What the LLM does
A language model (Anthropic Claude Haiku) is used for two bounded jobs, always over the real underlying data rather than as a source of facts:
- Profile enrichment — reading a company's filings and fundamentals to write a plain-English business summary, a one-line pitch, themes, and key risks. These are model-synthesized text, labeled as such in the data provenance shown alongside them.
- Natural-language matching — interpreting your query ("profitable AI-exposed large caps", "medical companies working on diabetes") and mapping it to real companies and structured filters, then explaining the match using the real, dated figures already stored.
What the LLM does NOT do
The model never fabricates the facts a decision would rest on. Deterministic guards run over every answer before it reaches you (SPEC answer-integrity work):
- No invented tickers. Only real companies in the catalog, returned by a database query, are ever recommended or shown as a card. A company the model merely mentions for context never becomes a recommendation card.
- No invented numbers. A numeric claim in the answer text (an insider buy count, a Congressional-trade count, a dividend streak) is checked against the real data for that company; a figure that does not match the underlying data is stripped rather than shown.
- No contradictions. An answer cannot both claim "no dividend history" and display a dividend streak, or call a negative P/E "low" — those internally-inconsistent claims are caught and suppressed.
- No silent substitutions. If you ask for a metric the catalog does not store, the answer discloses the substitution rather than quietly answering a different question.
When a company you ask about is not in the catalog, stocks-llm says so plainly — "not currently covered" — rather than inventing a profile or a reason for the absence.
How often the data refreshes
An in-app scheduler runs each source on its own cadence; an independent watchdog flags a source as stale if it goes past the freshness threshold below (the actual values the running system uses). Every user-facing figure keeps its as-of date, so delayed or stale data is always visible as such.
| Data source | Provider | Refresh cadence | Flagged stale after |
|---|---|---|---|
| Prices & core metrics | Finnhub | Daily (after market close) | 2 days |
| Company news | Finnhub | Daily | 2 days |
| SEC filings (10-K / 10-Q / 8-K) | SEC EDGAR | Daily submissions check | 2 days |
| Profile enrichment (LLM) | SEC + Finnhub data → LLM | Filing-triggered, daily queue | 8 days |
| Analyst signals | Finnhub | Periodic | 10 days |
| Insider trading (Form 3/4/5) | SEC EDGAR | Rolling catalog rotation (~3 weeks/cycle) | 30 days |
| XBRL financial facts | SEC EDGAR | Weekly / monthly | 90 days |
| Universe membership | Index / SEC filer lists | Quarterly | 100 days |
| Congressional trades (STOCK Act) | U.S. House Clerk PTRs | Quarterly | 100 days |
| Macro context | FRED | Periodic | 40 days |
Coverage and enrichment vary by company — some figures are missing where a source does not report them (shown as "n/a", never guessed).
Related
About stocks-llm · Financial glossary · llms.txt (for AI agents) · SEC EDGAR
Informational only — NOT financial advice. stocks-llm is a discovery and research aid, not a recommendation to buy or sell anything. Market data is delayed daily-close, not real-time. Figures may be missing, stale, or incorrect, and coverage varies. Always verify information independently against primary sources and consult a qualified financial professional before making any investment decision.