Skip to content
patearn.in
NIGHTLY ·
More

What every scan hides

Research tool · not investment advice. Full disclaimer →

New here? How to read

What every scan hides

every published scan counted three ways, including the ways that lose
Bottom lineAcross 12 scans measured the same way, the number a scanner would report runs +0.286 to +0.926 percentage points ahead of what was left after a stated cost. And which HALF of the gap dominates is not fixed: on most of these it is cost, but on 52-week low breakdown the vanished companies are the larger term — a scan that selects for distress selects for companies that later stop existing.

A dated study, not a live number. Measured once against the full archive with the tape through 2026-08-28. Forward window 20 sessions; a flat 0.32% round trip; signals floored at close > 20 and turnover > 10,000,000. It does not update on its own.

Every row runs through the identical machinery — same archive, same forward window, same liquidity floor, same corporate-action check, same two universes. Only the scan differs, which is what makes this a comparison rather than a pile of separate studies. Reported is today’s survivors applied backwards, the way a scanner’s backtest is normally built. After cost is the same signals on the universe as it actually stood, minus the fee.

⚙ Hide columns
Every scan, counted three ways: reported performance, the same signals after cost on the universe as it actually stood, and the gap between them.
ScanSignalsReportedAfter costOverstatementSurvivorship ± noise floorFrom vanished names
52-week low breakdownToday's close is the lowest close of the last 252 sessions, and yesterday's was not.33,3211.051%0.124%+0.926 pp+0.606 ± 0.08818.1%
Gap up 3%The open is at least 3% above the previous close.111,5691.272%0.469%+0.803 pp+0.483 ± 0.07026.9%
RSI(14) oversold — Cutler'sCutler's RSI over 14 sessions crosses up through 30. Cutler's uses a SIMPLE mean of gains and losses, not Wilder's exponential smoothing; the two disagree and this row is the simple one.108,8720.855%0.378%+0.477 pp+0.157 ± 0.04318.2%
Volume shockerVolume is at least 3x its own 20-day average, on a day the close is up.195,3060.792%0.342%+0.450 pp+0.130 ± 0.04722.8%
Golden crossThe 50-day simple moving average crosses above the 200-day.10,1931.161%0.713%+0.448 pp+0.128 ± 0.171 · inside the noise17.6%
Within 2% of a 52-week highClose is within 2% of the highest close of the last 252 sessions.361,8111.497%1.131%+0.366 pp+0.046 ± 0.02917.6%
Bollinger upper-band breakoutClose above the 20-day average plus two standard deviations of the last 20 closes, having been below it yesterday.159,0201.445%1.088%+0.357 pp+0.037 ± 0.045 · inside the noise20.4%
52-week high breakoutToday's close is the highest close of the last 252 sessions, and yesterday's was not.87,0681.777%1.423%+0.353 pp+0.033 ± 0.066 · inside the noise18.4%
Volume dry-upThe 20-day average volume has fallen to half or less of the 100-day average.297,2270.980%0.651%+0.329 pp+0.009 ± 0.027 · inside the noise17.5%
Death crossThe 50-day simple moving average crosses below the 200-day.8,9721.197%0.902%+0.295 pp-0.025 ± 0.138 · inside the noise17.1%
Bullish moving-average stackClose above the 20-day average, which is above the 50-day, which is above the 200-day — entering that state today.22,8841.754%1.466%+0.288 pp-0.032 ± 0.139 · inside the noise17.9%
Delivery shockerDelivered quantity as a share of volume is at least twice its own 20-day average, on a day the close is up.4,2500.968%0.682%+0.286 pp-0.034 ± 0.298 · inside the noise33.0%
In plain EnglishRead one row like this. Signals is how many times the scan fired on the universe as it actually stood. Reported is the average 20-session return you would get by testing the scan against today’s surviving companies — the way a scanner’s backtest is normally built. After cost is the same scan on the real universe, minus the fee. Overstatement is the distance between those two. Survivorship ± noise floor is the part of that distance caused by vanished companies, printed beside the standard error of the mean it has to clear: a term marked inside the noise is one this data cannot tell apart from zero, and one well outside it — the 52-week low breakdown at +0.606 ± 0.088 — is about seven standard errors clear. The fee is deliberately not inside that ±, because a fee has no sampling error and a ± attached to it would put a noise floor on a number that is partly exact. From vanished names is the share of signals that came from companies which no longer exist — which a scanner built on today’s listings cannot see at all.

Rows are ordered by the size of the counting gap, not by return. That is deliberate: an ordering is an editorial claim, and the only claim this page is entitled to make is about how far apart the two ways of counting are. Nothing here says a scan is worth running.

What is not on this table, and why

Four scans were considered and deliberately not built. They are listed because a table that quietly stops at what was convenient reads as coverage.

  • supertrend — Needs a recursive band that carries its own previous value forward. Not expressible as a SQL window function, and a re-implementation that differs from the reader's tool would be worse than not shipping it.
  • macd-cross — Needs exponential moving averages, which are recursive for the same reason. Deliberately not approximated with an SMA and labelled MACD.
  • wilder-rsi — The Wilder-smoothed form of the RSI row above, for the same recursion reason. Cutler's is shipped and labelled instead of shipping Wilder's approximately.
  • candlestick-patterns — Doji, engulfing, hammer and the rest are definable, but every vendor uses different body/wick tolerances. There is no standard definition to reimplement, so any number we published would be a measurement of OUR tolerances.

Download the table as CSV →