tradermonty/vcp-screener

Analyse des actions du S&P 500 pour détecter le motif de contraction de volatilité (VCP) de Mark Minervini, et identification des VCP historiques dans le parcours d'un seul ticker.

Qu'est-ce que vcp-screener ?

Ce skill permet de screener les actions du S&P 500 à la recherche du motif de contraction de volatilité (VCP) de Mark Minervini, en identifiant les actions en tendance haussière de Stage 2 avec une volatilité qui se contracte près de points de rupture. Il supporte deux modes : un mode de screening en temps réel pour trouver les meilleurs candidats d'achat, et un mode historique pour un seul ticker qui parcourt plusieurs années et signale chaque VCP formé, avec des statistiques de résultats ultérieurs (breakout, stop hit, timeout). Utile pour les développeurs et traders qui souhaitent automatiser la recherche de setups VCP, étudier l'historique de motifs sur un ticker spécifique, ou intégrer des signaux Minervini dans leurs outils d'analyse technique.

Compatible avec~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/tradermonty/claude-trading-skills/tree/main/skills/vcp-screener

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

VCP Screener - Motif de contraction de volatilité Minervini

Analysez les actions du S&P 500 pour détecter le motif de contraction de volatilité (VCP) de Mark Minervini, en identifiant les actions en tendance haussière de Stage 2 avec une volatilité qui se contracte près de points de rupture.

Quand l'utiliser

  • L'utilisateur demande un screening VCP ou des setups de type Minervini
  • L'utilisateur veut trouver des motifs de base serrée / contraction de volatilité
  • L'utilisateur demande une analyse d'actions momentum en Stage 2
  • L'utilisateur cherche des candidats de breakout avec risque défini
  • L'utilisateur demande « trouve chaque VCP historique dans » ou veut étudier les anciens setups VCP d'un ticker avec leurs résultats ultérieurs (--history --ticker SYM)

Prérequis

  • Clé API FMP (définir la variable d'environnement FMP_API_KEY ou passer --api-key)
  • Le niveau gratuit (250 appels/jour) suffit pour le screening par défaut (top 100 candidats)
  • Niveau payant recommandé pour le screening complet du S&P 500 (--full-sp500)

Flux de travail

Étape 1 : Préparer et exécuter le screening

Lancez le script de screening VCP :

# Par défaut : S&P 500, top 100 candidats
python3 skills/vcp-screener/scripts/screen_vcp.py --output-dir skills/vcp-screener/scripts

# Univers personnalisé
python3 skills/vcp-screener/scripts/screen_vcp.py --universe AAPL NVDA MSFT AMZN META --output-dir skills/vcp-screener/scripts

# S&P 500 complet (niveau API payant)
python3 skills/vcp-screener/scripts/screen_vcp.py --full-sp500 --output-dir skills/vcp-screener/scripts

Mode strict (setup Minervini pur)

Ne renvoie que les actions avec valid_vcp=True ET execution_state dans (Pre-breakout, Breakout) :

python3 skills/vcp-screener/scripts/screen_vcp.py --strict --output-dir reports/

Mode historique pour un seul ticker

Parcourez l'historique pluriannuel d'un ticker, détectez chaque VCP qui s'est jamais formé, et attachez des statistiques de résultats ultérieurs (breakout / stop hit / timeout, jours jusqu'au résultat, gain max, perte max) par détection. Utile pour l'étude de motifs et le contexte de backtest — pas un screener en temps réel.

# Par défaut : scan ~5 ans (1260 jours de trading), pas de 5 jours, fenêtre de résultat de 60 jours
python3 skills/vcp-screener/scripts/screen_vcp.py \
  --history --ticker FIX --output-dir reports/

# Longueur de scan personnalisée : 750 jours de trading (~3 ans), fenêtre de résultat de 90 jours
python3 skills/vcp-screener/scripts/screen_vcp.py \
  --history 750 --ticker TSLA \
  --stride-days 5 --outcome-days 90 \
  --output-dir reports/

# Scan long : 10 ans (2520 jours de trading)
python3 skills/vcp-screener/scripts/screen_vcp.py \
  --history 2520 --ticker NVDA --output-dir reports/

Sorties (horodatées) :

  • vcp_history_<SYM>_<YYYY-MM-DD_HHMMSS>.json — chronologie des détections avec payload complet de l'analyseur + forward_outcome par détection + statistiques récapitulatives.
  • vcp_history_<SYM>_<YYYY-MM-DD_HHMMSS>.md — chronologie lisible par un humain.

Drapeaux spécifiques au mode :

ParamètreDéfautPlageEffet
--history [DAYS](désactivé) / 1260 si nu100-5040Activer le mode historique ; spécifier optionnellement la fenêtre de scan en jours de trading (nécessite --ticker)
--ticker SYM——Ticker à scanner
--stride-days51-60Pas en jours de trading entre les positions du curseur
--outcome-days605-252Fenêtre avant évaluée par détection

