About edgar-explorer

edgar-explorer is an interactive analytics surface over the standard academic EDGAR-CORPUS dataset of SEC 10-K filings, scored with the canonical Loughran-McDonald financial sentiment dictionary.

Universe

Current S&P 500 constituents with continuous 10-K history (companies lacking a 10-K across the window are dropped: post-IPO gaps, spin-offs without a merged predecessor CIK, fiscal-year shifts). We ingest and analyse the last ~10 fiscal years, FY2015 through FY2025: FY2015-FY2020 from EDGAR-CORPUS and FY2021-FY2025 straight from SEC EDGAR (see “Recent filings” below). Recent years may include a few names outside the continuous-history S&P 500 set (e.g. semiconductor watchlist).

Data sources

EDGAR-CORPUS

Loukas, L., Fergadiotis, M., Androutsopoulos, I., & Malakasiotis, P. (2021). EDGAR-CORPUS: Billions of Tokens Make The World Go Round. In Proceedings of the 3rd Workshop on Economics and Natural Language Processing (ECONLP) at EMNLP 2021.

Distributed on Hugging Face as eloukas/edgar-corpus. Approximately 220,000 10-K filings between 1993 and 2020, with sections (Item 1, Item 1A Risk Factors, Item 7 MD&A, etc.) pre-extracted into individual fields. We ingest the FY2015-FY2020 window filtered to the S&P 500 universe via the open-source EDGAR-CRAWLER toolkit's data.

Recent filings (FY2021+)

EDGAR-CORPUS ends at fiscal 2020, which omits topics that only became material afterward — most notably the semiconductor export controls the U.S. tightened from October 2022. To cover them, we pull recent 10-Ks directly from SEC EDGAR using the open-source edgartools library and extract the full narrative/qualitative section set (Items 1, 1A, 1B, 2-7A, 9-15). Item 8 (financial statements) is deliberately excluded — it is large and almost entirely numeric tables, so it adds little for text analysis. Items 1, 1A and 7 parse most reliably; some others (e.g. items incorporated by reference) may occasionally be empty. These rows share the same schema, CIK normalization, fiscal-year keying, and tokenization as the EDGAR-CORPUS rows, so sentiment and search treat both identically.

Loughran-McDonald Master Dictionary

Loughran, T., & McDonald, B. The Loughran-McDonald Master Dictionary. Software Repository for Accounting and Finance, University of Notre Dame. sraf.nd.edu.

The Loughran-McDonald dictionary is free for academic use only. For commercial use, contact the maintainers at loughranmcdonald@gmail.com.

The dictionary classifies words into seven categories: negative, positive, uncertainty, litigious, strong-modal, weak-modal, constraining. For each (filing, section), we count category hits and compute proportion = hits / word_count, stored in the sentiment_facts table at ingest time.

S&P 500 universe

Current constituents from Wikipedia's S&P 500 page, cross-referenced against SEC's authoritative company_tickers.json for ticker→CIK resolution. The harvester also maintains a list of CIK reorganizations (Dow/DuPont split, Disney holding-co reorg, Linde/Praxair merger, BLK 2024 re-registration, etc.) so historical filings under predecessor CIKs are correctly merged in.

Methodology notes

Validation

The precomputed sentiment facts the dashboards serve are checked for correctness by an independent re-implementation. pipeline/validate_sentiment.py re-tokenizes each sampled Item 1A section straight from the raw text and the LM dictionary, recomputes the negative-word proportion, and asserts it matches the value stored in sentiment_facts to within floating-point tolerance. It also prints the negative proportion for marquee filings (e.g. AAPL FY2020) so the numbers can be sanity-checked against published Loughran-McDonald reproductions. The check runs in CI whenever a database is available.

Related

For the spoken counterpart to these filings, see Subtext — a companion app that runs the same kind of analysis over S&P 500 earnings-call transcripts, speaker by speaker. Company and search pages here link across to the matching view on Subtext.

What's not here yet