Community코딩 & 개발github.com

VCP 스크리너 - 미네르비니 변동성 수축 패턴

S&P 500 종목 중 Mark Minervini의 변동성 수축 패턴(VCP)을 스크리닝하고, 단일 티커의 가격 경로에서 과거 VCP를 탐지합니다.

VCP 스크리너 - 미네르비니 변동성 수축 패턴란 무엇인가요?

이 스킬은 Mark Minervini의 변동성 수축 패턴(VCP)을 기반으로 S&P 500 종목을 스크리닝하는 AI 에이전트 도구입니다. Stage 2 상승 추세에 있으며, 변동성이 수축되고 브레이크아웃 피벗 부근에 있는 종목을 식별합니다. 단일 티커 히스토리 모드에서는 수년간의 가격 데이터를 분석하여 형성된 모든 VCP를 찾고, 각 탐지에 대해 브레이크아웃, 손절, 타임아웃 등의 전방 결과 통계를 제공합니다. 이 스킬은 FMP API를 사용하며, 기본 스크리닝은 무료 티어로 충분하지만 전체 S&P 500 스캔에는 유료 티어가 권장됩니다. Cursor, Claude Code, Codex와 같은 AI 에이전트 플랫폼에서 사용할 수 있습니다.

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

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

VCP 스크리너 - 미네르비니 변동성 수축 패턴은(는) 무엇을 하나요?

S&P 500 종목 중 Mark Minervini의 변동성 수축 패턴(VCP)을 스크리닝하여, 변동성이 수축되고 브레이크아웃 피벗 부근에 있는 Stage 2 상승 추세 종목을 식별합니다.

사용 시기

  • 사용자가 VCP 스크리닝 또는 미네르비니 스타일의 설정을 요청할 때
  • 사용자가 타이트 베이스 / 변동성 수축 패턴을 찾고자 할 때
  • 사용자가 Stage 2 모멘텀 주식 스캔을 요청할 때
  • 사용자가 명확한 리스크가 정의된 브레이크아웃 후보를 요청할 때
  • 사용자가 "의 모든 과거 VCP를 찾아줘" 또는 한 티커의 과거 VCP 설정을 전방 결과와 함께 연구하고자 할 때 (--history --ticker SYM)

전제 조건

  • FMP API 키 (FMP_API_KEY 환경 변수 설정 또는 --api-key 전달)
  • 무료 티어(하루 250회 호출)는 기본 스크리닝(상위 100개 후보)에 충분함
  • 전체 S&P 500 스크리닝(--full-sp500)에는 유료 티어 권장

워크플로우

단계 1: 스크리닝 준비 및 실행

VCP 스크리너 스크립트 실행:

# 기본: S&P 500, 상위 100개 후보
python3 skills/vcp-screener/scripts/screen_vcp.py --output-dir skills/vcp-screener/scripts

# 사용자 정의 유니버스
python3 skills/vcp-screener/scripts/screen_vcp.py --universe AAPL NVDA MSFT AMZN META --output-dir skills/vcp-screener/scripts

# 전체 S&P 500 (유료 API 티어)
python3 skills/vcp-screener/scripts/screen_vcp.py --full-sp500 --output-dir skills/vcp-screener/scripts

엄격 모드 (미네르비니 순수 설정)

valid_vcp=True이고 execution_state가 (Pre-breakout, Breakout)인 종목만 반환:

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

단일 티커 히스토리 모드

한 티커의 다년간 가격 내역을 탐색하여, 형성된 모든 VCP를 탐지하고 각 탐지에 전방 결과 통계(브레이크아웃 / 손절 / 타임아웃, 결과까지 걸린 일수, 최대 이익, 최대 손실)를 첨부합니다. 패턴 연구 및 백테스팅 컨텍스트에 유용하며, 실시간 스크리너가 아닙니다.

# 기본: 약 5년 (1260 거래일), 5일 간격, 60일 결과 창
python3 skills/vcp-screener/scripts/screen_vcp.py \
  --history --ticker FIX --output-dir reports/

# 사용자 지정 스캔 길이: 750 거래일 (약 3년), 90일 결과 창
python3 skills/vcp-screener/scripts/screen_vcp.py \
  --history 750 --ticker TSLA \
  --stride-days 5 --outcome-days 90 \
  --output-dir reports/

# 장기 스캔: 10년 (2520 거래일)
python3 skills/vcp-screener/scripts/screen_vcp.py \
  --history 2520 --ticker NVDA --output-dir reports/

출력 (타임스탬프 포함):

  • vcp_history_<SYM>_<YYYY-MM-DD_HHMMSS>.json — 전체 분석기 페이로드 + 탐지별 forward_outcome + 요약 통계가 포함된 탐지 타임라인
  • vcp_history_<SYM>_<YYYY-MM-DD_HHMMSS>.md — 사람이 읽을 수 있는 타임라인

모드별 플래그:

