This article explains the volatility contraction pattern (VCP). It is educational and general, a description of a well-known base structure and how a systematic publisher detects it, not personalised investment advice and not a claim that trading contractions is profitable for any individual. Nothing here is a recommendation to buy or sell any security, and it contains no entry, exit, stop or position-size guidance.
The volatility contraction pattern, or VCP, is a base that tightens as it goes. Each pullback is shallower than the one before it, volume dries up as the base matures, and the price range coils toward a pivot at the top. The contraction is the tell: it is the visual signature of eager sellers being used up. Here is what the pattern is, the sequence that defines it, why the tightening matters, how it fails, and how Shishin’s scanner measures the contraction rather than eyeballing it.
The short version
A VCP is a consolidation that contracts in a series of progressively shallower pullbacks, from a deeper first dip to a shallow last one, with volume fading through the base until it reaches a “point of least resistance” near the pivot at the top. The tightening marks supply being exhausted: each shallower dip means fewer willing sellers remain, and the base coils until an ordinary push clears the pivot. The pattern is associated with Mark Minervini’s momentum-swing tradition.
What a contraction actually is
Start with an ordinary base: a stock that has stopped advancing and is trading sideways while buyers and sellers change hands. Most bases are messy. What Mark Minervini named the volatility contraction pattern is a base with a specific, orderly internal structure, the amplitude of the swings shrinks as the base ages. An early pullback inside the base might give back a meaningful chunk of the prior move; the next pullback gives back less; the one after that less still. Plot the successive dips and they nest inside one another, each high a little lower or level, each low a little higher, the range squeezing toward a point.
Minervini calls the successive contractions footprints, and the number of them is part of how a chartist reads the base’s maturity. The pattern is not a single pullback; it is a sequence, and the sequence has a direction: from looser and deeper to tighter and shallower. A base that gets wider as it goes, deeper dips, bigger swings, is doing the opposite of a VCP and is a warning, not a setup.
The contraction sequence, at a glance
A stylised VCP is easiest to read as a table. The numbers below are illustrative shapes, not thresholds and not a rule: the point is the direction of the sequence, each contraction shallower than the last while volume fades and the range tightens.
| Contraction (footprint) | Depth of pullback | Volume character | What it signals |
|---|---|---|---|
| 1st (earliest) | Deepest, a broad give-back | Heaviest, active selling | Sellers still plentiful; base just beginning |
| 2nd | Shallower than the 1st | Lighter than the 1st | Supply thinning; swings narrowing |
| 3rd | Shallower still | Quieter, drift not dump | Willing sellers mostly used up |
| Final tightening | Shallowest, a quiet coil | Driest, volume near a lull | Point of least resistance at the pivot |
Read down the table and the story is a supply-and-demand handover. Each successive row is a smaller fight and a quieter one. By the last contraction the base is barely moving and barely trading, the condition Minervini describes as the point of least resistance, the price at which the least remaining supply stands between the stock and a move.
Why the tightening matters
The mechanic underneath a VCP is the same absorption story that drives any base, told through the shape of the swings. Every pullback inside the base is a bout of selling. A shallower pullback than the one before means the selling ran out of force sooner, fewer holders were willing to give the stock back at lower prices. A sequence of progressively shallower pullbacks is therefore a sequence of progressively weaker selling: the eager sellers are being used up, one contraction at a time. When the last contraction is a shallow, quiet coil, there is little supply left to absorb, and it takes only ordinary demand to clear the pivot at the top.
The volume dry-up is the second half of the same message. As the base matures and the swings tighten, turnover fades, fewer shares change hands because fewer holders want out. A base that tightens in price and quiets in volume is the cleanest read that supply near the pivot is close to exhausted. That contraction-then-expansion signature, quiet, coiled base followed by a volume surge through the pivot, is exactly the transition the broader breakout literature treats as confirmation, covered in how breakout setups work.
The pivot: the point of least resistance
The VCP resolves at a pivot, the price at the top of the base where the final, tightest contraction sits just beneath prior resistance. Because the base has coiled and volume has dried up, the pivot is the point of least resistance: the level where the smallest remaining wall of supply stands in the way. A clear of that pivot on an expansion of range and volume is the pattern completing; a drift through it on quiet volume, or a poke above that falls straight back into the coil, is not.
A healthy VCP typically forms while the stock is in a confirmed uptrend, price riding above its rising averages rather than tangled beneath them. The trend is the context the pattern resolves into: a tight contraction inside a clean moving-average stack is a move in the direction the trend already points, while the same coil beneath tangled or falling averages is fighting the tape and follows through far less often.
Healthy contraction versus a failing one
Not every tightening base is a VCP, and not every VCP completes. The difference between a healthy contraction and a base that only looks like one is worth being precise about.
| Feature | Healthy VCP | Failing / false contraction |
|---|---|---|
| Pullback sequence | Each contraction shallower than the last | Dips deepen, or widen back out |
| Volume through the base | Dries up as the base tightens | Stays heavy, or spikes on the down-swings |
| Trend context | Coils inside a rising average stack | Forms under tangled or falling averages |
| Final contraction | Tight, quiet coil near the pivot | Loose, still swinging widely |
| The clear | Range and volume expand through the pivot | Quiet drift through, or a poke that fails back in |
The most common way a contraction disappoints is that it never truly tightened: the base looked like a coil on a squinted chart, but the pullbacks were not actually getting shallower and the volume never dried up. The second is a clear on quiet volume, price slips above the pivot with no expansion behind it, the top of a range rather than an exhaustion of supply. And a contraction that forms in a weak, narrow market can be textbook and still fail, because a breakout is a bet on the whole tape as much as the single chart, the theme that runs through how breakout setups work.
How Shishin detects the contraction
The reason a systematic screen leans on the VCP is that “tightening” can be measured rather than eyeballed. Shishin’s pre-market scanner computes range and volatility statistics on every name in the investable universe each session, including how the recent trading range and the stock’s average true range (ATR) are behaving over the life of a base. A base that is genuinely contracting shows up as a measurable compression: the range narrowing and the ATR falling as the swings shrink, with turnover fading alongside. That is a quantitative footprint of the same tightening a chartist reads by eye, computed the same way for thousands of names at once.
The tightening then feeds where a name sits in its own cycle. Shishin’s setup-state classifier reads the contraction as part of labelling a name as pre-breakout consolidation, approaching a pivot, a fresh breakout, or already extended, so a coiled, quieting VCP is recognised as a base tightening toward its pivot rather than a chart that merely stopped falling. The compression is one piece of evidence the system weighs, never a trigger on its own, and it is measured across the full five-year window described in the five-year backtest so the read means the same thing in the live board as it did in the history. The board that results ranks; it never tells anyone what to buy.
What to watch
Reading a contraction honestly comes down to a few descriptive questions a chartist asks of the base, not a checklist to act on:
- Are the pullbacks actually getting shallower in sequence, or is that wishful reading?
- Has volume genuinely dried up as the base matured, or is it still heavy?
- Is the final contraction a tight, quiet coil near the pivot, or still swinging wide?
- Is the whole thing sitting inside a rising average stack, or under a tangled tape?
- Does the clear come with an expansion of range and volume, or a quiet drift?
A VCP is not a promise. It is a base structure whose tightening carries information about how much supply is left, and it completes only a fraction of the time. A systematic approach is precisely the discipline of measuring the contraction the same way every time, weighing it against the trend and the market backdrop, and letting a ranked board surface the coiled bases rather than declaring any single one a buy. Shishin’s live, publicly paper-traded record is attested at /verify.
Sources & further reading
- Minervini, M. Trade Like a Stock Market Wizard., the Volatility Contraction Pattern (VCP): progressively shallower pullbacks, drying volume, and the point of least resistance.
- O’Neil, W. J. How to Make Money in Stocks., the CAN SLIM tradition of tight, orderly bases and a volume surge on the breakout.
- Related educational reading on this site: how breakout setups work, the setup-state classifier, and the moving-average stack.