Lexicon Sentiment and the Loughran–McDonald Dictionary
A sentiment dictionary is a linear classifier whose weights were fixed before any label was seen. Net tone projects a filing onto one direction of the category simplex and discards the other; length, contamination, and the sentences no word list can read set its ceiling; and as a prior for logistic regression the dictionary is worth about a thousand labeled filings
Overview & Motivation
Take the synthetic financial filings of the linear classifiers topic, labeled negative, neutral, or positive in tone, and score each one with a word list: count its positive words, subtract its negative words, divide by its length. With two cutpoints tuned on the training filings, this net tone gets of the test filings right. Logistic regression on all the word counts got . The dictionary uses no labels at all, apart from its two cutpoints.
Finance learned to distrust such lists the hard way. Loughran and McDonald (2011) found that in a large sample of 10-K filings, almost three-fourths of the words that the widely used Harvard-IV dictionary calls negative are not negative in a financial context: tax, cost, capital, liability, crude. Their finance word lists replaced Harvard-IV across the literature. This page treats a dictionary as what the previous topic would call it, a linear classifier with fixed weights, and asks what the fixing costs. In order:
- The category simplex. A dictionary places a document at its rates of positive and negative words, and net tone keeps one direction of that plane.
- Length. How many words a document needs before the sign of its score can be trusted.
- Contamination. What counting tax as negative does, exactly.
- What no word list reads. Directions, the valence trap, and negation.
- The dictionary as a prior. Shrinking logistic regression toward the dictionary instead of toward zero.
- Inducing a dictionary. Propagating polarity from a few seed words, and where that stops.
The corpus has a hand-written stand-in lexicon (positive, negative, uncertainty, and litigious lists of to words each). It is not derived from the Loughran–McDonald dictionary, whose license allows academic research but not redistribution here; every number on this page comes from the stand-in.
A dictionary reads a filing
Here are two sentences from one positive test filing, an MD&A section, with the stand-in’s words marked: “Operating margin in networkpoint was resilient. Liquidity in efficiency operations and multistores surpassed expectations.” Two positive hits, no negative ones. The same filing also says “Management pointed to loss in free cash flow,” one negative hit for a fact that is bad news, and “Estimates of fluctuations could change, and the claimbase outlook remains uncertain given variability in overpipe,” five uncertainty hits that say nothing about direction.
Definition 1 (Lexicon, counts, and net tone).
A lexicon is a family of disjoint word sets, here positive , negative , uncertainty, and litigious. For a document with count vector and length , the category counts are and , the rates are , the weight vector is , the raw score is , and the net tone is .
The raw score is a linear function of the counts with weights in , so a lexicon is a point of the previous topic’s hypothesis class that was chosen without data. Net tone divides by the length, which is Loughran and McDonald’s proportional measure, and the cutpoints turn it into a three-way decision.
The category simplex
Discard everything about a document except its rates. Then the document is a point in a small triangle, the simplex whose third corner is “everything else”. Net tone measures that point along the diagonal direction , so a net-tone rule cuts the triangle with lines parallel to . Whether that is the right cut depends on how the tones place their documents.
Suppose each tone draws every token’s category independently with rates , where covers every token that is in neither list, and draws the word within its category from a distribution that does not depend on the tone. Call this a category world. For two tones and , write
Proposition 1 (The Bayes rule of a category world).
Assume a category world with equal tone priors.
(a) The posterior depends on the document only through its category counts: with and free of . Divided by , every tone’s score is affine in , so the Bayes regions are cut by lines.
(b) Tones and are decided by a threshold on net tone if and only if .
(c) In the symmetric-tilt world with , , and its mirror image, where , the Bayes rule is: positive if , negative if , neutral otherwise, with . The positive-against-negative log-odds is .
Proof.
(a) A word of category has probability under tone , so is the multinomial coefficient, plus , plus . Only the middle term depends on , and with equal priors the posterior is the softmax of . Since , each score divided by is affine in the rates, and the boundary between two tones is the line .
(b) The pair’s log-odds divided by is . It is a function of alone on the open simplex if and only if its gradient is parallel to , that is, if and only if .
(c) Positive against neutral has , , and , so positive wins exactly when ; negative against neutral is the mirror image. Positive against negative has , , and , so its log-odds is . Since , we have and , and the three pairwise rules agree on the stated regions.
∎So net tone is the Bayes rule of a particular world, one in which a positive document trades negative words for positive ones symmetrically. With unequal priors the prior adds to each score, which becomes a length-dependent offset after dividing by , so even there a fixed cutpoint on net tone is only right for documents of one length.
The finance corpus is not that world. Positive filings have positive hits per tokens against in neutral ones, but negative hits against : a positive filing still reports some bad news. Fitting the category world’s rates to the training filings gives for positive against neutral, far from antisymmetric. Neutral filings are the ones with few polar words of either kind, and a band of diagonal lines cannot separate them from filings with many polar words in balance. The plug-in Bayes rule of the category world, which uses both counts, scores on the test filings, against net tone’s , close to logistic regression’s on every word. On this split the projection is most of the gap between the dictionary and the learned model; over the previous topic’s six random splits into training, development, and test filings (this page’s is the first), it is, on average, all of it. There the plug-in rule scores and logistic regression , a difference of in the plug-in rule’s favor, which is ahead on three splits of six. The two counts also leave little to find: on fresh filings, the best rule on at all, a table of the commonest tone for each pair, scores on more, the plug-in rule , and net tone with its best cutpoints . What separates the dictionary from the learned model is the projection, not the word list. The Simplex tab draws the filings and both rules.
Net tone p̂₊ − p̂₋ can only cut along the dashed diagonals, at the cutpoints -0.619 and 0.75 per 100 tokens. Neutral filings sit near the origin, with few polar words of either kind, and a diagonal band cannot separate them from balanced filings with many. The Bayes rule's boundaries (Proposition 1) are lines too, but they are not parallel to the diagonal. A few filings beyond 3.2 hits per 100 tokens are off the chart.
How long a document must be
Even in a world where net tone is right, a short document does not contain enough hits to decide. Model the tokens of a positive document as independent, each a positive hit with probability , a negative hit with probability , and neither otherwise, and let be the raw score of tokens.
Theorem 1 (Length and the sign of the score).
Let . Then (a) for every , and (b) as .
Proof.
(a) For , Markov’s inequality gives with . The function is strictly convex, with where , at , and there .
(b) Cramér’s theorem for the mean (formalStatistics: large deviations, Theorem 6; Dembo and Zeitouni, Theorem 2.2.3) has rate function . Because , the function is convex, vanishes at , and is finite and continuous on , so its infimum over equals its infimum over , which is . The upper and lower bounds of Cramér’s theorem therefore meet at .
∎The factor is the Bhattacharyya coefficient between the hit distributions of positive and negative documents, so is their squared Hellinger distance, and the error is small once is large. For the stand-in on positive filings, and , so . Positive filings average tokens, about expected hits, and at that length the bound is . That is loose: the exact error of the independent model is . The corpus is not independent tokens, since its tone lives in five to eight aspect sentences, yet on this split the measured share of positive filings with a raw score of zero or below is , which the independent model matches. That match is particular to this split. Over the six splits the measured share is , and this split’s is the largest of the six, while the independent model, at each filing’s own length, predicts . On average it overpredicts the error, because the corpus’s scores are less spread out than independent tokens would make them: their variance is of the independent model’s. Almost all of that comes from the positive count, whose variance is against for independent tokens. The two counts are slightly negatively correlated (covariance , against for independent tokens), and since the score is their difference, that widens it rather than narrowing it. Still, one positive filing in four or five is misread before any subtlety of language enters. A lexicon ten times denser would bring the error at the corpus’s tokens down to , which is why finance dictionaries are long. For small rates, ten times the density and ten times the length change the exponent identically, and the exact errors agree: at ten times the rates, at ten times the length. The Length tab plots the exact error and the bound for three presets.
When is a liability not a liability
What no word list reads
The corpus’s gold annotation records each aspect a sentence evaluates and its polarity for the company, and its templates tell us how each sentence was written. Restrict to the test sentences whose aspects share one nonzero polarity, and ask whether the sign of the sentence’s raw score matches it.
| construction | sentences | right |
|---|---|---|
| adjective (“margins were solid”) | ||
| direction with a comment (“rose 4 percent, a trend executives characterized as solid”) | ||
| bare direction (“costs rose 5 percent”) | (abstains) | |
| negated adjective (“revenue was not weak”) | ||
| verb, up is good (“sales beat expectations”) | ||
| verb, cost-like (“costs exceeded expectations”) | ||
| noun phrase (“Management pointed to strength in demand”) |
Overall the lexicon gets of these sentences right and abstains on . The failures are of two kinds. A bare direction and a cost-like “exceeded expectations” are the previous topic’s exclusive-or of aspect valence and direction: “costs rose” is bad news and “revenue rose” good news, written with the same word, and no fixed weight on single words can read both. Negation is different, because it can be patched with a scope rule.
Definition 2 (Negation scope).
With scope , a positive or negative hit at position counts for the other side if a negator (not, no, never) occurs among positions .
Das and Chen (2007) mark negated words in this way, and VADER (Hutto and Gilbert 2014) looks three tokens back. On this corpus, whose only negation template is “not” followed by an adjective, scope repairs all negated sentences, raising sentence accuracy to and three-class document accuracy from to . Wider scopes change nothing until , where flips land on words in the next sentence and document accuracy slips to . Real text negates in more ways and at more distances, so the scope is a trade-off there, not a free fix. The Constructions tab shows the table with and without the scope.
Loughran and McDonald’s other lists measure something other than polarity. Uncertainty words occur at , , and per tokens in negative, neutral, and positive filings: the same rate in every tone. Litigious words occur only in the 8-K filings, at per tokens. The rule “any uncertainty word means neutral” scores , far below net tone, and a logistic model on all four category rates scores , the same accuracy it gets from the two polarity rates alone. The two models are not identical: their predictions differ on of the test filings, and those differences cancel exactly in accuracy. Uncertainty is not neutrality; it is a separate dimension of the text.
The dictionary as a prior
A dictionary is free and a labeled filing is not. The previous topic’s logistic regression shrinks its weights toward zero; we can shrink them toward the dictionary instead. Let be a matrix of dictionary directions, either (net tone, ) or (the two counts, ), and give class the logit , so that its weight vector is . Fit by minimizing the mean cross-entropy plus , with no penalty on or .
Theorem 2 (Shrinking toward a dictionary).
Let have full column rank, let be the orthogonal projection onto the complement of its column space, and let .
(a) The fit is equivalent to minimizing the cross-entropy of plus , ridge on the part of each class’s weights orthogonal to the dictionary’s directions, with . In particular .
(b) At the optimum, for every class .
(c) If the limiting problem, softmax regression on the dictionary counts alone, has a nondegenerate minimizer (after fixing the common shift of the softmax), then the fitted probabilities converge to its probabilities as , uniformly on bounded sets, at rate .
Proof.
(a) The cross-entropy depends on only through . For a fixed , minimizing over the decompositions is least squares in , with minimum attained at .
(b) Setting the gradient in to zero gives . (Setting the gradient in to zero gives , which is the orthogonality of (a) again.) Since and , we get .
(c) For fixed , the optimal minimizes the convex function , and at its stationarity equations are those of the limiting problem. Nondegeneracy and the implicit function theorem give a smooth branch of minimizers near , and by convexity the optimum at lies on it, so is within of the limit. Every logit then moves by , and the softmax is Lipschitz, so by (b) the probabilities move by .
∎On the full training set, , while for the prior toward net tone is at most , so the constant in (b) is loose by a factor of at , its tightest, and about at ; for the two counts the factor is to . At the slack has two sources: cancellation of the terms across documents, a factor of about , and residuals well below , about . The largest gap between the fitted and limiting test probabilities falls from at to , , and at , , and : one decade of accuracy per decade of .
The learning curves set the price of the dictionary in labeled filings. Each column is a number of labeled training filings ; small average ten random samples, and every penalty is chosen on development filings.
| method | |||||
|---|---|---|---|---|---|
| dictionary, net tone | |||||
| dictionary, two counts | |||||
| logistic regression on the lexicon words | |||||
| logistic regression on every word | |||||
| prior toward net tone | |||||
| prior toward two counts |
The dictionary rows are flat, because they fit only a scale and two cutpoints. On this grid, plain logistic regression first matches the dictionary at , for both forms of it. But the grid jumps from to , and its and columns are one sample each. A finer grid, with ten random samples at each , counts the samples on which logistic regression matches or beats each form of the dictionary:
| labeled filings | ||||||||
|---|---|---|---|---|---|---|---|---|
| matches or beats net tone | ||||||||
| matches or beats the two counts |
So net tone is worth to labeled filings. The two counts are worth to on this split and about on average: over the six splits, at all filings, logistic regression only ties them, ahead by . Restricting the regression to the dictionary’s words, as Jegadeesh and Wu (2013) do with market reactions, climbs faster and ends at the same . The priors are never more than below the better of their two ends, and at filings the prior toward net tone beats plain logistic regression, to . That lead is not an artifact of the grid. Plain logistic regression chose , the top of its grid, on all six splits, but on a wider grid, from to , it scores , unchanged, and the prior toward net tone still leads it by , on all six. As a prior the dictionary is worth about a thousand labeled filings: with of them, the prior toward net tone scores on the same ten samples, which plain logistic regression reaches between and . Along the penalty path at , the prior’s accuracy rises from the dictionary’s at to at , then falls to at . Even there it is not ordinary ridge logistic regression, which scores at that : the prior never penalizes its dictionary directions. At equal the prior leads at each of ( against ), ( against ), and ( against ). All six methods remain well below the corpus’s full-text Bayes accuracy of , which needs the aspect structure that no bag of words sees. The Prior tab draws the curves and the path.
Inducing a dictionary
Loughran and McDonald built their lists by reading words in context. The alternative is to induce a list from unlabeled text: start from a few seed words of known polarity and spread polarity to words that keep their company (Hatzivassiloglou and McKeown 1997; Turney 2002; Hamilton and colleagues 2016). One way to spread it is to solve a Dirichlet problem on a word graph.
Let be a symmetric nonnegative matrix of edge weights on a vertex set , with seed values , degrees , and .
Theorem 3 (Harmonic polarity).
Suppose every vertex of is joined to some seed by a path of positive weight. Then (a) is positive definite, so the system has exactly one solution; (b) that solution is harmonic, for , and satisfies ; (c) , where is the probability that the random walk with steps , started at , reaches a positive seed before a negative one; and (d) clamped label propagation, which repeats and resets the seeds, converges to .
Proof.
(a) For on , . If it is , then is constant on each connected component of and vanishes at every vertex adjacent to a seed; every component contains such a vertex, so .
(b) The averaging identity is row of the system. Let and suppose . At a maximizer, is an average of neighbors’ values that are all at most , so every neighbor also equals ; following a path from to a seed reaches a seed of value , which is impossible. The minimum is symmetric.
(c) From every vertex the seeds are reachable, so the walk is absorbed almost surely. Conditioning on its first step gives on , with on positive seeds and on negative ones. Then is harmonic on with the boundary values , and by (a) it equals .
(d) The iteration is the Jacobi method for the system of (a). Its matrix is substochastic, and mass leaks to the seeds from every component, so its spectral radius is below .
∎Zhu, Ghahramani, and Lafferty (2003) introduced this solution for semi-supervised learning, and Doyle and Snell (1984) give the classical theory. On the corpus we build the graph from the training filings: one vertex per word type in at least filings ( types), edge weights equal to the positive part of the words’ pointwise mutual information across documents, and seeds strong, robust against weak, adverse. We report each word’s harmonic value centered at the median and divided by the standard deviation, a score .
The signs come out mostly right: of the other stand-in polar words in the graph land on their own side (), and over random choices of two positive and two negative seeds the median is . Positive filings contain more positive words, so positive words share documents with each other, and propagation finds that. The magnitudes are another matter. The polar words have mean of and , but the polysemes have : liability (), taxes (), crude (), and tax () land on the negative side, which reproduces part of the general list’s mistake. And the ten most positive words in the whole graph include just one lexicon word, strength; the rest are mostly sector words such as therapeutics and biosciences, along with on and headquartered, that happen to share documents with the seeds. Propagation is good at scoring a candidate list. It cannot choose the list, and choosing it is the curation Loughran and McDonald did by hand. The Induction tab plots every stand-in word’s score.
Where this sits
Dictionary tone entered finance with Tetlock (2007), who found that the Harvard-IV pessimism of a Wall Street Journal column predicts market returns. Loughran and McDonald (2011) showed that the same dictionary misreads 10-Ks and built the finance lists that replaced it, and their survey (2016) argues that a transparent list is worth some accuracy in research that others must replicate. Their lists also come with a tf–idf weighting, which formalRAG’s vector-space model topic derives; outside finance, Taboada and colleagues (2011) build lexicons with intensifiers and graded negation.
The next topic, aspect-based sentiment, attaches polarity to the aspect a sentence evaluates, which is what this page’s bare directions and cost-like verbs need. The capstone scores earnings calls with a dictionary and a learned model side by side.
Honest caveats
Implementation
The companion notebook (notebookPath) imports lexicon_sentiment_loughran_mcdonald.py, which owns every number on this page. That module imports the linear classifiers topic’s module for its train, development, and test split, its features, and its trust-region Newton fits, and the shared finance corpus through it. A harness of tests runs in about seconds on a laptop CPU, and --slow adds four checks that refit on all six of the linear classifiers topic’s random splits, on the finer learning-curve grid, and on fresh filings, about five minutes more. It checks:
- Proposition 1 against the literal multinomial likelihood in random category worlds and tilt worlds, and on the corpus; with
--slow, the plug-in rule against logistic regression on six splits and against the best count reader on fresh filings. - Theorem 1’s bound against the exact law of the score on instances, its exponent’s convergence, its prediction on the corpus and on all six splits, and the dense preset at the corpus’s length.
- Proposition 2’s exact moments on random instances, and the general list’s effect on the corpus, on all six splits with the cut at zero and re-tuned, and on the EDGAR excerpts.
- The example filing’s quotations, the construction table, the negation sweep, and the uncertainty and litigious profiles.
- Theorem 2’s orthogonality, bound, slack, and convergence for both dictionary subspaces, the learning curves, and plain logistic regression at the prior’s ; with
--slow, the finer curves and the wide grids. - Theorem 3’s uniqueness, maximum principle, label propagation, and a Monte Carlo random walk, and the induction on the corpus.
- That no file in the repository looks like the Loughran–McDonald dictionary.
The module also includes load_lm_dictionary(), which loads the real dictionary into the stand-in’s format if you supply a copy (set LM_MASTER_DICTIONARY, or opt in to a download into ~/.cache/formalnlp/lm/). Nothing on this page or in the harness depends on it. The laboratory reads its data from a JSON file that one of the harness’s tests requires to equal the module’s viz_payload() exactly, so the figure cannot drift from the code.
References & Further Reading
- paper When Is a Liability Not a Liability? Textual Analysis, Dictionaries, and 10-Ks — Tim Loughran and Bill McDonald (2011) Journal of Finance 66 (1): 35–65. Almost three-fourths of the Harvard-IV negative words in 10-Ks are not negative in financial contexts; six finance word lists, proportional and tf–idf weighted tone
- paper Textual Analysis in Accounting and Finance: A Survey — Tim Loughran and Bill McDonald (2016) Journal of Accounting Research 54 (4): 1187–1230. Dictionaries against machine learning in finance, and the case for transparency and replicability
- documentation Loughran-McDonald Master Dictionary w/ Sentiment Word Lists — Tim Loughran and Bill McDonald (2026) Software Repository for Accounting and Finance, University of Notre Dame. The 1993–2025 lists used by this page's opt-in loader; free for academic research, with commercial licenses from the authors
- paper Giving Content to Investor Sentiment: The Role of Media in the Stock Market — Paul C. Tetlock (2007) Journal of Finance 62 (3): 1139–68. Harvard-IV pessimism in a Wall Street Journal column predicts market returns, the study that brought dictionary tone to finance
- paper Word Power: A New Approach for Content Analysis — Narasimhan Jegadeesh and Di Wu (2013) Journal of Financial Economics 110 (3): 712–29. Weights for dictionary words estimated from the market's reaction, the support-only regression of this page's learning curves
- paper Yahoo! for Amazon: Sentiment Extraction from Small Talk on the Web — Sanjiv R. Das and Mike Y. Chen (2007) Management Science 53 (9): 1375–88. Lexicon-based classifiers for stock message boards, with negation marking
- paper VADER: A Parsimonious Rule-Based Model for Sentiment Analysis of Social Media Text — C. J. Hutto and Eric Gilbert (2014) Proceedings of the International AAAI Conference on Web and Social Media 8 (1): 216–25. A rule-based lexicon whose negation looks three tokens back, among other heuristics
- paper Lexicon-Based Methods for Sentiment Analysis — Maite Taboada, Julian Brooke, Milan Tofiloski, Kimberly Voll, and Manfred Stede (2011) Computational Linguistics 37 (2): 267–307. Semantic orientation calculators with intensifiers and negation shifts, and their cross-domain robustness
- paper Predicting the Semantic Orientation of Adjectives — Vasileios Hatzivassiloglou and Kathleen R. McKeown (1997) Proceedings of the 35th Annual Meeting of the ACL, 174–81. Polarity from conjunctions ("and" joins like orientations, "but" opposite ones), the first induced lexicon
- paper Thumbs Up or Thumbs Down? Semantic Orientation Applied to Unsupervised Classification of Reviews — Peter D. Turney (2002) Proceedings of the 40th Annual Meeting of the ACL, 417–24. A phrase's orientation as its PMI with "excellent" minus its PMI with "poor": two seeds
- paper Inducing Domain-Specific Sentiment Lexicons from Unlabeled Corpora — William L. Hamilton, Kevin Clark, Jure Leskovec, and Dan Jurafsky (2016) Proceedings of EMNLP 2016, 595–605. SentProp: random walks from seed words over an embedding graph, with bootstrapped confidence
- paper Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions — Xiaojin Zhu, Zoubin Ghahramani, and John Lafferty (2003) Proceedings of the Twentieth International Conference on Machine Learning, 912–19. The harmonic solution, its random-walk reading, and its relation to label propagation (Theorem 3)
- book Random Walks and Electric Networks — Peter G. Doyle and J. Laurie Snell (1984) Mathematical Association of America. Harmonic functions on graphs: uniqueness, the maximum principle, and escape probabilities (Theorem 3(a)–(c))
- book Large Deviations Techniques and Applications — Amir Dembo and Ofer Zeitouni (2010) 2nd ed., Springer. Theorem 2.2.3, Cramér's theorem in ℝ, which gives Theorem 1(b)