跳到正文
cccskills
免费在 GitHub 公开

market-top-detector

Assess near-term U.S. equity market top risk using six indicators, including selling pressure, weakening leaders, and defensive sector rotation. Generate a heuristic score, risk zone, and reports to inform reviews of equity exposure over two to eight weeks.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Assesses heuristic market top risk using O'Neil Distribution Days, Minervini Leading Stock Deterioration, and Monty Defensive Sector Rotation. Generates a 0-100 composite score with risk zone classification. Use when user asks about market top risk, distribution days, defensive rotation, leadership breakdown, or whether to reduce equity exposure. Focuses on 2-8 week tactical timing signals for 10-20% corrections.

实测评分 未实测

查看安装方法

适用场景

  • Assessing correction risk over the next two to eight weeks
  • Tracking accumulated institutional selling signals
  • Checking defensive rotation and weakening market leaders
  • Reviewing when to reduce equity exposure

包含的文件(43)

  • SKILL.md9.3 KB
  • references/distribution_day_guide.md4.3 KB
  • references/historical_tops.md7.1 KB
  • references/market_top_methodology.md7.2 KB
  • references/point_in_time_evaluation.md5.0 KB
  • requirements.txt293 B
  • scripts/_market_calendar.py11.1 KB
  • scripts/breadth_csv_client.py4.0 KB
  • scripts/calculators/__init__.py732 B
  • scripts/calculators/breadth_calculator.py3.8 KB
  • scripts/calculators/defensive_rotation_calculator.py7.1 KB
  • scripts/calculators/distribution_day_calculator.py6.4 KB
  • scripts/calculators/index_technical_calculator.py7.4 KB
  • scripts/calculators/leading_stock_calculator.py9.3 KB
  • scripts/calculators/math_utils.py1.5 KB
  • scripts/calculators/sentiment_calculator.py6.9 KB
  • scripts/fmp_client.py21.7 KB
  • scripts/historical_comparator.py5.4 KB
  • scripts/market_top_detector.py26.2 KB
  • scripts/report_generator.py17.6 KB
  • scripts/scenario_engine.py4.2 KB
  • scripts/scorer.py19.8 KB
  • scripts/tests/conftest.py307 B
  • scripts/tests/helpers.py1.4 KB
  • scripts/tests/test_breadth_csv_client.py4.5 KB
  • scripts/tests/test_breadth.py2.5 KB
  • scripts/tests/test_defensive_rotation.py5.1 KB
  • scripts/tests/test_delta.py4.6 KB
  • scripts/tests/test_distribution_day.py6.4 KB
  • scripts/tests/test_fmp_client.py26.9 KB
  • scripts/tests/test_freshness.py6.4 KB
  • scripts/tests/test_historical_comparator.py4.0 KB
  • scripts/tests/test_index_technical.py2.9 KB
  • scripts/tests/test_leading_stock.py9.2 KB
  • scripts/tests/test_market_calendar_contract.py5.0 KB
  • scripts/tests/test_math_utils.py2.7 KB
  • scripts/tests/test_report_generator.py7.5 KB
  • scripts/tests/test_risk_interpretation.py1.2 KB
  • scripts/tests/test_scenario_engine.py3.5 KB
  • scripts/tests/test_scorer.py17.3 KB
  • scripts/tests/test_sentiment.py3.6 KB
  • scripts/tests/test_utils.py1.6 KB
  • scripts/utils.py608 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Market Top Detector Skill

Purpose

Assess heuristic market top risk using a 6-component scoring system (0-100). Integrates three market risk methodologies:

  1. O'Neil - Distribution Day accumulation (institutional selling)
  2. Minervini - Leading stock deterioration pattern
  3. Monty - Defensive sector rotation signal

Unlike the Bubble Detector (macro/multi-month evaluation), this skill focuses on tactical 2-8 week timing signals that precede 10-20% market corrections.

Score interpretation

Treat the 0-100 composite as a heuristic risk score, not an estimated event probability. A score of 70 does not mean a 70% chance of a top. Risk-budget percentages are policy heuristics, not measured outcome frequencies. Historical patterns are retrospective estimates, not point-in-time evidence. Report no comparable episode when any component is unavailable/invalid or nearest-pattern weighted RMS exceeds 15 points. This tolerance is a predeclared heuristic, not an empirically validated similarity threshold. Follow the point-in-time evaluation protocol before making calibration claims. No measured calibration results are supplied.

When to Use This Skill

English:

  • User asks "Is the market topping?" or "Are we near a top?"
  • User notices distribution days accumulating
  • User observes defensive sectors outperforming growth
  • User sees leading stocks breaking down while indices hold
  • User asks about reducing equity exposure timing
  • User wants to assess correction risk for the next 2-8 weeks

Japanese:

  • 「天井が近い?」「今は利確すべき?」
  • ディストリビューションデーの蓄積を懸念
  • ディフェンシブセクターがグロースをアウトパフォーム
  • 先導株が崩れ始めているが指数はまだ持ちこたえている
  • エクスポージャー縮小のタイミング判断
  • 今後2〜8週間の調整リスクを評価したい

