mcpField
U
uptrend-analyzer

uptrend-analyzer

github.com/tradermontyその他3.4k3.4k 回インストール2 日前に更新
リポジトリ

uptrend-analyzer について

MontyのUptrend Ratioデータを使って市場のブレッドスを分析し、市場全体とセクター別の参加度を0〜100のスコアとエクスポージャー指針で示すスキルです。無料のCSVで上昇の広がりを評価し、参加度やセクターローテーションを調べる分析者向けです。

主な機能

  1. 015項目のスコアリング
  2. 02市場全体とセクター参加度の分析
  3. 03セクターローテーションとモメンタムの評価
  4. 04ゾーン別エクスポージャー指針
  5. 05JSONとMarkdownレポートの生成

活用シーン

  1. 01相場上昇への参加の広がりを確認
  2. 02セクターごとの上昇トレンド比率を比較
  3. 03セクターローテーションとモメンタムを把握
  4. 04ブレッドススコアに基づきエクスポージャーを調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tradermonty/claude-trading-skills --skill uptrend-analyzer

インストール後、Claude Code で/uptrend-analyzerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

requirements.txt
references/
uptrend_methodology.md
scripts/
data_fetcher.py
provenance_contract.py
report_generator.py
scorer.py
uptrend_analyzer.py
scripts/calculators/
__init__.py
historical_context_calculator.py
market_breadth_calculator.py
momentum_calculator.py
sector_participation_calculator.py
sector_rotation_calculator.py
scripts/tests/
conftest.py
helpers.py
test_data_fetcher_schema_drift.py
test_data_fetcher.py
test_historical_context_calculator.py
test_main_provenance.py
test_market_breadth_calculator.py
test_momentum_calculator.py
test_new_features.py
test_provenance_contract.py
test_report_generator.py
test_scorer.py
test_sector_participation_calculator.py
test_sector_rotation_calculator.py
test_uptrend_analyzer.py

詳細

Uptrend Analyzer Skill

Purpose

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.

When to Use This Skill

English:

  • User asks "Is the market breadth healthy?" or "How broad is the rally?"
  • User wants to assess uptrend ratios across sectors
  • User asks about market participation or breadth conditions
  • User needs exposure guidance based on breadth analysis
  • User references Monty's Uptrend Dashboard or uptrend ratios

Japanese:

  • 「市場のブレドスは健全?」「上昇の裾野は広い?」
  • セクター別のアップトレンド比率を確認したい
  • 相場参加率・ブレドス状況を診断したい
  • ブレドス分析に基づくエクスポージャーガイダンスが欲しい
  • Montyのアップトレンドダッシュボードについて質問

Prerequisites

  • Python 3.9+ with the requests library (CSV parsing uses the stdlib csv/io modules)
  • Internet connection to fetch CSV data from GitHub (no API key required)
  • No paid API subscriptions needed

Difference from Market Top Detector

AspectUptrend AnalyzerMarket Top Detector
Score DirectionHigher = healthierHigher = riskier
Data SourceFree GitHub CSVFMP API (paid)
FocusBreadth participationTop formation risk
API KeyNot requiredRequired (FMP)
MethodologyMonty Uptrend RatiosO'Neil/Minervini/Monty

Execution Workflow

Phase 1: Execute Python Script

Run the analysis script (no API key needed):

python3 skills/uptrend-analyzer/scripts/uptrend_analyzer.py

The script will:

  1. Download CSV data from Monty's GitHub repository
  2. Calculate 5 component scores
  3. Generate composite score and reports
Phase 2: Present Results

Present the generated Markdown report to the user, highlighting:

  • Composite score and zone classification
  • Exposure guidance (Full/Normal/Reduced/Defensive/Preservation)
  • Sector heatmap showing strongest and weakest sectors
  • Key momentum and rotation signals

5-Component Scoring System

#ComponentWeightKey Signal
1Market Breadth (Overall)30%Ratio level + trend direction
2Sector Participation25%Uptrend sector count + ratio spread
3Sector Rotation15%Cyclical vs Defensive balance
4Momentum20%Slope direction + acceleration
5Historical Context10%Percentile rank in history

Scoring Zones

ScoreZoneExposure Guidance
80-100Strong BullFull Exposure (100%)
60-79BullNormal Exposure (80-100%)
40-59NeutralReduced Exposure (60-80%)
20-39CautiousDefensive (30-60%)
0-19BearCapital Preservation (0-30%)
7-Level Zone Detail

Each scoring zone is further divided into sub-zones for finer-grained assessment:

ScoreZone DetailColor
80-100Strong BullGreen
70-79Bull-UpperLight Green
60-69Bull-LowerLight Green
40-59NeutralYellow
30-39Cautious-UpperOrange
20-29Cautious-LowerOrange
0-19BearRed
Warning System

Active warnings trigger exposure penalties that tighten guidance even when the composite score is high:

WarningConditionPenalty
Late CycleCommodity avg > both Cyclical and Defensive-5
High SpreadMax-min sector ratio spread > 40pp-3
DivergenceIntra-group std > 8pp, spread > 20pp, or trend dissenters-3

Penalties stack (max -10) + multi-warning discount (+1 when ≥2 active). Applied after composite scoring.

モメンタムの平滑化

スコアリングの前に、傾きの値を EMA(3)(指数移動平均、span=3)で平滑化します。加速度は、平滑化した傾きの直近10ポイントの平均と、それ以前の10ポイントの平均を比較して算出します(10対10のウィンドウ)。データポイントが20個未満の場合は、5対5に切り替えます。

過去データに基づく信頼度指標

Historical Context コンポーネントには、次の要素に基づく信頼度評価が含まれます。

  • サンプルサイズ: 利用可能な過去のデータポイント数
  • レジームのカバー範囲: 観測された異なる市場レジーム(強気/弱気/中立)の割合
  • 新しさ: 最新のデータポイントがどの程度最近のものか

信頼度レベル:高、中、低。


API 要件

必須: なし(無料の GitHub CSV データを使用)

出力ファイル

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

参考ドキュメント

references/uptrend_methodology.md
  • 上昇トレンド比率の定義としきい値
  • 5コンポーネントのスコアリング手法
  • セクター分類(景気循環、ディフェンシブ、コモディティ)
  • 過去データによる調整に関する注記
参考資料を読み込むタイミング
  • 初回使用時: フレームワーク全体を理解するため、uptrend_methodology.md を読み込みます
  • 通常の実行時: スコアリングはスクリプトが処理するため、参考資料は不要です

同一実行の来歴情報

--run-id daily-20261017-unique を、必須の market-regime-daily プロデューサー 2つの両方に渡します。指定しない場合、各プロデューサーはそれぞれ固有の ID を生成します。JSON には、実際の主要時系列の営業日、UTC での取得時刻、ソース、実行 ID を含む schema 1.0 の data_provenance が含まれます。調整、時点整合性、サバイバーシップ、コーポレートアクションに関する不明フラグは false です。補助的なサマリーの日付は未検証のため、すべての複合入力データの鮮度を保証するものではありません。主要日付が欠落しているか、形式が不正な場合、レポート生成は停止します。

これらの実行で出力された JSON のパスをそのまま Exposure Coach の --require-provenance --run-id … --as-of … モードに渡します。実行 ID は呼び出し元が指定する整合性確認用の識別子であり、真正性や時点整合性を証明するものではありません。

コメント