Mark Minervini won the U.S. Investing Championship twice, posted a 155% audited return in his winning year, and has compounded his personal account at extraordinary rates for decades. His edge is not a secret algorithm or insider information. It is a disciplined, repeatable framework for identifying stocks that are in confirmed uptrends and coiling for their next move. That framework is the SEPA trend template.

SEPA stands for Specific Entry Point Analysis. The trend template is the first filter in that process: a set of eight quantitative criteria that every stock must pass before Minervini considers it a potential buy. If a stock fails even one criterion, it is disqualified. No exceptions. No "close enough."

This article breaks down each of the eight criteria, explains the logic behind them, and shows how the scanner automates the entire check across roughly 1,900 US-listed stocks every day.

The 8 trend template criteria

  1. The current stock price is above both the 150-day (30-week) and 200-day (40-week) moving averages.

    This is the most basic confirmation of an uptrend. If the price is below these long-term averages, the stock is either in a downtrend or stuck in a base that has not yet resolved to the upside. The 150-day and 200-day averages act as a rough proxy for institutional cost basis over the past six to twelve months. When the stock trades above both, most holders are in profit, which reduces overhead supply (the tendency of underwater holders to sell into strength to get back to even).

  2. The 150-day moving average is above the 200-day moving average.

    This criterion ensures the trend is not just technically above both lines, but that the intermediate-term trend (150-day) is stronger than the long-term trend (200-day). When the 150-day crosses above the 200-day, it is a structural shift in the stock's momentum. It means that over the last six months, the stock has consistently traded at higher prices than it did in the prior twelve months.

  3. The 200-day moving average is trending up for at least one month (preferably four to five months or longer).

    A rising 200-day average confirms that the uptrend is not a recent spike but a sustained directional move. The one-month minimum is the floor; Minervini prefers stocks where the 200-day has been rising for four or five months, because that indicates a mature Stage 2 uptrend with institutional accumulation behind it. A stock where the 200-day is flat or still declining — even if the price has popped above it — has not proven itself yet.

  4. The current stock price is at least 30% above its 52-week low.

    This eliminates stocks that are near the bottom of their range. A stock sitting only 10% above its 52-week low has not demonstrated the buying power needed to suggest a meaningful trend change. The 30% threshold ensures the stock has already attracted enough demand to move decisively away from its low point. It filters out value traps and stocks in extended Stage 1 bases that have not yet broken out.

  5. The current stock price is within 25% of its 52-week high.

    While criterion 4 ensures the stock is well off its lows, this criterion ensures it is near its highs. A stock that is 40% below its 52-week high may be in a downtrend or a deep correction, even if it is technically above its moving averages due to the averaging effect. The 25% window keeps the focus on stocks that are within striking distance of new highs, which is where breakouts occur.

  6. The relative strength ranking is above 70 (preferably above 80).

    Relative strength measures the stock's price performance against the rest of the market. A ranking of 70 means the stock is outperforming 70% of all stocks. This is not the RSI oscillator (relative strength index), which measures overbought/oversold conditions within a single stock. This is a comparative ranking. Minervini wants stocks in the top 30% of the market because historical studies show that big winners almost always rank in the top quartile of relative strength before their major advances begin.

  7. The current price is trading above the 50-day (10-week) moving average.

    The 50-day average represents near-term trend. A stock below its 50-day average is in a short-term downtrend, even if the longer-term averages are bullish. For a breakout entry, you want all timeframes aligned: short-term, intermediate, and long-term all pointing up. A stock below its 50-day may be setting up a pullback entry, but it has not yet confirmed that the pullback is over.

  8. The 50-day moving average is above both the 150-day and 200-day moving averages.

    This is the final confirmation of proper moving average alignment. When the averages are "stacked" — 50-day above 150-day above 200-day — every timeframe is in agreement. The stock is in an uptrend on the short, intermediate, and long-term charts simultaneously. This is the environment where breakouts have the highest probability of success.

What "Stage 2 uptrend" means

Minervini's framework borrows the concept of stock stages from Stan Weinstein's work. Every stock cycles through four stages:

The trend template is designed to identify stocks that are firmly in Stage 2. All eight criteria together act as a Stage 2 confirmation system. When a stock fails even one criterion, it is either not yet in Stage 2, or it is transitioning out of it. Either way, it is not a Minervini-style buy candidate.

The volatility contraction pattern

Passing the trend template gets a stock onto the watchlist, but it does not trigger a buy. The entry signal comes from the volatility contraction pattern (VCP), which Minervini considers one of the most powerful setups in momentum trading.

A VCP forms when a stock in a confirmed Stage 2 uptrend pulls back, recovers, pulls back again with less magnitude, recovers again, and repeats this cycle with each successive pullback being shallower and tighter than the last. Visually, the pattern looks like a coiled spring.

For example, a stock might pull back 25% from its high, rally back, then pull back 15%, rally back, then pull back 8%, then 4%. Each contraction represents sellers getting exhausted. By the time the pullback is only 4%, there is almost no supply left, and a relatively small amount of buying pressure can push the stock to new highs.

The ideal VCP has three to five contractions (sometimes called "T" counts), with volume declining during each pullback. The breakout from the final contraction — the point where the stock pushes above the tightest portion of the pattern — is the buy point. The stop goes just below the low of the final contraction, giving a tight, defined risk.

The trend template ensures you are only looking for VCPs in stocks that are in the right trend environment. Without the template, you might identify what looks like a VCP in a stock that is actually in Stage 3 or Stage 4, which has a much lower probability of success.

How the scanner automates all 8 checks

Checking eight criteria manually across 1,900 stocks is impractical. It requires pulling up each stock's chart, calculating five different moving averages, comparing the current price to the 52-week range, and computing relative strength rankings. Even a dedicated trader would spend hours and still miss stocks.

SwingTradeScanner runs all eight trend template checks automatically every trading day. The process works as follows:

The result is a daily list of stocks that meet every requirement of the Minervini trend template, updated and ready before the next trading session. From there, your job is to review the charts for specific patterns (VCPs, flat bases, high tight flags) and determine which ones offer the best risk/reward at that moment.

You can explore the live SEPA scan at /scans/sepa.

Start scanning today

The SEPA scan checks all 8 trend template criteria across the full US stock universe daily.

Start free trial