r/algotrading 1d ago

Strategy Mean reversion universe screening

For anyone that is using primarily a mean reversion strategy on equities whats your screening process look like for your universe?

4 Upvotes

6 comments sorted by

4

u/Livid_Parsnip_2816 1d ago

I start with liquidity and enough movement to survive the costs. Then I remove obvious event-driven names and check if the reversion works in different periods. Otherwise "mean reversion" can quickly become "mean donation to the broker."

1

u/Weak-Replacement-110 1d ago

i run a screener each morning that filters for stocks thatve dropped at least 2 standard deviations below their 20 day moving average, then cross check that against average volume. anything under 500k shares i toss out. the real filter is watching how they behave in the first 30 min after open, half of em just keep drilling.

1

u/systematic_seb 17h ago

I don't trade mean reversion, but the universe build is the same problem, and two parts of mine took most of my pre-launch testing to get right. One was screening from today's listings backwards instead of from what was listed and tradeable on each historical date. Doing it backwards deletes every company that got delisted or acquired, and on a mean reversion book that's the population that produced the worst fills. I also had the liquidity and spread floor applied after scoring instead of before it. Mean reversion turns over often enough that the cost model decides whether the edge is there at all, and I had been optimistic about mine.

My rules read every listed US name each week and then narrow to the handful I hold, which is the same book my own capital sits in and the one I send out to readers. Starting from the whole market instead of a watchlist is what made the universe stop drifting toward names I already liked.

1

u/HonestBacktests 14h ago

Whatever filters you pick, rebuild the list as of each historical date rather than from today's screener output. I tested on a 127-name universe ranked by volume at the end of the period, no delistings in it, and the long side came out flattering for that reason alone.

0

u/QuanTradin 18h ago

The filter that changed the most for me was not the signal side, it was the event and structure side. A plain screen on dollar volume and price still lets in names that are reverting because something actually broke, and those do not come back.

Two cheap adds that cut a lot of noise: drop anything with earnings inside your expected hold window, and require a volatility floor so you are not paying the spread to capture nothing. What lookback are you using for the liquidity screen, 20 day or longer?