Notes :

  • Deux appels API FMP par scan (historique du ticker + historique de SPY), pas 100+ comme le pipeline transversal.
  • marketCap et le percentile RS absolu reflètent le ticker isolément, pas par rapport à l'univers de screening en direct — utilisez ce rapport pour l'étude de motifs, pas pour le dimensionnement de portefeuille.
  • Les détections sont dédupliquées par (T1_high_date, last_low_date, pivot) afin que le même VCP ne soit pas signalé de manière répétée à mesure que le curseur vieillit.

Réglages avancés (pour le backtest)

Ajustez les paramètres de détection VCP pour la recherche et le backtest :

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/
ParamètreDéfautPlageEffet
--min-contractions22-4Plus élevé = moins de motifs mais de meilleure qualité
--t1-depth-min10.0%1-50Plus élevé = exclut les premières corrections peu profondes
--breakout-volume-ratio1.5x0.5-10Plus élevé = confirmation de volume plus stricte
--trend-min-score850-100Plus élevé = filtre Stage 2 plus strict
--atr-multiplier1.50.5-5Plus bas = détection de swing plus sensible
--contraction-ratio0.700.1-1Plus bas = nécessite des contractions plus serrées
--min-contraction-days51-30Plus élevé = contraction minimale plus longue
--lookback-days12030-365Plus long = trouve des motifs plus anciens
--max-sma200-extension50.0%—Seuil de distance SMA200 pour l'état Overextended et la pénalité
--wide-and-loose-threshold15.0%—Profondeur de contraction finale au-dessus de laquelle le drapeau wide-and-loose se déclenche
--strictdésactivé—Mode strict Minervini : uniquement Pre-breakout ou Breakout avec VCP valide

Étape 2 : Examiner les résultats

  1. Lisez les rapports JSON et Markdown générés
  2. Chargez references/vcp_methodology.md pour le contexte d'interprétation des motifs
  3. Chargez references/scoring_system.md pour les conseils sur les seuils de score

Étape 3 : Présenter l'analyse

Pour chaque candidat principal, présentez :

  • Qualité (composite_score / évaluation) — à quel point le motif VCP est bien formé ?
  • État d'exécution (execution_state) — est-il achetable maintenant ? (Pre-breakout / Breakout = actionnable)
  • Type de motif (pattern_type) — VCP textbook / VCP adjacent / Post-breakout / Leader étendu / Endommagé
  • Marqueur ★ si un plafond d'état a été appliqué (score brut réduit)
  • Détails de contraction (profondeurs et ratios T1/T2/T3)
  • Configuration de trade : prix pivot, stop-loss, pourcentage de risque
  • Ratio d'assèchement de volume et score de volume de breakout
  • Rang de force relative

Étape 4 : Fournir des conseils actionnables

Par état d'exécution (filtre principal) :

  • Pre-breakout / Breakout : Le motif est dans la fenêtre d'entrée active — appliquez un dimensionnement basé sur l'évaluation
  • Early-post-breakout : Breakout en cours mais au-dessus de l'entrée idéale — taille réduite ou attendez un pullback
  • Extended / Overextended : Trade manqué — ajouter à la liste de surveillance pour la prochaine base
  • Damaged / Invalid : Setup invalidé — ne pas entrer

Par évaluation (secondaire, après que l'état confirme l'actionnabilité) :

  • VCP textbook (90+) : Acheter au pivot avec un dimensionnement agressif (1.5-2x)
  • VCP fort (80-89) : Acheter au pivot avec un dimensionnement standard (1x)
  • Bon VCP (70-79) : Acheter sur confirmation de volume au-dessus du pivot (0.75x)
  • En développement (60-69) : Ajouter à la liste de surveillance, attendre une contraction plus serrée
  • VCP faible/aucun (<60) : Surveiller uniquement ou passer

Pipeline en 3 phases

  1. Pré-filtre - Screening basé sur les cotations (prix, volume, position sur 52 semaines) ~101 appels API
  2. Modèle de tendance - Filtre Stage 2 en 7 points avec historiques sur 260 jours ~100 appels API
  3. Détection VCP - Analyse de motif, notation, génération de rapport (aucun appel API supplémentaire)

Sortie

  • vcp_screener_YYYY-MM-DD_HHMMSS.json - Résultats structurés
  • vcp_screener_YYYY-MM-DD_HHMMSS.md - Rapport lisible par un humain

Ressources

  • references/vcp_methodology.md - Théorie VCP et explication du modèle de tendance
  • references/scoring_system.md - Seuils de score et pondérations des composants
  • references/fmp_api_endpoints.md - Points de terminaison API et limites de taux

Individual skills in this repo

This repo contains 14 individual skills — each has its own dedicated page.

