Mark Minervini — SEPA & VCP Pivot Breakout
Mark Minervini · 1990s–present (known for two U.S. Investing Championship wins, in 1997 and 2021)
Published 2026.07.08
Mark Minervini is a trader known for winning the U.S. Investing Championship twice, trading only U.S. growth stocks with his own capital. The SEPA framework and VCP (Volatility Contraction Pattern) he has made public are not a "when to buy" timing secret but a bundle of discipline for identifying which stage of the trend you are in and deciding, in advance, the coordinate at which you will exit if the setup is wrong. This article breaks down that rule structure for educational purposes. It promises no performance or win rate and is not an instruction to buy any individual security.
- SEPA is a framework that overlays a precise entry point (VCP), earnings (E), price action (P), and catalyst (A) so they point the same way.
- The eight Trend Template conditions keep only the Stage 2 advancing phase as a candidate; if even one condition fails, stay watch-only.
- The VCP is a structure in which each pullback narrows and volume dries up, until the high of the final contraction (the pivot) breaks out on volume.
- Minervini himself repeatedly calls 'stop-loss discipline' the core, more than the setup — fix the stop before entry, never widen it.
① Screening — Stage & Conditions
Minervini's starting point is not 'what to buy' but 'is the current stage even one where buying is warranted.' He reads the price cycle as four stages (Stage 1 basing → Stage 2 advance → Stage 3 topping → Stage 4 decline) and keeps only the Stage 2 advancing stage as a candidate. This filter is the Trend Template, and if even one of its eight conditions fails, the name is dropped from the setup pool.
- Price is above the 50-, 150-, and 200-day moving averages.
- The 150-day line is above the 200-day line.
- The 200-day line has been trending up for at least a month.
- The moving averages are stacked in order: 50-day > 150-day > 200-day.
- Price is at least 30% above its 52-week low.
- Price is within 25% of its 52-week high (the closer to a new high, the better).
- The relative strength (RS) ranking is 70 or higher.
- Only while the above alignment holds do you move to the next step (identifying the VCP).
Even when the technical conditions (the Trend Template) line up, Minervini also checks whether catalysts — accelerating quarterly earnings and sales (roughly 20%+ year over year), expanding margins, new products, earnings surprises — point in the same direction. Crypto has no earnings, so this slot is instead examined through on-chain accumulation, narrative, and liquidity observation — either way it is only supporting evidence, not a buy signal.
② Entry Frame (observational, lagging)
Within Stage 2, the shape Minervini waits for is the VCP (Volatility Contraction Pattern). After a strong prior advance, price pulls back 2 to 6 times, with each contraction narrower than the one before (e.g., 25% → 12% → 6%) and volume drying up on the final contraction. This is read as the process by which selling supply is exhausted and a 'line of least resistance' is formed.
The entry frame only forms when the high of the final contraction — the pivot — is broken on expanding volume and the close holds above it. A breakout without volume, or a bounce that never reaches the pivot, is a watch zone, not an entry. The key is that a breakout is not a signal that predicts the future but a lagging condition that confirms, after the fact, whether the setup formed.
If price breaks out, then falls back and gives up the pivot again, treat it as a failure. A breakout without volume, a bounce that never reaches the pivot, or a close that fails to hold above the pivot is not counted as a valid setup. When it is ambiguous, waiting a beat costs less than a misread.
A breakout is not a buy order but a lagging condition that confirms whether the setup formed.
③ Risk & Sizing
What Minervini stresses over and over is not the setup but stop-loss discipline. The stop is fixed before entry and is never widened afterward. The stop usually sits just below the low of the final contraction, with a maximum of about -7 to -8% from the entry price (tighter the lower-volatility the setup).
- First set the stop coordinate — whichever is closer: below the final contraction low, or -7 to -8%.
- Decide the account risk you will take on a single trade — roughly 1.25 to 2.5% of capital.
- Position size = risk amount ÷ stop distance. A wider stop automatically means a smaller size.
- When the market's stage deteriorates, raise cash and defensively cut new exposure.
Add in tranches only to positions already showing a profit; averaging down into a losing position (lowering your cost basis) is off-limits as a rule. 'Lose small and often, win big' — this is management centered on the reward-to-risk ratio (expectancy), not the win rate.
④ Invalidation & Limits
The setup is treated as void if any one of these appears — losing the pivot again, a break of the final contraction low, a break below the 50-day line, or the end of Stage 2 (a turn into a Stage 4 decline). When the stop fixed before entry is hit, you exit immediately without attaching a reason, and never widening the stop is the backbone of the rule set.
① The VCP is a lagging indicator that reads an already-formed pattern, so failed breakouts are common, and the method assumes up front that most trades end in a small stop-out. ② The Trend Template's moving averages, RS, and 52-week highs/lows were designed around stocks with limited trading hours, daily bars, and long-term trends. ③ Minervini himself repeats that 'stop-loss discipline matters more than the setup,' which, flipped around, means that without discipline the setup alone produces nothing. ④ Championship results are the past outcomes of a specific market and a specific trader and guarantee neither reproduction nor profit.
In short, this article claims nothing about win rates or future prices. It merely breaks down, for educational purposes, the structure of a method Minervini has publicly documented and explained; it is not an instruction to buy any individual security.
⑤ Porting It to Crypto (Perpetual Futures)
This method fits spot, low-leverage swing trading best of all. Ported straight to high-leverage perpetual futures, a -7 to -8% stop can end up wider than the liquidation price, so the account may be liquidated before the rule ever executes.
You must lower the leverage and back-solve the position from notional risk relative to the account (about 1.25 to 2.5%). Setting the leverage so the stop coordinate sits comfortably inside the liquidation price comes before judging the structure.
- Timeframe — because the market runs 24 hours including weekends, redefine breakouts on daily / 4-hour bar closes.
- Definition of contraction — redefine the VCP's 'contraction' by shrinking volatility (ATR, intraday range) instead of calendar duration.
- Fundamental substitute — since RS and 52-week high/low data are thin, examine the earnings part of SEPA through funding, open interest (OI), and on-chain accumulation/distribution instead.
- Holding cost — riding a trend to the end incurs long-run funding fees, so factor that into expectancy.
No variation is a guarantee of profit — only an attempt to reduce the drip of small losses — and in crypto too this method is used strictly as an observation and education frame, not an instruction to enter any individual trade.
Say some asset passes the Trend Template and the VCP pivot sits at 100 (an assumed unit). If you place the stop at 92, just below the final contraction low, then entry (100) − stop (92) = 8 is 1R. With a 10 million KRW account and 1.5% risk per trade (150,000 KRW), position size = 150,000 KRW ÷ 8 = a position of roughly 18,750 units, back-solved. Set the target at 3R (pivot + 24, i.e., around 124) and the reward-to-risk is 1-to-3. This math does not mean "a profit will result" — it is simply the procedure of deciding in advance where you will admit you were wrong (1R) and how much to put on (size) — and in reality the method assumes many trades will end at a -1R stop-out.
- Is this asset right now in a Stage 2 advance that meets all eight Trend Template conditions? (If no, stay watch-only.)
- Is each pullback narrower than the last, with volume drying up on the final contraction?
- Did price break the pivot on expanding volume and hold the close above it?
- 'Before' entering, have you already written down the stop coordinate (below the contraction low, or -7 to -8%) and the position size?
- When an invalidation point is hit, can you exit without widening the stop?
FAQ
Is the VCP pattern the core of Minervini's method?
Minervini himself repeatedly calls risk discipline — fixing the stop before entry and never widening it — the core, more than the setup (VCP). The VCP is a lagging pattern, so failed breakouts are common, and the method assumes most trades end in a small stop-out. In other words, the pattern alone, without discipline, produces nothing.
Where exactly is the 'pivot' in a VCP?
It is the high of the final (smallest) contraction. Only when price breaks this point on expanding volume and holds the close above it is the setup considered valid. If price falls back and gives up the pivot again, it is treated as a failed breakout.
Can I use this method as-is on crypto perpetual futures?
Not recommended. At high leverage a -7 to -8% stop can end up wider than the liquidation price, so you may be liquidated before the rule executes. You must lower the leverage, convert to notional risk relative to the account, recalibrate the definition of contraction to shrinking volatility (ATR), and recalibrate the fundamentals to on-chain and funding/OI observation. Even then it is no guarantee of profit — only an attempt to reduce the drip of small losses.
If only some Trend Template conditions are met, can I still enter?
In Minervini's rules, if even one of the eight conditions fails, the name is dropped from the pool. Partial fulfillment is a watch zone, not an entry frame.