FinBERT vs Loughran-McDonald vs LLMs: which financial sentiment engine should you use?
- Loughran-McDonald is a finance-specific word list. It is transparent, auditable, free, and fast, which makes it ideal for scoring a whole universe of filings. It misses negation, context, and sarcasm because it just counts words.
- FinBERT is a transformer fine-tuned on financial text. It reads context far better than a dictionary and returns a clean positive/negative/neutral label, but it is a fixed 3-class model, harder to audit, and needs more infrastructure.
- LLMs (Claude, GPT) handle negation, nuance, and aspect-level sentiment best and are flexible by prompt, but they cost more per document, run slower, and are less deterministic.
- There is no single winner. Match the engine to the job: dictionary for auditable scale, FinBERT for balanced classification, an LLM for nuance and 'why'. In practice you layer them - cheap first pass across the universe, LLM on the shortlist.
Sentiment is one of the oldest signals in quantitative research and one of the easiest to do badly. The moment you move from a handful of names to a whole universe of 10-Ks or a full season of earnings calls, the question stops being "is this positive or negative?" and becomes "which engine do I trust to score thousands of documents, and can I defend the result to a client?" Three approaches dominate. None of them is best at everything.
What each one actually is
The Loughran-McDonald dictionaryis a finance-specific set of word lists published in 2011, built precisely because general-purpose sentiment dictionaries mislabel financial text. A general lexicon flags "liability", "tax", "cost", and "capital" as negative; in a filing they are usually neutral accounting terms. LM scores a document by counting words against curated lists (negative, positive, uncertainty, litigious, and modal-strength categories). It is a bag-of-words method: no grammar, no context, just counts.
FinBERTis the BERT language model fine-tuned on financial text (commonly the Financial PhraseBank). Instead of counting words it reads the sentence, so it understands that "revenue fell less than feared" is not simply negative. It returns one of three labels - positive, negative, or neutral - with a confidence score.
LLMs(Claude, GPT, and peers) are general models you steer with a prompt. They were not built for finance sentiment, but they handle negation, hedging, and context better than anything else, and they can do things the other two cannot: score sentiment about a specific topic ("how did management sound about margins, specifically?"), explain their reasoning, and adapt to a new task without retraining.
How they compare
| Dimension | Loughran-McDonald | FinBERT | LLM (Claude/GPT) |
|---|---|---|---|
| Approach | Word-count dictionary | Fine-tuned transformer | Prompted general model |
| Context / negation | None | Good | Best |
| Aspect-level (topic-specific) | No | No | Yes |
| Transparency / auditability | High (you see every hit) | Low (black box) | Medium (rationale in the prompt) |
| Cost per document | Effectively zero | Low | Higher |
| Speed at scale | Fastest | Fast | Slowest |
| Determinism | Fully deterministic | Deterministic | Variable (temperature, versions) |
| Customizability | Edit the word lists | Requires retraining | Change the prompt |
Where each one wins
- Loughran-McDonaldwhen you need to score the entire universe cheaply and defend the method. If a client or a compliance review asks "why did this filing score negative?", you can point at the exact words. Its weakness (no context) matters less across thousands of documents where errors wash out.
- FinBERT when you want a clean, finance-aware classification and the three-label output fits your workflow - tagging news headlines, bucketing transcript passages, building a labeled dataset. It is the balanced middle option.
- An LLMwhen the question is nuanced or aspect-specific: the tone gap between prepared remarks and the Q&A, hedging language on a particular risk, or a sentiment read on one segment rather than the whole document. Also when you need the model to explain itself.
The practitioner's take: layer them
Framing this as a single choice is the mistake. The engines sit at different points on the cost-versus-nuance curve, so the strongest setups use more than one. A common pattern: run the cheap, deterministic dictionary or FinBERT pass across the full universe to rank and filter, then spend LLM tokens only on the shortlist that survives, where nuance and a written rationale earn their cost. You get breadth from the cheap engine and depth from the expensive one, without paying LLM prices on names you were going to discard anyway.
This is exactly the kind of logic Cutonce is built to express: chain a dictionary or model-based sentiment node across your universe, filter, then route the survivors to an AI node for the deeper read - and keep every step explicit and editable. The point is not that one engine replaces your judgment; it is that you decide which tool runs where.
Note: model behavior changes with versions and prompts. Treat any sentiment score as one input to a process you control, not an answer. Validate on a labeled sample from your own universe before you rely on it.
Frequently asked
Is an LLM just better than FinBERT now? For nuance and aspect-level questions, yes. For scoring a large corpus deterministically and cheaply, no - FinBERT and the LM dictionary still win on cost, speed, and reproducibility.
Which should I use for earnings-call sentiment? If you want a defensible tone score across every call, start with a dictionary or FinBERT. If you care about management hedging or the prepared-remarks-versus-Q&A gap, use an LLM on those passages.
Why not just use a general sentiment API? Because it will mislabel financial vocabulary. That mislabeling is the entire reason Loughran-McDonald exists.