How the Mean Reversion Screener works
Last updated October 22, 2026. Thresholds below are the ones the code uses today.
The Mean Reversion Screener lists stocks that have fallen far and fast, using five oversold conditions that are each true or false today. The signal count is a plain tally, not a weighted score. Seven falling-knife guardrails separate a stock that is merely oversold from one that is also structurally weak, and a forward log records what happened after every new signal.
What are the five oversold conditions?
| Condition | Rule | What it shows |
|---|---|---|
| RSI | RSI(14) below 30 | Momentum has been negative for most of two weeks |
| Stretched below trend | At least 15% below its 20-day average | Price is far from its recent norm |
| Below the band | Bollinger %B below 0 (under the lower band) | Price is outside its normal volatility range |
| Volume exhaustion | Volume at least 2 times its 30-day average | Heavy selling that may be capitulation |
| Near the low | Within 1.5% of the 52-week low | Trading at the bottom of its range |
A stock needs at least one to appear. The count is how many are true right now. It is not a weighted or invented score, and the optional composite score on the page uses weights you choose and keep in your own browser.
What are the falling-knife guardrails?
RSI cannot tell an oversold stock from a broken one, so seven independent checks look at the fundamentals:
| Guardrail | Rule |
|---|---|
| High leverage | Debt to equity above 2.0 and above 1.75 times its sector's median |
| Weak liquidity | Current ratio below 1.0 and below 0.7 times its sector's median |
| Unprofitable | Trailing net margin below 0 |
| Weak interest coverage | Below 1.5 times and below 0.7 times its sector's median |
| Revenue declining | Trailing revenue growth below -10% year on year |
| Deep drawdown | Price below 50% of its 52-week high |
| Heavy insider selling | Two or more open-market sales in 90 days with a net fall in shares |
An earnings report within 5 days is flagged separately as event risk and is not counted. A missing number is never treated as a red flag: a check is only shown when its data exists.
What else does the page compute?
- Liquidity: the 30-session average of price times volume, so you can see whether a stock trades enough to size and exit a position.
- Relative strength: the stock's distance from its 20-day average minus its sector's average. Positive means it has fallen less than its peers.
- Sector breadth: each sector's average RSI and the share of its stocks below their 20-day average, to separate a company problem from a sector sell-off.
- Market regime: SPY's 50-day and 200-day averages and RSI classify the market as an uptrend, downtrend or mixed.
- Forward log: every newly signalling stock is logged with the day's close and resolved after 10 trading days: did it close up 5% or more at any point? The log starts empty and fills only as real days pass, so it cannot be backfilled.
Where does the data come from, and what is left out?
Daily price and volume history come from Twelve Data, fundamentals from Finnhub and insider trades from SEC Form 4 filings, all already on disk from the weekly refresh, so the screen makes no API calls of its own. Only daily and weekly charts are offered because the history is daily bars. Stocks without a fundamental number simply lack that guardrail.
What are the limits?
A stock can stay oversold for a long time, and a bounce is not guaranteed. The five conditions overlap, so a higher count is not five independent confirmations. The forward log is short and cannot say much yet, and a 5% move in 10 days is a threshold, not a profit after costs. Nothing here is a buy signal.
Frequently asked questions
What is mean reversion?
The idea that a price that has moved far from its recent average tends to move back toward it. The screener finds stocks that look stretched to the downside using disclosed conditions, and the page shows how past signals fared.
Is an oversold stock a buy?
No. Oversold describes how far a price has fallen, not why. The guardrails exist because a stock can be oversold and also unprofitable, heavily indebted or in freefall.
How is the forward log different from a backtest?
A backtest replays history after the fact. The forward log records each signal on the day it appears and resolves it 10 trading days later, so it cannot be tuned in hindsight, but it only grows as time passes.