backtest-expert
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating…
Screen S&P 500 stocks for Mark Minervini's Volatility Contraction Pattern (VCP) and detect historical VCPs in a single ticker's price path. Identifies Stage 2 uptrend stocks forming tight bases with contracting volatility near breakout pivot points; in historical single-ticker
$ npx -y skills add BaggaT236/AI-Trading-Skills --skill vcp-screener --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/vcp-screenerContext preview
The summary Claude sees to decide when to auto-load this skill.
Screen S&P 500 stocks for Mark Minervini's Volatility Contraction Pattern (VCP) and detect historical VCPs in a single ticker's price path. Identifies Stage 2 uptrend stocks forming tight bases with contracting volatility near breakout pivot points; in historical single-ticker
name: vcp-screener description: Screen S&P 500 stocks for Mark Minervini's Volatility Contraction Pattern (VCP) and detect historical VCPs in a single ticker's price path. Identifies Stage 2 uptrend stocks forming tight bases with contracting volatility near breakout pivot points; in historical single-ticker mode walks a multi-year history and emits every VCP that formed with forward-outcome stats (breakout / stop-hit / timeout). Use when user requests VCP screening, Minervini-style setups, tight base patterns, volatility contraction breakout candidates, Stage 2 momentum stock scanning, or historical VCP pattern study on a specific ticker (e.g. FIX, TSLA).
Screen S&P 500 stocks for Mark Minervini's Volatility Contraction Pattern (VCP), identifying Stage 2 uptrend stocks with contracting volatility near breakout pivot points.
past VCP setups with forward outcomes (`--history --ticker SYM`)
Run the VCP screener script:
# Default: S&P 500, top 100 candidates python3 skills/vcp-screener/scripts/screen_vcp.py --output-dir skills/vcp-screener/scripts # Custom universe python3 skills/vcp-screener/scripts/screen_vcp.py --universe AAPL NVDA MSFT AMZN META --output-dir skills/vcp-screener/scripts # Full S&P 500 (paid API tier) python3 skills/vcp-screener/scripts/screen_vcp.py --full-sp500 --output-dir skills/vcp-screener/scripts
Only return stocks with `valid_vcp=True` AND `execution_state` in `(Pre-breakout, Breakout)`:
python3 skills/vcp-screener/scripts/screen_vcp.py --strict --output-dir reports/
Walk one ticker's multi-year history, detect every VCP that ever formed, and attach forward-outcome stats (breakout / stop-hit / timeout, days-to-outcome, max gain, max loss) per detection. Useful for pattern study and backtesting context — not a real-time screener.
# Default: scan ~5 years (1260 trading days), 5-day stride, 60-day outcome window python3 skills/vcp-screener/scripts/screen_vcp.py \ --history --ticker FIX --output-dir reports/ # Custom scan length: 750 trading days (~3 years), 90-day outcome window python3 skills/vcp-screener/scripts/screen_vcp.py \ --history 750 --ticker TSLA \ --stride-days 5 --outcome-days 90 \ --output-dir reports/ # Long scan: 10 years (2520 trading days) python3 skills/vcp-screener/scripts/screen_vcp.py \ --history 2520 --ticker NVDA --output-dir reports/
Outputs (timestamped):
analyzer payload + `forward_outcome` per detection + summary stats.
Mode-specific flags:
| Parameter | Default | Range | Effect | |-----------|---------|-------|--------| | `--history [DAYS]` | (off) / 1260 if bare | 100-5040 | Enable historical mode; optionally specify trading-day scan window (requires `--ticker`) | | `--ticker SYM` | — | — | Ticker to scan | | `--stride-days` | 5 | 1-60 | Trading-day step between as-of cursor positions | | `--outcome-days` | 60 | 5-252 | Forward window evaluated per detection |
Notes:
cross-sectional pipeline.
not against the live screening universe — use this report for pattern study, not portfolio sizing.
the same VCP isn't reported repeatedly as the cursor ages.
Adjust VCP detection parameters for research and backtesting:
python3 skills/vcp-screener/scripts/screen_vcp.py \ --min-contractions 3 \ --t1-depth-min 12.0 \ --breakout-volume-ratio 2.0 \ --trend-min-score 90 \ --atr-multiplier 1.5 \ --output-dir reports/
| Parameter | Default | Range | Effect | |-----------|---------|-------|--------| | `--min-contractions` | 2 | 2-4 | Higher = fewer but higher-quality patterns | | `--t1-depth-min` | 10.0% | 1-50 | Higher = excludes shallow first corrections | | `--breakout-volume-ratio` | 1.5x | 0.5-10 | Higher = stricter volume confirmation | | `--trend-min-score` | 85 | 0-100 | Higher = stricter Stage 2 filter | | `--atr-multiplier` | 1.5 | 0.5-5 | Lower = more sensitive swing detection | | `--contraction-ratio` | 0.70 | 0.1-1 | Lower = requires tighter contractions | | `--min-contraction-days` | 5 | 1-30 | Higher = longer minimum contraction | | `--lookback-days` | 120 | 30-365 | Longer = finds older patterns | | `--max-sma200-extension` | 50.0% | — | SMA200 distance threshold for Overextended state and penalty | | `--wide-and-loose-threshold` | 15.0% | — | Final contraction depth above which wide-and-loose flag triggers | | `--strict` | off | — | Minervini strict mode: only Pre-breakout or Breakout with valid VCP |
1. Read the generated JSON and Markdown reports 2. Load `references/vcp_methodology.md` for pattern interpretation context 3. Load `references/scoring_system.md` for score threshold guidance
For each top candidate, present:
Build disciplined, repeatable trading workflows with a modern TypeScript platform.
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating…
This skill should be used when analyzing market breadth charts, specifically the S&P 500 Breadth Index (200-Day MA based) and the…
Generate Minervini-style breakout trade plans from VCP screener output with worst-case risk calculation, portfolio heat…
Screen US stocks using William O'Neil's CANSLIM growth stock methodology. Use when user requests CANSLIM stock screening, growth…
Validate data quality in market analysis documents and blog articles before publication. Use when checking for price scale…
Use this skill to find high-quality dividend growth stocks (12%+ annual dividend growth, 1.5%+ yield) that are experiencing…