PluginBench
Skill
Pass
Audit score 90

macro-regime-detector

tradermonty/claude-trading-skills

Detect 1-2 year macro regime transitions using cross-asset ratio analysis to inform strategic positioning.

What is macro-regime-detector?

Identifies structural market regime shifts (Concentration, Broadening, Contraction, Inflationary, Transitional) by analyzing six components: market concentration (RSP/SPY), yield curve, credit conditions, size factor, equity-bond relationship, and sector rotation. Use when assessing long-term market positioning or structural rotations.

  • Analyzes RSP/SPY, IWM/SPY, HYG/LQD, SPY/TLT, XLY/XLP ratios and 10Y-2Y yield curve spread
  • Fetches 600 days of monthly-frequency data for 9 ETFs via yfinance or FMP API
  • Classifies current regime into five states: Concentration, Broadening, Contraction, Inflationary, or Transitional
  • Generates structured JSON and human-readable Markdown reports with component details and portfolio recommendations
  • Weights six detection components (25% concentration, 20% yield curve, 15% credit, 15% size, 15% equity-bond, 10% sector)
  • Fails closed—produces no report if insufficient data available for regime determination

How to install macro-regime-detector

npx skills add https://github.com/tradermonty/claude-trading-skills --skill macro-regime-detector
Prerequisites
  • Python 3.7+ with yfinance and requests libraries (install via requirements.txt)
  • FMP API key (optional; enables Treasury data and FMP ETF history; free tier may not cover all symbols)
Claude Code
Cursor
Windsurf
Cline

How to use macro-regime-detector

  1. 1.Install dependencies: pip install -r skills/macro-regime-detector/requirements.txt
  2. 2.Run the detector: uv run python3 skills/macro-regime-detector/scripts/macro_regime_detector.py --output-dir reports/
  3. 3.Review the generated Markdown report for Current Regime Assessment, Transition Signals, and Component Details
  4. 4.Consult references/historical_regimes.md for historical parallels if user asks for context
  5. 5.Use JSON output for programmatic integration into portfolio systems

Use cases

Good for
  • Assess whether mega-cap concentration is reversing into market broadening for tactical allocation shifts
  • Evaluate credit cycle risk by monitoring HYG/LQD ratio during economic transitions
  • Determine if yield curve inversion signals regime change and defensive positioning is warranted
  • Identify small-cap rotation opportunities when IWM/SPY breaks above historical resistance
  • Monitor equity-bond correlation regime to validate or challenge traditional hedging assumptions
Who it's for
  • Portfolio managers evaluating 1-2 year strategic positioning
  • Macro traders analyzing structural market rotations and regime transitions
  • Risk managers assessing credit cycle and equity-bond relationship shifts
  • Quantitative analysts building regime-aware allocation models

macro-regime-detector FAQ

What happens if FMP API key is not set?

The script runs in yfinance-only mode and uses SHY/TLT as the yield-curve fallback instead of Treasury rates. Coverage may be reduced but the detector still functions.

Why does the script fail closed and produce no report?

The detector requires usable data from at least one of its six components. If all components lack sufficient data, no report is written to avoid false regime signals.

How often should I run this skill?

Monthly, after market close, since the detector uses monthly-frequency data and identifies 1-2 year structural shifts rather than tactical moves.

What is the difference between this and Market Top Detector?

Macro Regime Detector targets 1-2 year structural transitions with monthly data; Market Top Detector targets 2-8 week tactical corrections with daily data.

Can I use this for intraday or weekly trading?

No. This skill is designed for 1-2 year strategic positioning using monthly-frequency cross-asset ratios, not short-term tactical trading.

Full instructions (SKILL.md)

Source of truth, from tradermonty/claude-trading-skills.


name: macro-regime-detector description: Detect structural macro regime transitions (1-2 year horizon) using cross-asset ratio analysis. Analyze RSP/SPY concentration, yield curve, credit conditions, size factor, equity-bond relationship, and sector rotation to identify regime shifts between Concentration, Broadening, Contraction, Inflationary, and Transitional states. Run when user asks about macro regime, market regime change, structural rotation, or long-term market positioning.

