Relative strength — 30 points
| Condition | Points |
| 3-month performance beats SPY/QQQ | 8 |
| 6-month performance beats SPY/QQQ | 8 |
| 12-month performance beats SPY/QQQ | 6 |
| Stock is near relative strength highs | 4 |
| Industry or sector is also strong | 4 |
Trend quality — 20 points
| Condition | Points |
| Price above the 50-day moving average | 5 |
| Price above the 200-day moving average | 5 |
| 50-day above the 200-day | 4 |
| Within 15–20% of the 52-week high | 3 |
| Higher highs and higher lows | 3 |
Volume confirmation — 15 points
| Condition | Points |
| Relative volume above 1.5 | 4 |
| Breakout or strong up day on above-average volume | 4 |
| Up days show heavier volume than down days | 3 |
| Average daily volume is sufficient | 2 |
| Dollar volume avoids thin trading | 2 |
Catalyst / fundamentals — 15 points
| Condition | Points |
| Positive earnings growth | 4 |
| Positive revenue growth | 4 |
| Recent earnings beat or guidance raise | 3 |
| Clear news, product or industry catalyst | 2 |
| Sector or industry tailwind | 2 |
Risk / entry quality — 20 points
| Condition | Points |
| Not excessively extended above short-term averages | 5 |
| Average volume and dollar volume are sufficient | 4 |
| ATR / range allows a reasonable stop | 4 |
| Clean base, pullback or breakout level present | 4 |
| General market environment supports momentum | 3 |
Score categories
| Score | Category | Meaning |
| 0–39 | Weak | Not a strong momentum candidate |
| 40–59 | Watchlist | Some strength, incomplete setup |
| 60–74 | Strong | Legitimate momentum candidate |
| 75–89 | High quality | Multiple confirming factors |
| 90–100 | Elite / possible leader | Very strong — still check extension and risk |
Condition flags
A score alone hides context, so the calculator also returns a flag:
| Flag | Meaning |
| Extended | Strong stock, but entry may be late |
| Pullback candidate | Strong stock resting near support |
| Breakout candidate | Strong stock pushing through resistance |
| High risk | Volatile, illiquid or news-driven |
| Needs volume | Price looks good, volume does not confirm |
A 91 flagged Extended and a 78 flagged Pullback candidate are not the same trade. The flag often matters more than the number.
Score a stock now