Building a Momentum Score: How I Rank Stocks by Trend Strength
Why I Needed a Better Way to Rank Trends
Around 2019, I had a problem. My watchlist had 40 stocks that all "looked good" technically. All were above their 50-day moving average. All had positive momentum. But with limited capital, I could only take 5-8 positions at a time. I needed a way to rank them from strongest to weakest so I could allocate capital to the highest-conviction setups.
Eyeballing charts is subjective. Two traders can look at the same stock and disagree on whether the trend is "strong" or "just okay." I wanted something quantitative. So I built a simple composite momentum score using three inputs that each measure a different dimension of trend strength.
The Three Components
1. Rate of Change (ROC)
Rate of Change measures the percentage price change over a specified period. I use a 20-day ROC for my momentum score. If AAPL was at $170 twenty days ago and is at $180 today, the 20-day ROC is 5.88%.
Why ROC instead of just looking at recent returns? Because it normalizes across different price levels. A $5 move on a $50 stock is very different from a $5 move on a $500 stock. ROC puts everything on an equal footing.
For the composite score, I also check 60-day ROC to confirm the momentum is not just a short-term spike. Ideally, both 20-day and 60-day ROC are positive, with the 20-day ROC accelerating relative to the 60-day.
2. Relative Strength vs. SPY
This is not RSI. This is the stock's performance compared to the S&P 500 over the same period. If MSFT is up 8% over 20 days and SPY is up 3%, MSFT has a relative strength of +5 percentage points.
This matters because a stock going up 5% in a market that is up 7% is actually underperforming. You want to own the stocks that are outpacing the benchmark, not just going up in absolute terms. During bear markets, this metric helps identify stocks that are falling less than everything else — which are often the first to rip when the market turns.
I calculate relative strength as: (Stock 20d ROC) minus (SPY 20d ROC).
3. Moving Average Slope
The slope of the 20-day EMA tells you not just whether the trend is up, but how aggressively it is rising. A stock with a steeply rising 20-day EMA has stronger momentum than one with a gently rising average, even if both are technically in uptrends.
I approximate slope as the percentage change in the 20-day EMA over the last 10 days. A flat EMA scores near zero. A sharply rising EMA scores high. A declining EMA scores negative.
This component catches something ROC can miss. A stock that gapped up 10% and then went sideways for three weeks has a high 20-day ROC but a flattening EMA slope. The momentum is stale. EMA slope tells you whether the trend is actively progressing or just coasting on an old move.
Combining Into a Composite Score
I normalize each component to a 0-100 scale using a percentile rank against the stock universe I am screening (usually all S&P 500 stocks or all Nasdaq 100 stocks). A stock with a 20-day ROC in the top 10% of all S&P 500 stocks gets a ROC score near 90.
The composite momentum score is a simple average of the three percentile ranks:
Momentum Score = (ROC Percentile + Relative Strength Percentile + MA Slope Percentile) / 3

A score above 80 means the stock is in the top tier across all three dimensions. These are the names I focus on for long entries. A score below 20 identifies the weakest stocks, which could be short candidates or names to avoid.
What the Score Tells You (and What It Does Not)
A high momentum score tells you that a stock is trending strongly, outperforming the market, and actively accelerating. These are favorable conditions for trend-following entries.
It does not tell you whether the stock is overextended or due for a pullback. A stock can have a momentum score of 95 and still be overbought on every oscillator. The score identifies the strongest trends, but you still need to time entries using pullbacks, support levels, or other methods.
It also does not tell you about fundamentals, valuation, or upcoming catalysts. I have seen stocks with momentum scores above 90 crater on an earnings miss. Momentum measures what has happened and what is happening. It says nothing about what will happen.
Screening in Practice
Every Sunday, I rank my universe by composite momentum score and pull up the top 20 names. From those 20, I look for stocks with upcoming pullback setups — ones that are in strong trends but temporarily pulling back to a moving average or support zone.
The universe scanner does something similar with its momentum and trend strength filters. The conviction scoring captures a multi-factor view of whether a stock's technical setup favors continuation, which overlaps significantly with what a composite momentum score measures. When I see a stock flagged with strong momentum and high conviction, it usually matches the stocks that rank highly in my own scoring.

The stocks I avoid are the ones in the middle. A momentum score of 40-60 tells you nothing actionable. The stock is average. It might go up, might go down. The edge lives in the extremes — the top 15% for longs, the bottom 15% for shorts or avoidance. The leaderboard surfaces the highest-ranked stocks by momentum and conviction, making the top tier easy to spot.
The Unsexy Truth
Building a momentum score is not glamorous. It is a spreadsheet exercise. There is no chart pattern to memorize, no indicator to install. But consistently allocating capital to the highest-momentum stocks in my universe has done more for my returns than any single indicator or pattern ever has.
The math is simple. The discipline to follow it is the hard part.
Ready to try alphactor.ai?
Validate your trading strategies with statistical credibility testing. Start free.
Get Started Free