← Blog
Research Full period: 2000–2026 · 291 months

We stress-tested our factor claim. Here's what we found.

Our headline result is a factor: companies whose 10-K language stays most stable year-over-year have outperformed. Over the full 2000–2026 period, the lowest-language-change quintile earns 93.2 bps/month (t=9.16) after a five-factor + quality adjustment. Before putting that number in front of anyone, we wanted to know whether it was real signal or an artifact of how we built the test. So we tried to break it three ways.

The short version: it holds. The most interesting part is how it holds — the alpha gets larger, not smaller, as we control for more factors. Here's the work.

Test 1: Does it survive factor adjustment?

The first worry with any return claim is that it's just a repackaging of a factor you already get paid for — small-cap, value, momentum, or quality. To check, we sorted every company into quintiles by language-change score each month (1-month lag, CIK-deduped) and regressed the most-stable quintile's returns against progressively richer factor models. If the alpha is a factor proxy, it should shrink toward zero as we add controls.

Factor model controls for Q1 (stable) alpha Q1–Q5 long/short
FF3 — market, size, value 80.0 bps (t=7.77) 59.5 bps (t=4.90)
FF4 — + momentum 83.4 bps (t=8.15) 50.7 bps (t=4.48)
FF5+QMJ — + quality (AQR) 93.2 bps (t=9.16) 38.9 bps (t=3.47)

The long-side alpha doesn't shrink — it rises, from 80.0 to 93.2 bps/month, as we add momentum and quality. That's the opposite of what a factor proxy does. The quality control (QMJ) in particular matters: a skeptic's first guess is "stable-language companies are just high-quality companies, and you're picking up the quality premium." If that were true, adding QMJ would absorb the alpha. Instead it grows. The signal is capturing something the standard factors don't.

The long/short spread does the opposite — it compresses (59.5 → 38.9 bps) as factors are added — which is the honest part of the picture: most of the short-side juice is explained by size and momentum. That's why we lead with the long side, not the spread.

Test 2: Is it an artifact of the normalization?

Our score doesn't just count how much a filing's language changed. It weights each phrase by (1) how rare it is across the whole corpus (IDF) and (2) a per-period market baseline, so that a phrase everyone started using that year gets discounted. That's a lot of machinery — and machinery is where overfitting hides. If the alpha only exists because of a particular normalization choice, it isn't robust.

So we stripped it out: we reran the quintile sort on the raw, un-normalized year-over-year language change — no IDF, no market baseline — and the long-side alpha survives (≈99 bps/month raw before factor adjustment). The normalization sharpens the signal; it doesn't manufacture it. The underlying fact — stable-language companies outperform — is there in the rawest version of the measurement.

Test 3: How does it compare to the published precedent?

The closest academic precursor is Lazy Prices (Cohen, Malloy & Nguyen, 2020), which found that companies that change their 10-K text underperform — a long/short spread of roughly 18–45 bps/month. Our long/short numbers land right in and around that range (FF5 L/S 38.9 bps; FF3 L/S 59.5 bps), which is the reassuring result: an independent implementation on a different corpus and a different scoring method reproduces the known effect at a comparable magnitude.

Where we differ from Lazy Prices is which end carries the signal. In our data the durable, factor-proof alpha is concentrated on the long (stable) side — the part that grows with more controls — rather than the short spread. So the product leads with stability as a quality-style factor, and treats the short side as the weaker, more factor-explained half.

Test 4: Does survivorship inflate it?

The hardest challenge to any factor built on a live universe: the companies in it are the ones that survived. Our corpus is built from filers that still report, so names that delisted — bankruptcies, going private at a loss, forced takeouts — fall out of the backtest, and their absence flatters the long side. To bound it we rebuilt a corpus of 4,716 delisted companies and re-ran the sort, modeling each delisting as a total loss — a deliberate upper bound, since it ignores any value that was actually recovered.

Under that correction the long-side alpha shrinks substantially, and what survives is concentrated in small-caps: a micro-cap (<$300M) long/short of roughly 164 bps/month holds up, but above ~$300M market cap the ranking inverts — among larger, more liquid names, stable-language companies no longer lead. The binding constraint turns out to be liquidity, not survivorship. So we keep the claim narrow: this is a small-cap, in-sample research signal, not a tradeable all-cap factor.

A note on the other end: distress

The same score, read from its high end, is a distress screen. We're deliberately conservative about that claim: the evidence is statistical, not a stock-by-stock prediction. Moderately flagged companies reach a distress outcome about 1.2× the corpus base rate, and on a labeled set of named bankruptcies and FDIC takeovers the signal recalls 75% of crisis companies from a pre-event filing. The raw versus-SPY underperformance of flagged names is larger but is mostly the small-cap size effect, so we don't lead with it. The distress end is a screen; the long-side factor is the result.

Summary

Concern Finding
Is it just a known factor (size/value/momentum/quality)? No — Q1 alpha rises 80.0 → 93.2 bps/mo as factors are added (t up to 9.16).
Is it an artifact of the normalization? No — survives on raw, un-normalized language change (≈99 bps/mo).
Does it reproduce the published precedent? Yes — L/S 38.9–59.5 bps/mo sits in the Lazy Prices 18–45 bps range; the long side is the new part.
Does survivorship inflate it? Partly — correcting for delistings shrinks the long side and confines the surviving edge to small-caps (<$300M, ≈164 bps/mo L/S); above ~$300M it inverts. The claim is narrower, not broken.

Four ways to stress it: three it survived cleanly, and one — survivorship — that narrowed it. The most-stable-language quintile earns 93.2 bps/month net of five factors plus quality, the alpha strengthens rather than fades under controls, and it doesn't depend on the normalization machinery; correcting for delistings then confines the durable edge to small-caps. The honest headline is a real but narrow small-cap signal. Full methodology and factor tables are at /about.

Full methodology: /about and /faq.

Disclaimer: Research tool, not investment advice. Past performance of the backtest does not guarantee future accuracy.

This site uses a session cookie for authentication. We also use Plausible Analytics, a privacy-friendly, cookieless tool that collects no personal data and requires no consent under GDPR. See our Privacy Policy.