tradermonty/backtest-expert

Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.

tradermonty/market-environment-analysis

Comprehensive market environment analysis and reporting tool. Analyzes global markets including US, European, Asian markets, forex, commodities, and economic indicators. Provides risk-on/risk-off assessment, sector analysis, and technical indicator interpretation. Triggers on keywords like market analysis, market environment, global markets, trading environment, market conditions, investment climate, market sentiment, forex analysis, stock market analysis, 相場環境, 市場分析, マーケット状況, 投資環境.

tradermonty/market-news-analyst

This skill should be used when analyzing recent market-moving news events and their impact on equity markets and commodities. Use this skill when the user requests analysis of major financial news from the past 10 days, wants to understand market reactions to monetary policy decisions (FOMC, ECB, BOJ), needs assessment of geopolitical events' impact on commodities, or requires comprehensive review of earnings announcements from mega-cap stocks. The skill automatically collects news using WebSearch/WebFetch tools and produces impact-ranked analysis reports. All analysis thinking and output are conducted in English.

tradermonty/options-strategy-advisor

Options trading strategy analysis and simulation tool. Provides theoretical pricing using Black-Scholes model, Greeks calculation, strategy P/L simulation, and risk management guidance. Use when user requests options strategy analysis, covered calls, protective puts, spreads, iron condors, earnings plays, or options risk management. Includes volatility analysis, position sizing, and earnings-based strategy recommendations. Educational focus with practical trade simulation.

tradermonty/portfolio-manager

Comprehensive portfolio analysis using Alpaca MCP Server integration to fetch holdings and positions, then analyze asset allocation, risk metrics, individual stock positions, diversification, and generate rebalancing recommendations. Use when user requests portfolio review, position analysis, risk assessment, performance evaluation, or rebalancing suggestions for their brokerage account.

tradermonty/scenario-analyzer

Skill that analyzes 18-month scenarios from a news headline. Runs the primary analysis with the scenario-analyst agent and obtains a second opinion with the strategy-reviewer agent. Generates a comprehensive English report covering 1st/2nd/3rd-order impacts, recommended stocks, and a critical review. Example: /scenario-analyzer "Fed raises rates by 50bp" Triggers: news analysis, scenario analysis, 18-month outlook, medium-to-long-term investment strategy

tradermonty/sector-analyst

This skill should be used when analyzing sector rotation patterns and market cycle positioning. It fetches sector uptrend data from CSV (no API key required) and optionally accepts chart images for supplementary analysis. Use this skill when the user requests sector rotation analysis, cyclical vs defensive assessment, overbought/oversold identification, or market cycle phase estimation. All analysis and output are conducted in English.

tradermonty/signal-postmortem

Record and analyze post-trade outcomes for signals generated by edge pipeline and other skills. Track false positives, missed opportunities, and regime mismatches. Feed results back to edge-signal-aggregator weights and skill improvement backlog.

tradermonty/skill-designer

Design new Claude skills from structured idea specifications. Use when the skill auto-generation pipeline needs to produce a Claude CLI prompt that creates a complete skill directory (SKILL.md, references, scripts, tests) following repository conventions.

tradermonty/skill-idea-miner

Mine Claude Code session logs for skill idea candidates. Use when running the weekly skill generation pipeline to extract, score, and backlog new skill ideas from recent coding sessions.

tradermonty/theme-detector

Detect and analyze trending market themes across sectors. Use when user asks about current market themes, trending sectors, sector rotation, thematic investing, what themes are hot or cold, or wants to identify bullish and bearish market narratives with lifecycle analysis.

tradermonty/uptrend-analyzer

Analyzes market breadth using Monty's Uptrend Ratio Dashboard data to diagnose the current market environment. Generates a 0-100 composite score from 5 components (breadth, sector participation, rotation, momentum, historical context). Use when asking about market breadth, uptrend ratios, or whether the market environment supports equity exposure. No API key required.

tradermonty/us-stock-analysis

Comprehensive US stock analysis including fundamental analysis (financial metrics, business quality, valuation), technical analysis (indicators, chart patterns, support/resistance), stock comparisons, and investment report generation. Use when user requests analysis of US stock tickers (e.g., "analyze AAPL", "compare TSLA vs NVDA", "give me a report on Microsoft"), evaluation of financial metrics, technical chart analysis, or investment recommendations for American stocks.

tradermonty/value-dividend-screener

Screen US stocks for high-quality dividend opportunities combining value characteristics (P/E ratio under 20, P/B ratio under 2), attractive yields (3% or higher), and consistent growth (dividend/revenue/EPS trending up over 3 years). Supports two-stage screening using FINVIZ Elite API for efficient pre-filtering followed by FMP API for detailed analysis. Use when user requests dividend stock screening, income portfolio ideas, or quality value stocks with strong fundamentals.

Skills associés