매개변수기본값범위효과
--history [DAYS](꺼짐) / 1260 (값 없으면)100-5040히스토리 모드 활성화; 선택적으로 거래일 스캔 창 지정 (--ticker 필요)
--ticker SYM——스캔할 티커
--stride-days51-60기준 커서 위치 사이의 거래일 간격
--outcome-days605-252탐지당 평가되는 전방 창

참고:

  • 횡단면 파이프라인과 달리 스캔당 FMP API 호출 2회(티커 + SPY 히스토리)만 필요
  • marketCap 및 절대 RS 백분위수는 라이브 스크리닝 유니버스가 아닌 해당 티커 단독으로 반영되므로, 포트폴리오 사이징이 아닌 패턴 연구에 사용
  • 탐지는 (T1_high_date, last_low_date, pivot)별로 중복 제거되어 커서가 이동해도 동일한 VCP가 반복 보고되지 않음

고급 튜닝 (백테스팅용)

연구 및 백테스팅을 위한 VCP 탐지 매개변수 조정:

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/
매개변수기본값범위효과
--min-contractions22-4높을수록 패턴 수는 적지만 품질 향상
--t1-depth-min10.0%1-50높을수록 얕은 첫 번째 조정 제외
--breakout-volume-ratio1.5x0.5-10높을수록 거래량 확인 엄격
--trend-min-score850-100높을수록 Stage 2 필터 엄격
--atr-multiplier1.50.5-5낮을수록 스윙 탐지 민감도 증가
--contraction-ratio0.700.1-1낮을수록 더 타이트한 수축 필요
--min-contraction-days51-30높을수록 최소 수축 기간 증가
--lookback-days12030-365길수록 오래된 패턴 발견
--max-sma200-extension50.0%—과도 확장 상태 및 패널티에 대한 SMA200 거리 임계값
--wide-and-loose-threshold15.0%—이 임계값 이상이면 최종 수축 깊이에서 와이드-앤-루즈 플래그 트리거
--strict꺼짐—미네르비니 엄격 모드: Pre-breakout 또는 Breakout이면서 valid VCP인 경우만

단계 2: 결과 검토

  1. 생성된 JSON 및 Markdown 보고서 읽기
  2. 패턴 해석 컨텍스트를 위해 references/vcp_methodology.md 로드
  3. 점수 임계값 지침을 위해 references/scoring_system.md 로드

단계 3: 분석 제시

각 상위 후보에 대해 다음 제시:

  • 품질 (composite_score / 등급) — VCP 패턴이 얼마나 잘 형성되었는가?
  • 실행 상태 (execution_state) — 지금 매수 가능한가? (Pre-breakout / Breakout = 실행 가능)
  • 패턴 유형 (pattern_type) — Textbook VCP / VCP-adjacent / Post-breakout / Extended Leader / Damaged
  • 상태 한도가 적용된 경우 ★ 표시 (원 점수가 하향 조정됨)
  • 수축 세부 사항 (T1/T2/T3 깊이 및 비율)
  • 거래 설정: 피벗 가격, 손절가, 리스크 비율
  • 거래량 건조 비율 및 브레이크아웃 거래량 점수
  • 상대 강도 순위

단계 4: 실행 가능한 지침 제공

실행 상태별 (1차 필터):

  • Pre-breakout / Breakout: 패턴이 활성 진입 구간에 있음 — 등급 기반 사이징 적용
  • Early-post-breakout: 브레이크아웃 진행 중이지만 이상적인 진입 부근 아님 — 축소 사이징 또는 풀백 대기
  • Extended / Overextended: 거래 기회 놓침 — 다음 베이스를 위해 워치리스트에 추가
  • Damaged / Invalid: 설정 무효 — 진입 금지

등급별 (2차, 상태가 실행 가능성을 확인한 후):

  • Textbook VCP (90+): 피벗에서 공격적 사이징으로 매수 (1.5-2x)
  • Strong VCP (80-89): 피벗에서 표준 사이징으로 매수 (1x)
  • Good VCP (70-79): 피벗 위 거래량 확인 시 매수 (0.75x)
  • Developing (60-69): 워치리스트에 추가, 더 타이트한 수축 대기
  • Weak/No VCP (<60): 모니터링만 또는 건너뛰기

3단계 파이프라인

  1. 사전 필터 - 시세 기반 스크리닝 (가격, 거래량, 52주 위치) ~101회 API 호출
  2. 추세 템플릿 - 260일 히스토리를 사용한 7점 Stage 2 필터 ~100회 API 호출
  3. VCP 탐지 - 패턴 분석, 점수 매기기, 보고서 생성 (추가 API 호출 없음)

출력

  • vcp_screener_YYYY-MM-DD_HHMMSS.json - 구조화된 결과
  • vcp_screener_YYYY-MM-DD_HHMMSS.md - 사람이 읽을 수 있는 보고서

리소스

  • references/vcp_methodology.md - VCP 이론 및 추세 템플릿 설명
  • references/scoring_system.md - 점수 임계값 및 구성 요소 가중치
  • references/fmp_api_endpoints.md - API 엔드포인트 및 비율 제한

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.

관련 스킬