Prerequisites

Required:

  • FMP API Key: Set $FMP_API_KEY environment variable or pass --api-key. Free tier sufficient (~33 API calls per execution).
  • WebSearch Access: Required to collect S&P 500 breadth (50DMA %) and CBOE Put/Call ratio data.

Optional:

  • Margin Debt Data: Enhances sentiment scoring but typically 1-2 months lagged.
  • VIX Term Structure: Auto-detected from FMP API if VIX3M quote available; manual override via --vix-term.

Data Freshness: All manually collected data should be from the most recent 3 business days for accurate analysis.

Difference from Bubble Detector

AspectMarket Top DetectorBubble Detector
Timeframe2-8 weeksMonths to years
Target10-20% correctionBubble collapse (30%+)
MethodologyO'Neil/Minervini/MontyMinsky/Kindleberger
DataPrice/Volume + BreadthValuation + Sentiment + Social
Score Range0-100 composite0-15 points

Execution Workflow

Phase 1: Data Collection via WebSearch

Before running the Python script, collect the following data using WebSearch. Data Freshness Requirement: All data must be from the most recent 3 business days. Stale data degrades analysis quality.

1. S&P 500 Breadth (200DMA above %)
   AUTO-FETCHED from TraderMonty CSV (no WebSearch needed)
   The script fetches this automatically from GitHub Pages CSV data.
   Override: --breadth-200dma [VALUE] to use a manual value instead.
   Disable: --no-auto-breadth to skip auto-fetch entirely.

2. [REQUIRED] S&P 500 Breadth (50DMA above %)
   Valid range: 20-100
   Primary search: "S&P 500 percent stocks above 50 day moving average"
   Fallback: "market breadth 50dma site:barchart.com"
   Direct fallback when search snippets are poor: fetch `https://www.barchart.com/stocks/quotes/$S5FI/overview` and extract the embedded `lastPrice` / `tradeTime` for “S&P 500 Stocks Above 50-Day Average”.
   Record the data date

3. [REQUIRED] CBOE Equity Put/Call Ratio
   Valid range: 0.30-1.50
   Primary search: "CBOE equity put call ratio today"
   Fallback: "CBOE total put call ratio current"
   Fallback: "put call ratio site:cboe.com"
   Direct fallback when Cboe CSV endpoints are stale: fetch `https://ycharts.com/indicators/cboe_equity_put_call_ratio` and parse the “Last Value” / “Latest Period” table fields. Treat this as a secondary source and cite it in freshness notes.
   Record the data date

4. [OPTIONAL] VIX Term Structure
   Values: steep_contango / contango / flat / backwardation
   Primary search: "VIX VIX3M ratio term structure today"
   Fallback: "VIX futures term structure contango backwardation"
   Note: Auto-detected from FMP API if VIX3M quote available.
   CLI --vix-term overrides auto-detection.

5. [OPTIONAL] Margin Debt YoY %
   Primary search: "FINRA margin debt latest year over year percent"
   Fallback: "NYSE margin debt monthly"
   Note: Typically 1-2 months lagged. Record the reporting month.

Phase 2: Execute Python Script

Run the script with collected data as CLI arguments:

python3 skills/market-top-detector/scripts/market_top_detector.py \
  --api-key $FMP_API_KEY \
  --breadth-50dma [VALUE] --breadth-50dma-date [YYYY-MM-DD] \
  --put-call [VALUE] --put-call-date [YYYY-MM-DD] \
  --vix-term [steep_contango|contango|flat|backwardation] \
  --margin-debt-yoy [VALUE] --margin-debt-date [YYYY-MM-DD] \
  --output-dir reports/ \
  --context "Consumer Confidence=[VALUE]" "Gold Price=[VALUE]"
# 200DMA breadth is auto-fetched from TraderMonty CSV.
# Override with --breadth-200dma [VALUE] if needed.
# Disable with --no-auto-breadth to skip auto-fetch.

The script will:

  1. Fetch S&P 500, QQQ, VIX quotes and history from FMP API
  2. Fetch Leading ETF (ARKK, WCLD, IGV, XBI, SOXX, SMH, KWEB, TAN) data
  3. Fetch Sector ETF (XLU, XLP, XLV, VNQ, XLK, XLC, XLY) data
  4. Calculate all 6 components
  5. Generate composite score and reports

Phase 3: Present Results

Present the generated Markdown report to the user, highlighting:

  • Composite score and risk zone
  • Data freshness warnings (if any data older than 3 days)
  • Strongest warning signal (highest component score)
  • Historical comparison (closest past top pattern)
  • What-if scenarios (sensitivity to key changes)
  • Recommended actions based on risk zone
  • Follow-Through Day status (if applicable)
  • Delta vs previous run (if prior report exists)

6-Component Scoring System

