Anomaly Replication Lab
  • The zoo
  • Screener
  • Multiple testing
  • Correlations
  • Composite
  • Methodology
  • Guides
  • Resources
Sign in
Anomaly Replication LabSign in
  • The zoo
  • Screener
  • Multiple testing
  • Correlations
  • Composite
  • Methodology
  • Guides
  • Resources

Educational replication, not advice. Long-short returns are decile spreads or published factor series from the Kenneth R. French Data Library and AQR, value-weighted, US equities, and gross of transaction and shorting costs — which for high-turnover signals like short-term reversal is the whole story. Reproducing a premium in-sample is not evidence it will persist. Past performance does not predict future results.

© 2026 Austin Levenberg. All rights reserved. This site’s code, design, written analysis, and computed results are not licensed for reuse or redistribution — terms of use · privacy.

Data: Kenneth R. French Data Library, AQR Capital Management public data sets.

Part of austinlev.dev — four research tools, and a note on where this is headed.

Methodology

How this is built

Data

Everything is monthly and free. Fifteen of the 18 anomalies come from the Kenneth R. French Data Library — either a ready-made factor return (HML, SMB, RMW, CMA, the momentum factor) or the spread between the top and bottom decile of stocks sorted univariately on a characteristic (earnings-to-price, accruals, net share issuance, beta, and so on). All of these are value-weighted and cover the US market from as early as 1926.

Two more — quality-minus-junk and the leverage-adjusted betting-against-beta factor — come from AQR’s public data library, using the US column of each.

Industry momentum is constructed here: rank the 30 French industry portfolios on their prior 12-month return (skipping the most recent month), go long the top third and short the bottom third, rebalanced monthly and held six months.

The three windows

For each anomaly the site computes performance over three periods: the original paper’s sample (the years quoted in the publication), everything after the publication year, and the full available history. “Decay” is one minus the ratio of the post-publication annualized premium to the in-sample annualized premium. A decay of 100% means the premium fully disappeared; above 100% means it reversed.

A few low-risk anomalies (low beta, idiosyncratic volatility) have a raw long-short premium near zero by design — the anomaly is the risk-adjusted alpha, not the raw spread. For those the decay number is marked “n/a” and the alpha rows carry the story.

Why our numbers are smaller than the originals

A recurring objection to the whole factor literature — and why several of our replications look weaker than the papers.

Many of the classic anomaly papers equal-weighted their portfolios and included the smallest, least liquid stocks — where mispricing is largest and hardest to arbitrage. They also often used multi-way sorts (rank on the signal and control for size or book-to-market) and annual rebalancing tuned to the effect.

This site uses value-weighted, univariate deciles (or the published factor). That is the more conservative, more investable construction — and it is exactly the choice Hou, Xue & Zhang (2020) argued for when they found ~64% of 447 anomalies fail to clear a t-stat of 2 under it. So for the accrual, size, short-term-reversal, and long-term-reversal anomalies in particular, part of the gap between “reported” and “our replication” is method, not decay. Those entries are flagged with a △ in the table and carry a note on their page. The decay figure is unaffected — it compares our own replication before and after publication.

Statistics

t-statistics on mean returns and on regression intercepts use Newey–West standard errors (automatic lag length), because monthly factor returns are autocorrelated and plain OLS errors would overstate significance. Factor-model alphas are run against CAPM, the Fama–French three- and five-factor models, and the five-factor model plus momentum. Where an anomaly is one of those factors, its alpha against a model containing itself is zero by construction, so it is also tested against the model with its own factor removed.

Multiple-testing corrections (Bonferroni, Benjamini–Hochberg, Benjamini–Hochberg– Yekutieli) are computed from a normal approximation to the two-sided p-value. See the multiple testing page.

What this does not model

  • Transaction and shorting costs. Every number is gross. For low-turnover signals (value, profitability) this is a minor overstatement; for short-term reversal, which turns over ~1200%/year, it is the entire result — the gross premium is real and the net premium is roughly zero.
  • Implementation frictions. Decile spreads assume you can hold every name at its target weight and short the bottom decile in size. The real short leg is often small, illiquid, hard to borrow, and where a lot of the paper premium lives.
  • Look-ahead in the sort. French’s portfolios use accounting data with the standard six-month reporting lag, so this is handled — but the original papers sometimes used less conservative timing, which inflates their quoted numbers relative to ours.
  • International evidence. US only. Some of these (momentum, value) replicate well abroad; others (size, accruals) are patchier.
  • The signals themselves aren’t re-derived. We take French’s and AQR’s portfolio construction as given rather than rebuilding each characteristic from raw filings.

Deliberately left out

Famous predictors we can't do with free portfolio-level data, so the omission is explicit rather than silent.

Post-earnings-announcement drift
needs firm-level earnings-surprise data (I/B/E/S or Compustat); not in the free French library.
Analyst / sell-side signals
requires I/B/E/S estimate data.
Short interest / days-to-cover
requires exchange short-interest feeds.
13F / institutional-ownership signals
requires parsed 13F filings.
Seasonality (same-calendar-month return)
constructible but extremely noisy at the portfolio level and easy to overfit.
Quality of earnings beyond accruals (e.g. F-score)
needs full financial-statement line items.

How it’s built

A build step pulls each series directly from the Kenneth R. French and AQR data libraries (linked above — both are freely available at source) and writes a single monthly dataset; every statistic on the site is then computed from that dataset on request. The construction of each long-short strategy is described per anomaly on its own page. Nothing here uses a proprietary or paid data feed.