Every name below passed four explicit gates for its lens — each gate is shown with the actual number vs the threshold. The screen finds candidates; it does not make the case. For any single name, run the full analysis before you form a view.
High-quality companies in a real drawdown that has stopped getting worse. Ranked by recovery score (quality + stabilization, not depth of fall).
Drawdown = fall from the 52-week high (how cheap) · Off low = bounce off the 52-week low (has it stopped falling) · Quality = 0-1 composite of six fundamentals checks (ROE, margins, cash flow…)
| # | Ticker | Score | Quality | Off low | Drawdown |
|---|---|---|---|---|---|
| 02 | QCOM | 88 | 1.0 | +45% | -28% ▸ |
|
Dip that stopped digging: real +28% drawdown with quality 1.0, +45% off the 52-week low, holding the 50DMA. ✓
Real drawdown-28% vs -20% required ✓
Off the low+45% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar1.00 vs 0.50 required | |||||
| 03 | ADBE | 81 | 1.0 | +34% | -28% ▸ |
|
Dip that stopped digging: real +28% drawdown with quality 1.0, +34% off the 52-week low, holding the 50DMA. ✓
Real drawdown-28% vs -20% required ✓
Off the low+34% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar1.00 vs 0.50 required | |||||
| 04 | ISRG | 81 | 1.0 | +36% | -24% ▸ |
|
Dip that stopped digging: real +24% drawdown with quality 1.0, +36% off the 52-week low, holding the 50DMA. ✓
Real drawdown-24% vs -20% required ✓
Off the low+36% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar1.00 vs 0.50 required | |||||
| 05 | ZTS | 78 | 1.0 | +17% | -45% ▸ |
|
Dip that stopped digging: real +45% drawdown with quality 1.0, +17% off the 52-week low, holding the 50DMA. ✓
Real drawdown-45% vs -20% required ✓
Off the low+17% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar1.00 vs 0.50 required | |||||
| 06 | PYPL | 74 | 1.0 | +41% | -25% ▸ |
|
Dip that stopped digging: real +25% drawdown with quality 1.0, +41% off the 52-week low, last month stabilizing. ✓
Real drawdown-25% vs -20% required ✓
Off the low+41% off 52w low (min +8%) ✓
Stabilizing1M -0% (needs > -2%) ✓
Quality bar1.00 vs 0.50 required | |||||
| 07 | IBM | 73 | 1.0 | +23% | -23% ▸ |
|
Dip that stopped digging: real +23% drawdown with quality 1.0, +23% off the 52-week low, holding the 50DMA. ✓
Real drawdown-23% vs -20% required ✓
Off the low+23% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar1.00 vs 0.50 required | |||||
| 08 | CDNS | 72 | 1.0 | +21% | -23% ▸ |
|
Dip that stopped digging: real +23% drawdown with quality 1.0, +21% off the 52-week low, holding the 50DMA. ✓
Real drawdown-23% vs -20% required ✓
Off the low+21% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar1.00 vs 0.50 required | |||||
| 09 | BSX | 69 | 0.8333 | +10% | -57% ▸ |
|
Dip that stopped digging: real +57% drawdown with quality 0.8333, +10% off the 52-week low, holding the 50DMA. ✓
Real drawdown-57% vs -20% required ✓
Off the low+10% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar0.83 vs 0.50 required | |||||
| 10 | NKE | 69 | 0.8333 | +12% | -45% ▸ |
|
Dip that stopped digging: real +45% drawdown with quality 0.8333, +12% off the 52-week low, holding the 50DMA. ✓
Real drawdown-45% vs -20% required ✓
Off the low+12% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar0.83 vs 0.50 required | |||||
| 11 | SYK | 66 | 1.0 | +13% | -21% ▸ |
|
Dip that stopped digging: real +21% drawdown with quality 1.0, +13% off the 52-week low, holding the 50DMA. ✓
Real drawdown-21% vs -20% required ✓
Off the low+13% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar1.00 vs 0.50 required | |||||
| 12 | NOC | 66 | 0.8333 | +19% | -26% ▸ |
|
Dip that stopped digging: real +26% drawdown with quality 0.8333, +19% off the 52-week low, holding the 50DMA. ✓
Real drawdown-26% vs -20% required ✓
Off the low+19% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar0.83 vs 0.50 required | |||||
| 13 | PEP | 64 | 1.0 | +9% | -21% ▸ |
|
Dip that stopped digging: real +21% drawdown with quality 1.0, +9% off the 52-week low, holding the 50DMA. ✓
Real drawdown-21% vs -20% required ✓
Off the low+9% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar1.00 vs 0.50 required | |||||
| 14 | TSLA | 63 | 0.6667 | +31% | -20% ▸ |
|
Dip that stopped digging: real +20% drawdown with quality 0.6667, +31% off the 52-week low, holding the 50DMA. ✓
Real drawdown-20% vs -20% required ✓
Off the low+31% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar0.67 vs 0.50 required | |||||
| 15 | LOW | 62 | 0.8333 | +10% | -31% ▸ |
|
Dip that stopped digging: real +31% drawdown with quality 0.8333, +10% off the 52-week low, holding the 50DMA. ✓
Real drawdown-31% vs -20% required ✓
Off the low+10% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar0.83 vs 0.50 required | |||||
| 16 | MCD | 59 | 0.8333 | +9% | -26% ▸ |
|
Dip that stopped digging: real +26% drawdown with quality 0.8333, +9% off the 52-week low, holding the 50DMA. ✓
Real drawdown-26% vs -20% required ✓
Off the low+9% off 52w low (min +8%) ✓
Stabilizingabove 50DMA ✓
Quality bar0.83 vs 0.50 required | |||||
Companies in a persistent uptrend — above the 200-day average, near the 52-week high. Ranked by volatility-adjusted 12-1 momentum.
12-1 Mom = return over the last 12 months, skipping the most recent month (short-term noise) · vs High = distance below the 52-week high · Quality = 0-1 composite of six fundamentals checks
| # | Ticker | Score | Quality | 12-1 Mom | vs High |
|---|---|---|---|---|---|
| 02 | ADI | 173 | 0.8333 | +66% | -8% ▸ |
|
Persistent strength: +66% 12-1 momentum, above its 200DMA, only +8% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-8% vs high (max -10%) ✓
12-1 momentum+66% skipping the last month ✓
Not breaking down1M +4% (needs > -3%) | |||||
| 03 | BMY | 162 | 1.0 | +46% | -10% ▸ |
|
Persistent strength: +46% 12-1 momentum, above its 200DMA, only +10% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-10% vs high (max -10%) ✓
12-1 momentum+46% skipping the last month ✓
Not breaking down1M -2% (needs > -3%) | |||||
| 04 | PANW | 154 | 0.8333 | +81% | -7% ▸ |
|
Persistent strength: +81% 12-1 momentum, above its 200DMA, only +7% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-7% vs high (max -10%) ✓
12-1 momentum+81% skipping the last month ✓
Not breaking down1M +4% (needs > -3%) | |||||
| 05 | CRWD | 146 | 0.5 | +97% | -6% ▸ |
|
Persistent strength: +97% 12-1 momentum, above its 200DMA, only +6% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-6% vs high (max -10%) ✓
12-1 momentum+97% skipping the last month ✓
Not breaking down1M +4% (needs > -3%) | |||||
| 06 | XOM | 141 | 0.6667 | +41% | +0% ▸ |
|
Persistent strength: +41% 12-1 momentum, above its 200DMA, only +0% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-0% vs high (max -10%) ✓
12-1 momentum+41% skipping the last month ✓
Not breaking down1M +15% (needs > -3%) | |||||
| 07 | COP | 140 | 1.0 | +43% | +0% ▸ |
|
Persistent strength: +43% 12-1 momentum, above its 200DMA, only +0% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-0% vs high (max -10%) ✓
12-1 momentum+43% skipping the last month ✓
Not breaking down1M +19% (needs > -3%) | |||||
| 08 | AMGN | 139 | 0.8333 | +43% | -1% ▸ |
|
Persistent strength: +43% 12-1 momentum, above its 200DMA, only +1% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-1% vs high (max -10%) ✓
12-1 momentum+43% skipping the last month ✓
Not breaking down1M +7% (needs > -3%) | |||||
| 09 | CVX | 128 | 0.8333 | +33% | -1% ▸ |
|
Persistent strength: +33% 12-1 momentum, above its 200DMA, only +1% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-1% vs high (max -10%) ✓
12-1 momentum+33% skipping the last month ✓
Not breaking down1M +13% (needs > -3%) | |||||
| 10 | KO | 125 | 0.8333 | +25% | -3% ▸ |
|
Persistent strength: +25% 12-1 momentum, above its 200DMA, only +3% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-3% vs high (max -10%) ✓
12-1 momentum+25% skipping the last month ✓
Not breaking down1M +6% (needs > -3%) | |||||
| 11 | LLY | 118 | 0.8333 | +44% | -2% ▸ |
|
Persistent strength: +44% 12-1 momentum, above its 200DMA, only +2% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-2% vs high (max -10%) ✓
12-1 momentum+44% skipping the last month ✓
Not breaking down1M +8% (needs > -3%) | |||||
| 12 | UNP | 117 | 1.0 | +27% | -4% ▸ |
|
Persistent strength: +27% 12-1 momentum, above its 200DMA, only +4% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-4% vs high (max -10%) ✓
12-1 momentum+27% skipping the last month ✓
Not breaking down1M +8% (needs > -3%) | |||||
| 13 | AAPL | 114 | 0.8333 | +29% | -1% ▸ |
|
Persistent strength: +29% 12-1 momentum, above its 200DMA, only +1% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-1% vs high (max -10%) ✓
12-1 momentum+29% skipping the last month ✓
Not breaking down1M +1% (needs > -3%) | |||||
| 14 | EOG | 111 | 1.0 | +32% | +0% ▸ |
|
Persistent strength: +32% 12-1 momentum, above its 200DMA, only +0% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-0% vs high (max -10%) ✓
12-1 momentum+32% skipping the last month ✓
Not breaking down1M +17% (needs > -3%) | |||||
| 15 | REGN | 92 | 1.0 | +30% | -5% ▸ |
|
Persistent strength: +30% 12-1 momentum, above its 200DMA, only +5% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-5% vs high (max -10%) ✓
12-1 momentum+30% skipping the last month ✓
Not breaking down1M +2% (needs > -3%) | |||||
| 16 | GILD | 92 | 0.8333 | +26% | +0% ▸ |
|
Persistent strength: +26% 12-1 momentum, above its 200DMA, only +0% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-0% vs high (max -10%) ✓
12-1 momentum+26% skipping the last month ✓
Not breaking down1M +5% (needs > -3%) | |||||
| 17 | CB | 86 | 0.8333 | +18% | -2% ▸ |
|
Persistent strength: +18% 12-1 momentum, above its 200DMA, only +2% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-2% vs high (max -10%) ✓
12-1 momentum+18% skipping the last month ✓
Not breaking down1M +7% (needs > -3%) | |||||
| 18 | VRTX | 82 | 0.8333 | +25% | -7% ▸ |
|
Persistent strength: +25% 12-1 momentum, above its 200DMA, only +7% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-7% vs high (max -10%) ✓
12-1 momentum+25% skipping the last month ✓
Not breaking down1M -2% (needs > -3%) | |||||
| 19 | PM | 77 | 0.8333 | +23% | -2% ▸ |
|
Persistent strength: +23% 12-1 momentum, above its 200DMA, only +2% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-2% vs high (max -10%) ✓
12-1 momentum+23% skipping the last month ✓
Not breaking down1M +6% (needs > -3%) | |||||
| 20 | PFE | 70 | 0.8333 | +16% | -2% ▸ |
|
Persistent strength: +16% 12-1 momentum, above its 200DMA, only +2% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-2% vs high (max -10%) ✓
12-1 momentum+16% skipping the last month ✓
Not breaking down1M +4% (needs > -3%) | |||||
| 21 | EMR | 64 | 1.0 | +20% | -2% ▸ |
|
Persistent strength: +20% 12-1 momentum, above its 200DMA, only +2% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-2% vs high (max -10%) ✓
12-1 momentum+20% skipping the last month ✓
Not breaking down1M +2% (needs > -3%) | |||||
| 22 | TMO | 60 | 0.8333 | +19% | -2% ▸ |
|
Persistent strength: +19% 12-1 momentum, above its 200DMA, only +2% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-2% vs high (max -10%) ✓
12-1 momentum+19% skipping the last month ✓
Not breaking down1M +1% (needs > -3%) | |||||
| 23 | ABBV | 59 | 0.6667 | +17% | -1% ▸ |
|
Persistent strength: +17% 12-1 momentum, above its 200DMA, only +1% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-1% vs high (max -10%) ✓
12-1 momentum+17% skipping the last month ✓
Not breaking down1M +8% (needs > -3%) | |||||
| 24 | EW | 55 | 1.0 | +14% | -5% ▸ |
|
Persistent strength: +14% 12-1 momentum, above its 200DMA, only +5% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-5% vs high (max -10%) ✓
12-1 momentum+14% skipping the last month ✓
Not breaking down1M +5% (needs > -3%) | |||||
| 25 | ITW | 53 | 1.0 | +11% | -8% ▸ |
|
Persistent strength: +11% 12-1 momentum, above its 200DMA, only +8% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-8% vs high (max -10%) ✓
12-1 momentum+11% skipping the last month ✓
Not breaking down1M +1% (needs > -3%) | |||||
| 26 | CL | 47 | 1.0 | +11% | -6% ▸ |
|
Persistent strength: +11% 12-1 momentum, above its 200DMA, only +6% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-6% vs high (max -10%) ✓
12-1 momentum+11% skipping the last month ✓
Not breaking down1M +8% (needs > -3%) | |||||
| 27 | JPM | 46 | 0.5 | +12% | -9% ▸ |
|
Persistent strength: +12% 12-1 momentum, above its 200DMA, only +9% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-9% vs high (max -10%) ✓
12-1 momentum+12% skipping the last month ✓
Not breaking down1M -3% (needs > -3%) | |||||
| 28 | ELV | 39 | 0.6667 | +15% | -3% ▸ |
|
Persistent strength: +15% 12-1 momentum, above its 200DMA, only +3% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-3% vs high (max -10%) ✓
12-1 momentum+15% skipping the last month ✓
Not breaking down1M +9% (needs > -3%) | |||||
| 29 | SBUX | 35 | 0.6667 | +11% | -5% ▸ |
|
Persistent strength: +11% 12-1 momentum, above its 200DMA, only +5% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-5% vs high (max -10%) ✓
12-1 momentum+11% skipping the last month ✓
Not breaking down1M +8% (needs > -3%) | |||||
| 30 | LIN | 31 | 1.0 | +6% | -7% ▸ |
|
Persistent strength: +6% 12-1 momentum, above its 200DMA, only +7% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-7% vs high (max -10%) ✓
12-1 momentum+6% skipping the last month ✓
Not breaking down1M +8% (needs > -3%) | |||||
| 31 | APD | 28 | 0.3333 | +9% | -3% ▸ |
|
Persistent strength: +9% 12-1 momentum, above its 200DMA, only +3% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-3% vs high (max -10%) ✓
12-1 momentum+9% skipping the last month ✓
Not breaking down1M +9% (needs > -3%) | |||||
| 32 | V | 26 | 1.0 | +6% | -2% ▸ |
|
Persistent strength: +6% 12-1 momentum, above its 200DMA, only +2% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-2% vs high (max -10%) ✓
12-1 momentum+6% skipping the last month ✓
Not breaking down1M +10% (needs > -3%) | |||||
| 33 | MO | 25 | 0.8333 | +7% | -3% ▸ |
|
Persistent strength: +7% 12-1 momentum, above its 200DMA, only +3% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-3% vs high (max -10%) ✓
12-1 momentum+7% skipping the last month ✓
Not breaking down1M +7% (needs > -3%) | |||||
| 34 | LMT | 21 | 0.8333 | +7% | -6% ▸ |
|
Persistent strength: +7% 12-1 momentum, above its 200DMA, only +6% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-6% vs high (max -10%) ✓
12-1 momentum+7% skipping the last month ✓
Not breaking down1M +22% (needs > -3%) | |||||
| 35 | BRK-B | 14 | 0.6667 | +2% | +0% ▸ |
|
Persistent strength: +2% 12-1 momentum, above its 200DMA, only +0% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-0% vs high (max -10%) ✓
12-1 momentum+2% skipping the last month ✓
Not breaking down1M +9% (needs > -3%) | |||||
| 36 | UNH | 12 | 0.8333 | +4% | -6% ▸ |
|
Persistent strength: +4% 12-1 momentum, above its 200DMA, only +6% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-6% vs high (max -10%) ✓
12-1 momentum+4% skipping the last month ✓
Not breaking down1M +9% (needs > -3%) | |||||
| 37 | DHR | 6 | 0.8333 | +2% | -4% ▸ |
|
Persistent strength: +2% 12-1 momentum, above its 200DMA, only +4% from the 52-week high. ✓
Uptrend intactabove 200DMA ✓
Near the high-4% vs high (max -10%) ✓
12-1 momentum+2% skipping the last month ✓
Not breaking down1M +4% (needs > -3%) | |||||