技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
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…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Diagnose market breadth health using Monty's Uptrend Ratio Dashboard, which tracks ~2,800 US stocks across 11 sectors. Generates a 0-100 composite score (higher = healthier) with exposure guidance.
Unlike the Market Top Detector (API-based risk scorer), this skill uses free CSV data to assess "participation breadth" - whether the market's advance is broad or narrow.
English:
Japanese:
requests library (CSV parsing uses the stdlib csv/io modules)| Aspect | Uptrend Analyzer | Market Top Detector |
|---|---|---|
| Score Direction | Higher = healthier | Higher = riskier |
| Data Source | Free GitHub CSV | FMP API (paid) |
| Focus | Breadth participation | Top formation risk |
| API Key | Not required | Required (FMP) |
| Methodology | Monty Uptrend Ratios | O'Neil/Minervini/Monty |
Run the analysis script (no API key needed):
python3 skills/uptrend-analyzer/scripts/uptrend_analyzer.py
The script will:
Present the generated Markdown report to the user, highlighting:
| # | Component | Weight | Key Signal |
|---|---|---|---|
| 1 | Market Breadth (Overall) | 30% | Ratio level + trend direction |
| 2 | Sector Participation | 25% | Uptrend sector count + ratio spread |
| 3 | Sector Rotation | 15% | Cyclical vs Defensive balance |
| 4 | Momentum | 20% | Slope direction + acceleration |
| 5 | Historical Context | 10% | Percentile rank in history |
| Score | Zone | Exposure Guidance |
|---|---|---|
| 80-100 | Strong Bull | Full Exposure (100%) |
| 60-79 | Bull | Normal Exposure (80-100%) |
| 40-59 | Neutral | Reduced Exposure (60-80%) |
| 20-39 | Cautious | Defensive (30-60%) |
| 0-19 | Bear | Capital Preservation (0-30%) |
Each scoring zone is further divided into sub-zones for finer-grained assessment:
| Score | Zone Detail | Color |
|---|---|---|
| 80-100 | Strong Bull | Green |
| 70-79 | Bull-Upper | Light Green |
| 60-69 | Bull-Lower | Light Green |
| 40-59 | Neutral | Yellow |
| 30-39 | Cautious-Upper | Orange |
| 20-29 | Cautious-Lower | Orange |
| 0-19 | Bear | Red |
Active warnings trigger exposure penalties that tighten guidance even when the composite score is high:
| Warning | Condition | Penalty |
|---|---|---|
| Late Cycle | Commodity avg > both Cyclical and Defensive | -5 |
| High Spread | Max-min sector ratio spread > 40pp | -3 |
| Divergence | Intra-group std > 8pp, spread > 20pp, or trend dissenters | -3 |
Penalties stack (max -10) + multi-warning discount (+1 when ≥2 active). Applied after composite scoring.
Slope values are smoothed using EMA(3) (Exponential Moving Average, span=3) before scoring. Acceleration is calculated by comparing the recent 10-point average vs prior 10-point average of smoothed slopes (10v10 window), with fallback to 5v5 when fewer than 20 data points are available.
The Historical Context component includes a confidence assessment based on:
Confidence levels: High, Medium, Low.
Required: None (uses free GitHub CSV data)
uptrend_analysis_YYYY-MM-DD_HHMMSS.jsonuptrend_analysis_YYYY-MM-DD_HHMMSS.mdreferences/uptrend_methodology.mduptrend_methodology.md for full framework understanding