tradermonty/vcp-screener

Selecione ações do S&P 500 para o Padrão de Contração de Volatilidade (VCP) de Mark Minervini e detecte VCPs históricas na trajetória de preço de um único ticker.

O que é vcp-screener?

Esta skill automatiza a identificação do Padrão de Contração de Volatilidade (VCP) de Mark Minervini em ações do S&P 500, um setup de momentum de Estágio 2 que combina bases apertadas com volatilidade em contração perto de pontos de pivô de rompimento. Ela suporta dois modos principais: um screener em tempo real que avalia centenas de ações em um pipeline de três fases (pré-filtro, template de tendência e detecção de VCP) e um modo histórico que caminha anos de dados de preço de um único ticker para detectar todos os VCPs que já se formaram, anexando estatísticas de resultado futuro (rompimento, stop atingido ou tempo esgotado). A skill depende da API Financial Modeling Prep (FMP) e requer que a variável de ambiente FMP_API_KEY esteja configurada. Ela gera relatórios JSON e Markdown detalhados com pontuação composta, estado de execução, tipo de padrão e orientação acionável baseada em classificações e limites de estado. Ideal para traders e desenvolvedores que buscam varreduras sistemáticas de VCP, backtesting de padrões ou análise aprofundada de tickers individuais como FIX, TSLA ou NVDA.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

VCP Screener - Padrão de Contração de Volatilidade de Minervini

Selecione ações do S&P 500 para o Padrão de Contração de Volatilidade (VCP) de Mark Minervini, identificando ações em tendência de Estágio 2 com volatilidade em contração perto de pontos de pivô de rompimento.

Quando Usar

  • O usuário pede varredura de VCP ou setups estilo Minervini
  • O usuário quer encontrar padrões de base apertada / contração de volatilidade
  • O usuário solicita varredura de ações momentum de Estágio 2
  • O usuário pede candidatos a rompimento com risco definido
  • O usuário pede "encontre todo VCP histórico em " ou quer estudar setups passados de VCP de um ticker com resultados futuros (--history --ticker SYM)

Pré-requisitos

  • Chave da API FMP (defina a variável de ambiente FMP_API_KEY ou passe --api-key)
  • O nível gratuito (250 chamadas/dia) é suficiente para a varredura padrão (top 100 candidatos)
  • Recomenda-se o nível pago para varredura completa do S&P 500 (--full-sp500)

Fluxo de Trabalho

Passo 1: Preparar e Executar a Varredura

Execute o script de varredura VCP:

# Padrão: S&P 500, top 100 candidatos
python3 skills/vcp-screener/scripts/screen_vcp.py --output-dir skills/vcp-screener/scripts

# Universo personalizado
python3 skills/vcp-screener/scripts/screen_vcp.py --universe AAPL NVDA MSFT AMZN META --output-dir skills/vcp-screener/scripts

# S&P 500 completo (nível de API pago)
python3 skills/vcp-screener/scripts/screen_vcp.py --full-sp500 --output-dir skills/vcp-screener/scripts

Modo Estrito (setup puro de Minervini)

Retorne apenas ações com valid_vcp=True E execution_state em (Pre-breakout, Breakout):

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

Modo histórico de ticker único

Percorra o histórico de vários anos de um ticker, detecte cada VCP que já se formou e anexe estatísticas de resultado futuro (rompimento / stop atingido / tempo esgotado, dias até o resultado, ganho máximo, perda máxima) por detecção. Útil para estudo de padrões e contexto de backtesting — não é um screener em tempo real.

# Padrão: varredura de ~5 anos (1260 dias de negociação), passo de 5 dias, janela de resultado de 60 dias
python3 skills/vcp-screener/scripts/screen_vcp.py \
  --history --ticker FIX --output-dir reports/

# Comprimento de varredura personalizado: 750 dias de negociação (~3 anos), janela de resultado de 90 dias
python3 skills/vcp-screener/scripts/screen_vcp.py \
  --history 750 --ticker TSLA \
  --stride-days 5 --outcome-days 90 \
  --output-dir reports/

# Varredura longa: 10 anos (2520 dias de negociação)
python3 skills/vcp-screener/scripts/screen_vcp.py \
  --history 2520 --ticker NVDA --output-dir reports/

Saídas (com carimbo de data/hora):

  • vcp_history_<SYM>_<YYYY-MM-DD_HHMMSS>.json — linha do tempo das detecções com payload completo do analisador + forward_outcome por detecção + estatísticas resumidas.
  • vcp_history_<SYM>_<YYYY-MM-DD_HHMMSS>.md — linha do tempo legível por humanos.

Flags específicas do modo:

ParâmetroPadrãoIntervaloEfeito
--history [DAYS](desligado) / 1260 se vazio100-5040Habilita o modo histórico; opcionalmente especifica a janela de varredura em dias de negociação (requer --ticker)
--ticker SYM——Ticker a ser varrido
--stride-days51-60Passo em dias de negociação entre posições do cursor "as-of"
--outcome-days605-252Janela futura avaliada por detecção

Notas:

  • Duas chamadas à API FMP por varredura (histórico do ticker + SPY), não 100+ como no pipeline transversal.
  • marketCap e percentil RS absoluto refletem o ticker isoladamente, não contra o universo de varredura ao vivo — use este relatório para estudo de padrões, não para dimensionamento de portfólio.
  • As detecções são desduplicadas por (T1_high_date, last_low_date, pivot) para que o mesmo VCP não seja relatado repetidamente à medida que o cursor envelhece.

Ajuste Avançado (para backtesting)

Ajuste os parâmetros de detecção de VCP para pesquisa e 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/
ParâmetroPadrãoIntervaloEfeito
--min-contractions22-4Mais alto = menos padrões, mas de maior qualidade
--t1-depth-min10.0%1-50Mais alto = exclui primeiras correções rasas
--breakout-volume-ratio1.5x0.5-10Mais alto = confirmação de volume mais rigorosa
--trend-min-score850-100Mais alto = filtro de Estágio 2 mais rigoroso
--atr-multiplier1.50.5-5Mais baixo = detecção de swing mais sensível
--contraction-ratio0.700.1-1Mais baixo = requer contrações mais apertadas
--min-contraction-days51-30Mais alto = contração mínima mais longa
--lookback-days12030-365Mais longo = encontra padrões mais antigos
--max-sma200-extension50.0%—Limite de distância da SMA200 para estado de sobre-extensão e penalidade
--wide-and-loose-threshold15.0%—Profundidade da contração final acima da qual a flag wide-and-loose é acionada
--strictdesligado—Modo estrito Minervini: apenas Pré-rompimento ou Rompimento com VCP válido

Passo 2: Revisar Resultados

  1. Leia os relatórios JSON e Markdown gerados
  2. Carregue references/vcp_methodology.md para contexto de interpretação de padrões
  3. Carregue references/scoring_system.md para orientação de limites de pontuação

Passo 3: Apresentar Análise

Para cada candidato principal, apresente:

  • Qualidade (composite_score / classificação) — quão bem formado é o padrão VCP?
  • Estado de Execução (execution_state) — é comprável agora? (Pré-rompimento / Rompimento = acionável)
  • Tipo de Padrão (pattern_type) — VCP Texto / VCP-adjacente / Pós-rompimento / Líder Estendido / Danificado
  • Marcador ★ se um Teto de Estado foi aplicado (pontuação bruta foi rebaixada)
  • Detalhes da contração (profundidades e proporções T1/T2/T3)
  • Setup de negociação: preço do pivô, stop-loss, percentual de risco
  • Taxa de secagem de volume e pontuação de volume de rompimento
  • Classificação de força relativa

Passo 4: Fornecer Orientação Acionável

Por Estado de Execução (filtro primário):

  • Pré-rompimento / Rompimento: O padrão está na janela de entrada ativa — aplique dimensionamento baseado na classificação
  • Início-pós-rompimento: Rompimento em andamento, mas acima da entrada ideal — tamanho reduzido ou aguarde pullback
  • Estendido / Sobreextendido: Negociação perdida — adicione à lista de observação para a próxima base
  • Danificado / Inválido: Setup invalidado — não entre

Por Classificação (secundário, após o estado confirmar a acionabilidade):

  • VCP Texto (90+): Compre no pivô com dimensionamento agressivo (1.5-2x)
  • VCP Forte (80-89): Compre no pivô com dimensionamento padrão (1x)
  • VCP Bom (70-79): Compre na confirmação de volume acima do pivô (0.75x)
  • Em Desenvolvimento (60-69): Adicione à lista de observação, aguarde contração mais apertada
  • VCP Fraco/Sem VCP (<60): Apenas monitore ou pule

Pipeline de 3 Fases

  1. Pré-Filtro - Triagem baseada em cotações (preço, volume, posição em 52 semanas) ~101 chamadas de API
  2. Template de Tendência - Filtro de Estágio 2 de 7 pontos com históricos de 260 dias ~100 chamadas de API
  3. Detecção de VCP - Análise de padrões, pontuação, geração de relatórios (nenhuma chamada de API adicional)

Saída

  • vcp_screener_YYYY-MM-DD_HHMMSS.json - Resultados estruturados
  • vcp_screener_YYYY-MM-DD_HHMMSS.md - Relatório legível por humanos

Recursos

  • references/vcp_methodology.md - Teoria do VCP e explicação do Template de Tendência
  • references/scoring_system.md - Limites de pontuação e pesos dos componentes
  • references/fmp_api_endpoints.md - Endpoints da API e limites de taxa

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.

Habilidades Relacionadas