Filing language diff: reading what a company quietly reworded

Companies rewrite their annual and quarterly filings each period, and most of the text stays identical year after year. The filing language diff finds the parts that did not: it compares a company's two most recent filings of the same type, section by section, and shows you which sentences were added and which were removed.

Why anyone reads filings for wording changes

A 10-K is an enormous document, and companies do not write a fresh one each year. They start from last year's and edit it. That means the edits themselves carry information: management chose, deliberately and with lawyers present, to change how they describe something.

The two sections worth watching are the risk factors — where a company lists what could go wrong — and the MD&A, management's own discussion of the results. A newly added risk factor is a company telling you, in writing, that something it did not previously worry about now worries it enough to disclose.

Academic work has found that year-over-year language changes in these sections carried predictive information historically — the best-known result is Cohen, Malloy and Nguyen's "Lazy Prices" (Journal of Finance, 2020), which argues the market systematically under-reacts to filings that changed. We surface the diff because it is genuinely useful reading. We do not claim that result for ourselves, we have not backtested it here, and this tool feeds none of our forecasts.

Exactly what we compare

We take the two most recent filings of whichever form you asked for and compare them against each other. For a 10-K that is a year-over-year comparison; for a 10-Q it is quarter-over-quarter. If a company has fewer than two filings of that form on record, you get an honest empty result rather than a comparison against something else.

Within each filing we extract two named sections: Risk Factors (Item 1A) and MD&A (Item 7 in a 10-K, Item 2 in a 10-Q). If a section cannot be reliably located in either document, it is silently omitted rather than guessed at — we would rather show you one section than two, one of which is wrong.

We then produce two things. First, a similarity score. Second, an actual list of the sentences that were added and removed — up to five of each, the longest ones, on the reasoning that a substantial new paragraph matters more than a comma. Both source filings are always linked, so you can read the originals rather than take our word for anything.

How the similarity score works (the real formula)

The score is a TF-IDF cosine similarity, a decades-old standard technique, and it is worth understanding because the number is otherwise meaningless.

TF-IDF stands for term frequency × inverse document frequency. Each section of text is turned into a long vector of numbers, one slot per word. A word's value in that slot goes up the more often it appears in this text (term frequency) and down the more common it is across the documents being compared (inverse document frequency). The second half is the clever part: it stops ubiquitous words like "the" and "company" from drowning out distinctive ones like "recall" or "impairment."

Cosine similarity then measures the angle between the two resulting vectors: cosine similarity = (A · B) ÷ (‖A‖ × ‖B‖), where A · B is the dot product and ‖A‖ is the length of vector A. The result runs from 0 (no shared vocabulary at all) to 1 (identical). Using the angle rather than the distance means a longer filing is not automatically scored as "different" simply for being longer.

Read a similarity of 0.95 as "almost entirely unchanged" and 0.60 as "substantially rewritten." There is deliberately no threshold at which we declare a change "material" — that judgement is yours, and a tool that pretended to make it for you would be overstepping.

A worked example (illustrative)

Example (illustrative — an invented company, not a real filing). A manufacturer's Risk Factors section comes back with a similarity of 0.91 — high, so most of the section is untouched. But the diff surfaces one added sentence: a new paragraph about dependence on a single overseas supplier for a critical component.

The similarity score alone would have told you almost nothing: 0.91 reads as "basically the same document." The sentence-level diff is where the information is. A company that has just added supplier-concentration language to its risk factors has told you, in a legally-reviewed document, that this is now a thing it worries about. That is a prompt to go and understand the supply chain — not a sell signal, and not a number to plug into anything.

The reverse case is just as instructive. A similarity of 0.62 sounds alarming until you open the diff and find the company reorganised its risk factors into new subheadings and rewrote the boilerplate on cybersecurity that every company in the index rewrote that year. Large change, no news. This is why we always show you the sentences and always link the source documents.

When the language diff misleads you

Boilerplate churn is the dominant source of noise. Companies rewrite standard legal language in response to new regulation, new auditor guidance, or simply a new law firm. That produces a genuinely low similarity score and tells you nothing about the business. The score cannot distinguish a lawyer's rewrite from a confession.

A change has no direction. The diff shows that something changed, never whether it is good or bad. A company removing a risk factor might have genuinely resolved the risk — or might have decided to stop mentioning it. Both look identical here. Only reading the actual sentences, in context, in the linked source filing, resolves that.

Section extraction can fail quietly. These are unstructured documents with inconsistent formatting, and our extractor works by locating item headings. When it cannot find a section confidently in both filings, that section simply does not appear. An absent section means "we could not reliably extract this," not "nothing changed."

And a summary line is a summary. Where a one-line description of the changes appears, it is generated strictly from the added and removed sentences we actually found — it invents nothing — but it is still a compression of a complex document, and compressions lose things. The source filings are linked for a reason.

Frequently asked questions

What is a filing language diff?

A comparison of a company's two most recent filings of the same type — year-over-year for a 10-K, quarter-over-quarter for a 10-Q — showing which sentences were added and removed in the Risk Factors and MD&A sections, plus a similarity score for each section.

How is the similarity score calculated?

By TF-IDF cosine similarity. Each section is converted into a vector weighted by how often each word appears and how distinctive it is, and the score is the cosine of the angle between the two vectors: (A · B) ÷ (‖A‖ × ‖B‖). It runs from 0 (nothing in common) to 1 (identical).

Does a big language change mean I should sell?

No. The diff has no direction and carries no verdict. Companies rewrite boilerplate for legal and formatting reasons constantly. It tells you where to look in the source filing, which is always linked — it does not tell you what to conclude.

Does the filing language diff affect Quantustik's forecasts or signals?

No. It is a reading aid over public SEC documents and feeds none of our conviction, verdict or forecast logic. We surface it because it is useful to read, not because we have backtested a trading edge in it.

See it on a ticker

Browse all S&P 500 tickers to see this metric applied to individual companies.

Related terms

Educational research only — not investment advice.