Scans US stocks daily for Minervini-style VCP setups: market cap $2B–$100B, price above 12-month / 200-day / 150-day SMAs, price > $10, employees > 20, and a detected VCP chart pattern (higher lows + flat ceiling + contracting volatility). A stock is only listed when all hard rules pass — expect a handful of names, sometimes zero. Fundamental signals (P/E / FCF / EPS trend, insiders) are scored but not required. Inspired by Mark Minervini's methodology. Not financial advice.
The 12 rules (from the strategy)
Market cap $2B–$100B
Sweet spot for explosive percent moves. Above $1T = no explosive moves; below $2B = too volatile.
Cash flow > 0
The business whose entire point is to make money, is making money. (Proxy: free cash flow > 0.)
Price > 12-mo SMA
Long-term macro uptrend confirmed — "wind in your sails." Below = wind blowing in your face.
Price > $10
Harder to get institutional money into sub-$10 stocks.
Employees > 20
Weed out shell companies and sheds in Nevada.
Price > 200-day SMA
Confirmed long-term uptrend.
Price > 150-day SMA
No local consolidation zone (price can be above 200 but below 150 = consolidation, avoid).
P/E trending up
Don't care about the actual value, just want to see P/E generally trending upwards.
VCP pattern
Volatility Contraction Pattern: higher lows + flat price ceiling + each contraction wave smaller than the prior. 85% odds of winning.
Insiders holding
Free float < 70% or closely held > 20%. If insiders dumped, it's a negative variable.
FCF trending up
Free cash flow making more and more money every quarter and every year.
EPS trending up
Earnings per share trending upwards — greedy shareholders making more money.
Score = rules passed + VCP quality bonus (contractions × 2 + (1 − volatility ratio) × 3). Sorted by score. Fundamentals from Yahoo Finance. Employee count from stockanalysis.com. Click a symbol to view it on Seeking Alpha. Thresholds are constants in src/screener2.ts. Every logged pick is graded with forward returns in the Success check section below (docs/data/screener2/success.csv).
Today's results
Success check
Every logged pick graded against the git history: close-to-close forward returns after the pick date (5 / 10 / 20 trading days, no lookahead, no fees). Win10 = share of picks with a positive 10-day return; the universe baseline is the same-period average forward 10-day return of every stock in the archive.
Full hit log
Every VCP pick of the last 90 days (append-only). Click to expand — rendered in pages of 100, so the browser never chokes.