edgar-sentiment
How it works

Methodology

What we score, what we leave alone, and why MD&A is a biased but useful place to look for tone that should line up with the statements.

What we score

For each recent 10-K or 10-Q we extract Management's Discussion and Analysis only:

Sentences are scored with FinBERT (ProsusAI/finbert), a finance-tuned model. Long MD&As are subsampled (evenly spaced, up to ~220 sentences) so an 80-page Item 7 is not fully scored. The filing score is the mean of sentence scores (positive − negative).

Numbers come from SEC companyfacts XBRL for the same accession: year-over-year change in revenue and net income. Agreement means tone and the metric moved in the same direction. This is same-filing comparison, not a forecast or trading signal.

Which parts of a filing are more biased?

SectionBias tendencyIn this project?
MD&A (Item 7 / 2)Most management-controlled narrative. Forward-looking language often sounds more optimistic than the historical results discussion.Yes — primary corpus
Item 1A Risk FactorsLegally conservative, systematically negative, heavy boilerplate. Scoring at scale looks “bearish” even in good years.Bias demo only (few filings)
Item 1 BusinessDescriptive, low discretionNo
Financial statements / notes / auditorConstrained or templated; the “numbers” sideNumbers via XBRL only
Earnings releases / shareholder lettersOften more promotional than MD&ANo

Generic positive/negative word lists fail in finance (e.g. “liability”, “risk”). That is why we use FinBERT rather than a general lexicon.

MD&A vs Risk Factors (live demos)

A handful of 10-Ks also get Item 1A scored so you can see the section bias without storing a second full S&P 500 corpus.

No bias demos synced yet. After scoring filings locally, run push_all() with the service role key.

Free-tier data grain

The live site reads industry and company aggregates from Supabase Free (500 MB database). Full MD&A text and FinBERT runs stay on a local worker. Cloud storage holds:

Company Pearson r with n≈8 is weak. Prefer industry pooled r as the headline, and treat company rankings as illustrations with the sample-size caveat.