Macro Regime Detector

Detect structural macro regime transitions using monthly-frequency cross-asset ratio analysis. This skill identifies 1-2 year regime shifts that inform strategic portfolio positioning.

When to Use

  • User asks about current macro regime or regime transitions
  • User wants to understand structural market rotations (concentration vs broadening)
  • User asks about long-term positioning based on yield curve, credit, or cross-asset signals
  • User references RSP/SPY ratio, IWM/SPY, HYG/LQD, or other cross-asset ratios
  • User wants to assess whether a regime change is underway

Workflow

  1. Load reference documents for methodology context:

    • references/regime_detection_methodology.md
    • references/indicator_interpretation_guide.md
  2. Execute the main analysis script:

    python3 -m pip install -r skills/macro-regime-detector/requirements.txt
    uv run python3 skills/macro-regime-detector/scripts/macro_regime_detector.py --output-dir reports/
    

    This fetches 600 days of data for 9 ETFs. With an FMP key, the client tries FMP first and fetches Treasury rates (~10 API calls total), then falls back to yfinance for unavailable ETF history. Without an FMP key, it runs in yfinance-only mode and uses SHY/TLT as the yield-curve fallback.

    The detector fails closed and writes no report when none of its six components has usable data. Do not treat a missing report or non-zero exit as a valid low-transition regime.

  3. Read the generated Markdown report and present findings to user.

  4. Provide additional context using references/historical_regimes.md when user asks about historical parallels.

Prerequisites

  • Python dependencies (required): install requirements.txt, including yfinance and requests
  • FMP API Key (optional): set FMP_API_KEY or pass --api-key to use FMP and Treasury data before the yfinance/SHY-TLT fallbacks
  • The FMP free tier may not serve every ETF; unavailable symbols automatically use yfinance

6 Components

#ComponentRatio/DataWeightWhat It Detects
1Market ConcentrationRSP/SPY25%Mega-cap concentration vs market broadening
2Yield Curve10Y-2Y spread20%Interest rate cycle transitions
3Credit ConditionsHYG/LQD15%Credit cycle risk appetite
4Size FactorIWM/SPY15%Small vs large cap rotation
5Equity-BondSPY/TLT + correlation15%Stock-bond relationship regime
6Sector RotationXLY/XLP10%Cyclical vs defensive appetite

5 Regime Classifications

  • Concentration: Mega-cap leadership, narrow market
  • Broadening: Expanding participation, small-cap/value rotation
  • Contraction: Credit tightening, defensive rotation, risk-off
  • Inflationary: Positive stock-bond correlation, traditional hedging fails
  • Transitional: Multiple signals but unclear pattern

Output

  • macro_regime_YYYY-MM-DD_HHMMSS.json — Structured data for programmatic use
  • macro_regime_YYYY-MM-DD_HHMMSS.md — Human-readable report with:
    1. Current Regime Assessment
    2. Transition Signal Dashboard
    3. Component Details
    4. Regime Classification Evidence
    5. Portfolio Posture Recommendations

Relationship to Other Skills

AspectMacro Regime DetectorMarket Top DetectorMarket Breadth Analyzer
Time Horizon1-2 years (structural)2-8 weeks (tactical)Current snapshot
Data GranularityMonthly (6M/12M SMA)Daily (25 business days)Daily CSV
Detection TargetRegime transitions10-20% correctionsBreadth health score
API Calls~10~330 (Free CSV)

Script Arguments

python3 macro_regime_detector.py [options]

Options:
  --api-key KEY       FMP API key (default: $FMP_API_KEY)
  --output-dir DIR    Output directory (default: current directory)
  --days N            Days of history to fetch (default: 600)

Resources

  • references/regime_detection_methodology.md — Detection methodology and signal interpretation
  • references/indicator_interpretation_guide.md — Guide for interpreting cross-asset ratios
  • references/historical_regimes.md — Historical regime examples for context