Strategy Graveyard
← All strategies

short-term reversal

One-day return reversal

No alphaRejected · long / short · 2015-2026

Pre-registered 2026-09-02 · 1 run · 2 variants

The idea

The short-term reversal anomaly is one of the oldest in the literature (Jegadeesh 1990, Lehmann 1990). A stock that moves violently in one day has often been pushed by someone who needed to trade immediately; whoever supplied that liquidity is paid when the price partly snaps back over the following days.

The lab did not expect it to work. It was the third candidate from the factor delta scan of 2026-09-02, and the scan suggested that the effect had weakened in 2026. The pre-registration wrote down that prior.

How it was tested

A move counts as extreme when the one-day return exceeds 1.5 times that symbol's rolling 20-day standard deviation. Buy after a down move, short after an up move. Two pre-registered variants: hold 1 session or 5, both with a 1% trailing stop. With two variants, Bonferroni raised the Gate 7 bar to t ≥ 1.96. Before any result was read, trades with a return above 500% over a 1-5 day hold were dropped as data glitches in both variants.

Where it died

The first post-mortem, on 2026-09-02, reported a marginal result on a one-day long-only version. On 2026-09-10 the script turned out never to have run as written: its per-symbol rolling window lived inside a query string. Once fixed, the test was run properly with Jensen alpha.

The one-day variant came out significantly negative, t −2.037 over 49,929 trades with a beta of 0.704. The five-day variant was noise, t +0.38 over 43,215 trades. Neither cleared 1.96.

The same construction resurfaced later. On 2026-10-30 the method audit found it in the two sibling tests from the same scan, ATR% spike reversion and volume spike reversal, and declared both void. This one stands because it had been repaired and re-run in September.

The record

Thesis

Stocks that move more than 1.5 standard deviations in a day partially reverse over the next days — the classic short-term reversal anomaly. The pre-registration expected it to fail: the lab's factor scan suggested the effect had weakened in 2026.

Prior: Expected to fail.

Specification

signal
one-day return beyond 1.5× its rolling 20-day standard deviation, per symbol; long after a down move, short after an up move
exit
hold 1 or 5 sessions (two pre-registered variants), 1% trailing stop
validation
Bonferroni for 2 variants → t ≥ 1.96
data hygiene
trades with |return| > 500% in a 1-5 day hold dropped as data glitches, applied to both variants before looking at results (3 and 15 trades)

Gates

Pre-registrationpass
Was the hypothesis, its parameters and its pass/fail rule written down before any data was looked at?
Gate 7 — Jensen alphafail
After regressing out market exposure, is there alpha left?
t ≥ 1.96 (Bonferroni, 2 variants)
t 1d-2.04beta 1d+0.70n 1d49,929t 5d+0.38beta 5d+0.57n 5d43,215

Why it died

Neither holding period has alpha: the one-day variant is significantly negative (t −2.037) and the five-day variant is noise (t +0.38). The five-day variant first appeared to pass at t +2.02 — removing 15 corrupted penny-stock trades with returns up to +16,656% took it to +0.38. The pass was entirely a data artefact.

What it taught

The pre-registered script had never actually run as written — its signal used a rolling-window method inside a query string — and an earlier post-mortem (raw t 1.68, Sharpe 0.18) had been reported anyway. A trade-level sanity bound caught what the entry-factor filter could not, because the glitch was in the exit price. Fifteen trades out of 43,215 were enough to manufacture a pass.

Verdict history

  1. 2026-09-02Pre-registered; first post-mortem reports raw t 1.68, Sharpe 0.18 on a 1-day long-only version No alpha
  2. 2026-09-10Script found never to have run as specified; fixed, glitch filter applied to both variants; 5-day t +2.02 → +0.38 No alpha