The Volatility Contraction Pattern is Mark Minervini's signature setup. A stock in a confirmed uptrend forms a series of price contractions, each tighter than the last, as selling pressure dries up. The breakout from the final contraction is the entry point. Shibui lets you describe these criteria in plain English and check them across the entire US market at once.
What the screener checks
52-week high proximity
Price within 25% of the 52-week high, at least 30% above the 52-week low. This is Minervini's Stage 2 filter: the stock is near highs and well off its lows.
Moving average alignment
Price above the 150-day and 200-day SMA, with the 200-day SMA trending up. The stock is in a confirmed uptrend, not a bear market bounce.
Contracting price ranges
Recent daily or weekly ranges narrowing compared to earlier in the base. The ATR (Average True Range) shrinking relative to its own moving average signals volatility drying up.
Volume dry-up at pivot
Below-average volume during the tight part of the pattern. Volume declining into the contraction separates real setups from congestion zones.
The Minervini trend template
Mark Minervini's trend template is a checklist of conditions that define a Stage 2 uptrend. These are the preconditions for a VCP setup. A stock that fails the trend template is not a candidate regardless of how tight its base looks.
| Criterion | What to check | Shibui data |
|---|---|---|
| Price above 150-day SMA | Current close > SMA 150 | technical_indicators (sma_150) |
| Price above 200-day SMA | Current close > SMA 200 | technical_indicators (sma_200) |
| 200-day SMA rising | SMA 200 today > SMA 200 one month ago | technical_indicators (compare dates) |
| Within 25% of 52-week high | (high − close) / high < 0.25 | stock_quotes (52-week window) |
| At least 30% above 52-week low | (close − low) / low > 0.30 | stock_quotes (52-week window) |
| Range contraction | Recent ATR < ATR from earlier in the base | technical_indicators (atr_14) |
| Volume declining in base | Recent volume < 50-day average | stock_quotes + technical_indicators |
Shibui has the data columns for each of these checks: SMA values at any period, daily OHLCV prices, ATR, and volume moving averages. Claude constructs the screen from the underlying data when you describe the criteria. There is no built-in "VCP score" or pattern recognition model. You define the thresholds, Claude checks them. The VCP screening guide walks through each step in detail.
Example screens
"Find US stocks above $1 billion market cap where the price is above both the 150-day and 200-day SMA, within 15% of the 52-week high, and the 14-day ATR as a percentage of price is below 3%. Sort by proximity to 52-week high."
This is the basic trend template screen with an ATR tightness filter. Claude pulls the SMA values, computes the 52-week high proximity, and checks ATR relative to price across the full market. The result is a ranked list of stocks in confirmed uptrends with tightening volatility.
"Screen for stocks in a Minervini trend template: price above 150-day and 200-day SMA, 200-day SMA rising, within 25% of 52-week high, at least 30% above 52-week low. Among those, keep only stocks with revenue growth above 20% and positive earnings. Show RSI and recent volume versus 50-day average."
This combines the technical setup with a fundamental quality filter. Most VCP screeners cannot do this in one pass. You would normally run a technical screen on one tool, export the tickers, and check fundamentals on another. Here it is one request.
"Show me stocks over $2B market cap where the price is above the 200-day SMA, within 10% of the 52-week high, and the last 10 trading days had a high-low range of less than 5%. Include average daily volume for those 10 days compared to the 50-day average volume."
This targets the tightest setups: stocks near highs with very compressed recent ranges and potentially declining volume. The 5% range over 10 days is a strict filter that narrows the universe to stocks in the final stages of contraction.
How it compares to other VCP tools
MarketSmith (Investor's Business Daily) is the established tool for Minervini-style screening. It has built-in pattern recognition and is the closest thing to an automated VCP screener. TradingView can do it with custom Pine Script. Finviz handles basic technical filters but cannot check for pattern-level criteria like contracting ranges.
| Feature | Shibui | MarketSmith | TradingView | Finviz |
|---|---|---|---|---|
| Price | Free | ~$150/month | $14.95-59.95/month | Free / $24.96/month |
| VCP / pattern scanning | Manual via prompt | Built-in pattern recognition | Custom Pine Script | No pattern filters |
| Moving average filters | Any period (SMA, EMA) | Yes (preset) | Yes | Yes (limited presets) |
| 52-week high proximity | Yes (any threshold) | Yes | Yes | Yes |
| Volume analysis | Yes (vs moving avg) | Yes | Yes | Relative volume only |
| Fundamental overlay | Yes (same query) | Yes (O'Neil fundamentals) | Limited | Separate tab |
| Historical depth | 64 years daily prices | 10+ years | ~20 years | Limited |
| Alerts / automation | No | Yes | Yes | Yes (email) |
If you want automated daily alerts when a VCP forms, MarketSmith or a TradingView Pine Script is the better tool. If you want to run the screen yourself, describe the criteria your way, and add fundamental filters in the same pass, Shibui handles that for free. See also the Darvas box screener for a related consolidation-breakout pattern, or the AI stock screener overview for how Shibui handles other screening approaches.
Frequently asked questions
What is a VCP screener?
A VCP screener identifies stocks exhibiting Mark Minervini's Volatility Contraction Pattern: a series of price contractions in an uptrending stock where each successive base is tighter than the last, with declining volume. Shibui checks the underlying criteria (moving average alignment, 52-week high proximity, range contraction, volume trends) across nearly 10,000 US stocks in plain English.
Is there a free VCP screener?
Shibui Finance is a free VCP screener. You connect it to Claude (the free plan works) and describe the Minervini criteria in plain English. There is no subscription and no API key. The trade-off: there is no built-in VCP detection algorithm. You define the thresholds yourself, and Claude checks them across the market.
What is the Minervini trend template?
Mark Minervini's trend template is a set of criteria identifying stocks in a Stage 2 uptrend: price above the 150-day and 200-day SMA, the 200-day SMA trending up, price within 25% of the 52-week high and at least 30% above the 52-week low. These are the preconditions for a VCP setup. The pattern itself forms when price makes a series of tighter contractions within this uptrend. The VCP screening guide walks through the full methodology.
Can I screen for VCP on TradingView or Finviz?
TradingView does not have a built-in VCP screener. You can build one using Pine Script, but it requires programming. Finviz can filter for basic criteria like price above the 200-day SMA, but cannot check for contracting ranges or volume dry-up. Shibui lets you describe all the criteria in plain English and checks them across the full market in one pass.
What is the difference between VCP and Darvas box?
Both are consolidation breakout patterns, but they differ in structure. A VCP forms a series of progressively tighter price contractions within an uptrend. A Darvas box is simpler: a stock makes a new high, consolidates in a defined price range (the "box"), and the breakout above the box top is the buy signal. See the Darvas box screener for that pattern.
Does VCP screening work with end-of-day data?
Yes. VCP screening is a daily exercise, not intraday. The pattern forms over days or weeks. Shibui's data is end-of-day, updated after market close, so it reflects yesterday's conditions. You cannot screen for intraday breakouts or set real-time alerts, but for identifying the setup itself, end-of-day data is standard practice.
Connect Shibui to Claude in 2 minutes
Shibui is free. Connect it to Claude (free or paid plan) and screen nearly 10,000 US stocks for VCP setups alongside any criteria you define.
Connect to Claude →