Contact Now
QuantMar 28, 2026

Parsing SEC Filings with FinBERT

Extracting sentiment alpha from 10-K and 10-Q reports.

The Alpha in the Text

Earnings calls and SEC filings are incredibly dense with corporate double-speak. Simple dictionary-based sentiment analysis (like counting the word "bad") fails completely in finance (e.g., "The company reduced its bad debt" is positive, but naive algorithms score it negative).

FinBERT Deployment

We used FinBERT, a specialized language model available on Hugging Face that was pre-trained specifically on financial text. We processed every 10-K and 10-Q filing released by the S&P 500 in the last 5 years.

We specifically extracted sentiment scores for highly subjective sections, such as "Management's Discussion and Analysis" and "Risk Factors".

from transformers import pipeline # Load specialized financial sentiment model sentiment_pipeline = pipeline("sentiment-analysis", model="ProsusAI/finbert") text = "We expect prolonged supply chain headwinds to materially impact Q3 margins." result = sentiment_pipeline(text) print(result) # Output: [{'label': 'negative', 'score': 0.98}]

We discovered a statistically significant correlation between negative semantic shifts in the language used in the "Risk Factors" section and underperformance in the subsequent quarter. This unstructured data signal was incorporated into our multi-factor equity model.