Communityコーディング&開発github.com

tradermonty/vcp-screener

S&P 500銘柄を対象にマーク・ミネルヴィニのボラティリティ収縮パターン(VCP)をスクリーニングし、単一ティッカーの価格軌跡から過去のVCPを検出します。ステージ2上昇トレンド銘柄の中で、収縮するボラティリティとブレイクアウトピボット付近のタイトベースを特定します。

vcp-screener とは?

このスキルは、S&P 500銘柄を対象にマーク・ミネルヴィニのボラティリティ収縮パターン(VCP)を自動スクリーニングするものです。ステージ2上昇トレンドにある銘柄の中で、価格変動が収縮し、ブレイクアウトのピボットポイント近くでタイトなベースを形成している銘柄を特定します。また、特定のティッカー(例:FIX、TSLA)に対して、複数年にわたる価格履歴をウォークスルーし、過去に形成されたすべてのVCPを検出する「ヒストリカルモード」も提供します。各検出には、ブレイクアウト成否、ストップヒット、タイムアウトなどのフォワードアウトカム統計が付与されるため、パターン研究やバックテストに有用です。FMP API(無料枠で日常的なスクリーニングに十分)を利用し、`--full-sp500`オプションで全S&P500銘柄をスキャンすることも可能です。

対応~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 Screener - ミネルヴィニ・ボラティリティ収縮パターン

S&P 500銘柄を対象に、マーク・ミネルヴィニのボラティリティ収縮パターン(VCP)をスクリーニングし、ブレイクアウトのピボットポイント付近で収縮するボラティリティを持つステージ2上昇トレンド銘柄を特定します。

使用タイミング

  • ユーザーがVCPスクリーニングやミネルヴィニスタイルのセットアップを依頼した場合
  • ユーザーがタイトベース/ボラティリティ収縮パターンを探したい場合
  • ユーザーがステージ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/

ヒストリカル単一ティッカーモード

1つのティッカーの複数年履歴をウォークスルーし、過去に形成されたすべての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-60as-ofカーソル位置間の取引日ステップ
--outcome-days605-252検出ごとに評価するフォワードウィンドウ

注意:

  • スキャンごとに2回のFMP APIコール(ティッカー + SPY履歴)。クロスセクションパイプラインのように100回以上は必要ありません。
  • 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高いほどステージ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%—最終収縮の深さがこの値を超えるとワイド&ルースフラグがトリガー
--strictoff—ミネルヴィニストリクトモード: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の深さと比率)
  • トレードセットアップ:ピボット価格、ストップロス、リスクパーセンテージ
  • 出来高乾上がり比率とbreakout_volume_score
  • 相対強度ランク

ステップ4:実行可能なガイダンスの提供

実行状態別(主要フィルター):

  • Pre-breakout / Breakout: パターンはアクティブなエントリーウィンドウ内 — レーティングベースのサイジングを適用
  • Early-post-breakout: ブレイクアウト進行中だが理想的なエントリーを超えている — サイズを減らすか押し目を待つ
  • Extended / Overextended: トレードを逃した — ウォッチリストに追加して次のベースを待つ
  • Damaged / Invalid: セットアップ無効 — エントリーしない

レーティング別(補助フィルター、状態がアクション可能であることを確認後):

  • 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ポイントのステージ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.

関連スキル