#ComponentWeightData SourceKey Signal
1Distribution Day Count25%FMP APIInstitutional selling in last 25 trading days
2Leading Stock Health20%FMP APIGrowth ETF basket deterioration
3Defensive Sector Rotation15%FMP APIDefensive vs Growth relative performance
4Market Breadth Divergence15%Auto (CSV) + WebSearch200DMA (auto) / 50DMA (WebSearch) breadth vs index level
5Index Technical Condition15%FMP APIMA structure, failed rallies, lower highs
6Sentiment & Speculation10%FMP + WebSearchVIX, Put/Call, term structure

Risk Zone Mapping

ScoreZoneRisk BudgetAction
0-20Green (Normal)100%Normal operations
21-40Yellow (Early Warning)80-90%Tighten stops, reduce new entries
41-60Orange (Elevated Risk)60-75%Profit-taking on weak positions
61-80Red (High Risk)40-55%Aggressive profit-taking
81-100Critical (Very High Risk)20-35%Maximum defense, hedging

Exchange Calendar and Replay

Install requirements.txt before running the detector. Freshness uses XNYS sessions rather than weekdays. --as-of YYYY-MM-DD is accepted for the live evaluation date, but historical live replay fails closed because the current quote endpoints are not point-in-time sources.

API Requirements

Required: FMP API key (free tier sufficient: ~33 calls per execution) Optional: WebSearch data for breadth and sentiment (improves accuracy)

Output Files

  • JSON: market_top_YYYY-MM-DD_HHMMSS.json
  • Markdown: market_top_YYYY-MM-DD_HHMMSS.md

Reference Documents

references/market_top_methodology.md

  • Full methodology with O'Neil, Minervini, and Monty frameworks
  • Component scoring details and thresholds
  • Historical validation notes

references/distribution_day_guide.md

  • Detailed O'Neil Distribution Day rules
  • Stalling day identification
  • Follow-Through Day (FTD) mechanics

references/historical_tops.md

  • Analysis of 2000, 2007, 2018, 2022 market tops
  • Component score patterns during historical tops
  • Lessons learned and retrospective illustrative estimates

When to Load References

  • First use: Load market_top_methodology.md for full framework understanding
  • Distribution day questions: Load distribution_day_guide.md
  • Historical context: Load historical_tops.md
  • Regular execution: References not needed - script handles scoring

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Plan and assess backtests, which test trading rules against historical data. Examine sensitivity to rule changes, trading costs, and data bias, then use supplied performance metrics to generate a structured evaluation with reasons that block adoption.

中文简介正在准备中。当前显示英语简介。

  • Define a backtesting plan for rule-based trading
  • Test sensitivity to parameters and trading costs
  • Investigate suspiciously strong backtest results
tradermonty/claude-trading-skills32572026年10月24日 更新

Assess how broadly US stock market gains are shared across stocks using public CSV data and optional charts. Produce English reports covering market conditions, trading signals, scenarios, and positioning for different investment timeframes.

中文简介正在准备中。当前显示英语简介。

  • Checking how broadly US stocks are participating in a market rise
  • Reviewing medium- to long-term market positioning
  • Assessing short-term swing trading signals
tradermonty/claude-trading-skills32572026年10月24日 更新

Analyze chart images showing how broadly US stocks are participating in market trends. Assess medium-term conditions and short-term signals, then produce an English report with positioning guidance, alternative scenarios, and risks based on the visible data.

中文简介正在准备中。当前显示英语简介。

  • Assessing the market cycle from an S&P 500 breadth chart
  • Checking short-term signals in an uptrend stock ratio chart
  • Comparing medium-term and short-term market signals
tradermonty/claude-trading-skills32572026年10月24日 更新

Turn VCP screening results, which identify narrowing price swings, into breakout trade plans. Calculate entry, stop-loss, target prices, and position sizes using worst-case entries, while applying portfolio risk limits and producing Alpaca-compatible order templates.

中文简介正在准备中。当前显示英语简介。

  • Planning entries, stop-losses, and profit targets for VCP candidates
  • Calculating position sizes from account size and risk limits
  • Checking total portfolio risk and sector exposure
tradermonty/claude-trading-skills32572026年10月24日 更新

Screen US growth stocks with William O'Neil's CANSLIM method, which evaluates seven factors including earnings, price strength, trading volume, and market direction. Receive ranked candidates with composite scores, factor breakdowns, market warnings, and data quality notes.

中文简介正在准备中。当前显示英语简介。

  • Find US stocks with earnings growth and price momentum
  • Compare a chosen list of stocks using CANSLIM scores
  • Screen a sector-focused stock list
tradermonty/claude-trading-skills32572026年10月24日 更新

Combine three reports on crowded positions, failed reactions to news, and weekly price reversals into one trading setup status. Identify missing or invalid evidence and determine whether the setup is ready for planning.

中文简介正在准备中。当前显示英语简介。

  • Combine three contrarian strategy reports
  • Check which confirmations are still missing
  • Find stale or inconsistent input reports
tradermonty/claude-trading-skills32572026年10月24日 更新

查看 tradermonty 的全部技能

报告此技能的问题