CommunityRedacción y edicióngithub.com

tradermonty/theme-detector

Detecta y analiza las tendencias temáticas del mercado entre sectores. Útil cuando el usuario pregunta sobre temas actuales del mercado, sectores en tendencia, rotación sectorial, inversión temática, qué temas están caliente o fríos, o desea identificar narrativas alcistas y bajistas del mercado con análisis de ciclo de vida.

¿Qué es theme-detector?

Theme Detector es una habilidad de IA agente que identifica y clasifica las tendencias temáticas del mercado mediante el análisis de señales de momento, volumen y amplitud entre sectores. Utiliza un modelo de puntuación tridimensional que mide el calor del tema (0-100), la madurez del ciclo de vida (Emergente/Acelerando/En Tendencia/Maduro/Agotado) y la confianza (Baja/Media/Alta). Para los temas mejor clasificados, la habilidad puede realizar una confirmación narrativa opcional mediante WebSearch para mejorar la puntuación de confianza. Admite dos modos de operación: FINVIZ Elite para datos de industria rápidos y completos, y scraping público de FINVIZ para acceso sin clave API (más lento, con límites de tasa). La habilidad es compatible con plataformas como Claude Code, Cursor y Codex, y su script se ejecuta a través de la línea de comandos de Python, produciendo archivos de salida JSON y Markdown en un directorio de informes. Es particularmente valiosa para traders e inversores que buscan comprender las narrativas amplias del mercado, identificar señales tempranas de rotación sectorial, evaluar si un tema está saturado o emergente, y encontrar evidencia de liderazgo a nivel de acciones. La habilidad se integra con datos de 'scan-hits' y 'narrative-scores' offline opcionales para clasificar acciones líderes y evaluar la calidad de coincidencia temática mediante canastas de acciones explícitas y confirmación de ETF proxy.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tradermonty/claude-trading-skills/tree/main/skills/theme-detector

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Theme Detector - Detector de Temas del Mercado

Descripción General

Esta habilidad detecta y clasifica las tendencias temáticas del mercado mediante el análisis de señales de momento, volumen y amplitud entre sectores. Identifica tanto temas alcistas (momento alcista) como bajistas (presión bajista), evalúa la madurez del ciclo de vida (Emergente/Acelerando/En Tendencia/Maduro/Agotado) y proporciona una puntuación de confianza que combina datos cuantitativos con análisis narrativos.

Modelo de Puntuación Tridimensional:

  1. Calor del Tema (0-100): Fuerza del tema independiente de la dirección (momento, volumen, ratio de tendencia alcista, amplitud)
  2. Madurez del Ciclo de Vida: Clasificación de etapas (Emergente / Acelerando / En Tendencia / Maduro / Agotado) basada en duración, agrupación extrema, valoración y proliferación de ETF
  3. Confianza (Baja / Media / Alta): Fiabilidad de la detección, que combina amplitud cuantitativa con confirmación narrativa. El script limita la puntuación a Media; el paso de confirmación narrativa WebSearch de Claude puede elevarla a Alta.
  4. Liderazgo de Acciones: Evidencia opcional de escaneos diarios de hits de 5D+20%, EP9M, expansión de rango, nuevos máximos y acciones de alto RS. Cuando se proporciona, se integra en el Calor del Tema v2; cuando está ausente, reduce la cobertura de la confianza pero no fuerza el liderazgo a cero.
  5. Calidad de Coincidencia Temática: Especificidad de la coincidencia del tema en función de la participación de la industria, los aciertos explícitos en la canasta de acciones, la confirmación de ETF proxy y las puntuaciones narrativas offline opcionales. Esto es calidad de evidencia, no una recomendación de negociación.

Características Clave:

  • Detección de temas intersectoriales utilizando datos de industria de FINVIZ
  • Puntuación con conciencia de dirección (temas alcistas y bajistas)
  • Evaluación de la madurez del ciclo de vida para identificar operaciones saturadas vs. emergentes
  • Puntuación de proliferación de ETF (más ETF = tema más maduro/saturado)
  • Integración con el panel de control de uptrend para evaluación en 3 puntos
  • Evidencia de liderazgo a nivel de acciones mediante --scan-hits
  • Calidad de coincidencia temática mediante canastas de acciones explícitas y confirmación de ETF proxy
  • Evidencia de candidatos líderes clasificados por movimiento anormal/volumen/rango/métricas de RS, con capitalización de mercado mostrada solo como un grupo de riesgo
  • Historial de temas y métricas de aceleración mediante --history-file
  • Modo de operación dual: FINVIZ Elite (rápido) o scraping público (más lento, limitado)
  • Confirmación narrativa basada en WebSearch para los temas principales

Cuándo Usar Esta Habilidad

Disparadores Explícitos:

  • "¿Qué temas del mercado están en tendencia ahora mismo?"
  • "¿Qué sectores están calientes/fríos?"
  • "Detectar temas actuales del mercado"
  • "¿Cuáles son las narrativas alcistas/bajistas más fuertes?"
  • "¿Sigue siendo la IA/energía limpia/defensa un tema fuerte?"
  • "¿Hacia dónde se dirige la rotación sectorial?"
  • "Muéstrame oportunidades de inversión temática"

Disparadores Implícitos:

  • El usuario quiere comprender los cambios amplios en la narrativa del mercado
  • El usuario busca ideas de ETF temáticos o asignación sectorial
  • El usuario pregunta sobre operaciones saturadas o temas de ciclo tardío
  • El usuario quiere saber qué temas están emergiendo vs. agotados

Cuándo NO Usar:

  • Análisis de acciones individuales (usar us-stock-analysis en su lugar)
  • Inmersión profunda en un sector específico con lectura de gráficos (usar sector-analyst en su lugar)
  • Reequilibrio de cartera (usar portfolio-manager en su lugar)
  • Inversión en dividendos/ingresos (usar value-dividend-screener en su lugar)

Requisitos Previos

Requeridos:

  • Python 3.9+ con dependencias principales.
    pip install -r skills/theme-detector/requirements.txt
    

Solución temporal / Python mixto: Si el python3 activo es anterior a 3.10, o un Hermes venv más nuevo carece de las dependencias de ciencia de datos, ejecute el detector a través de uv con un intérprete moderno explícito y dependencias temporales en lugar de editar el entorno durante el cron:

uv run --python 3.12 \
  --with requests --with beautifulsoup4 --with lxml \
  --with pandas --with numpy --with yfinance \
  --with finvizfinance --with PyYAML \
  python skills/theme-detector/scripts/theme_detector.py \
  --finviz-api-key "$FINVIZ_API_KEY" \
  --fmp-api-key "$FMP_API_KEY" \
  --output-dir reports/

Use esto como una solución temporal de configuración, no como evidencia de que el detector está roto; informe cualquier problema con los datos de FINVIZ/FMP/API por separado.

Claves API Opcionales:

FINVIZ Elite (recomendado para cobertura completa de industria y velocidad):

export FINVIZ_API_KEY=su_clave_api_finviz_elite_aqui

FMP API (opcional, para datos de valoración de ratio P/E):

export FMP_API_KEY=su_clave_api_fmp_aqui

Los requisitos incluyen finvizfinance, PyYAML, pandas/numpy, requests y yfinance porque la ejecución en modo público normal importa o utiliza cada uno de ellos.

Sin FINVIZ Elite, la habilidad utiliza scraping público de FINVIZ (limitado a ~20 acciones por industria, límites de tasa más lentos).


Flujo de Trabajo

Paso 1: Verificar el Entorno

Compruebe que las claves API estén configuradas (consulte Requisitos Previos):

# Verificar la clave API de FINVIZ Elite (opcional pero recomendada)
echo $FINVIZ_API_KEY

# Verificar la clave API de FMP (opcional)
echo $FMP_API_KEY

Paso 2: Ejecutar el Script de Detección de Temas

Ejecute el script de detección principal:

python3 skills/theme-detector/scripts/theme_detector.py \
  --output-dir reports/

Opciones del Script:

# Ejecución completa (modo FINVIZ público, no se requiere clave API)
python3 skills/theme-detector/scripts/theme_detector.py \
  --output-dir reports/

# Con clave API de FINVIZ Elite
python3 skills/theme-detector/scripts/theme_detector.py \
  --finviz-api-key $FINVIZ_API_KEY \
  --output-dir reports/

# Con clave API de FMP para datos mejorados de acciones
python3 skills/theme-detector/scripts/theme_detector.py \
  --fmp-api-key $FMP_API_KEY \
  --output-dir reports/

# Límites personalizados
python3 skills/theme-detector/scripts/theme_detector.py \
  --max-themes 5 \
  --max-stocks-per-theme 10 \
  --output-dir reports/

# Modo FINVIZ explícito
python3 skills/theme-detector/scripts/theme_detector.py \
  --finviz-mode public \
  --output-dir reports/

# Añadir evidencia de liderazgo al estilo Stockbee/Pradeep
python3 skills/theme-detector/scripts/theme_detector.py \
  --scan-hits data/theme_scan_hits_YYYY-MM-DD.json \
  --narrative-scores data/theme_narrative_scores_YYYY-MM-DD.json \
  --history-file reports/theme_detector_history.json \
  --as-of-date YYYY-MM-DD \
  --output-dir reports/

Contrato de entrada de scan-hit: --scan-hits acepta JSON, JSONL o CSV. Las filas pueden estar preetiquetadas con scan_type / scan_types, o filas sin procesar con campos como symbol, return_5d, change_pct, volume, avg_volume_50d, relative_volume, true_range, atr_20, atr_expansion, close_location, industry, sector y theme_guess. Una fila sin procesar puede expandirse en múltiples hits cuando cumple múltiples reglas.

Reglas de escaneo inicial:

  • five_day_20pct: return_5d >= 20
  • ep9m: volume >= 9,000,000, relative_volume >= 2.0 y change_pct >= 4
  • range_expansion: change_pct >= 4, true_range / atr_20 >= 1.5 o atr_expansion >= 1.5, y close_location >= 0.75
  • new_high: new_high / is_new_high explícito, o evidencia de máximo de 52 semanas
  • high_rs: rs_rating >= 90 o relative_strength >= 0.90 normalizado

Contrato de entrada de narrative-score: --narrative-scores es una entrada JSON offline, no una llamada WebSearch en vivo. Acepta {"Nombre del Tema": 82} o {"themes": {"Nombre del Tema": {"narrative_keyword_score": 82}}}. La falta de entrada narrativa deja narrative_keyword_score como null y reduce theme_match_coverage; no falla la ejecución.

Tiempo de Ejecución Esperado:

  • Modo FINVIZ Elite: ~2-3 minutos (14+ temas)
  • Modo FINVIZ público: ~5-8 minutos (scraping con límite de tasa)

Paso 3: Leer y Analizar los Resultados de la Detección

El script genera dos archivos de salida:

  • theme_detector_YYYY-MM-DD_HHMMSS.json - Datos estructurados para uso programático
  • theme_detector_YYYY-MM-DD_HHMMSS.md - Informe legible para humanos

Lea la salida JSON para comprender los resultados cuantitativos:

# Buscar el informe más reciente
ls -lt reports/theme_detector_*.json | head -1

# Leer la salida JSON
cat reports/theme_detector_YYYY-MM-DD_HHMMSS.json

Paso 4: Realizar Confirmación Narrativa mediante WebSearch

Para los 5 temas principales (por puntuación de Calor del Tema), ejecute consultas de WebSearch para confirmar la fuerza narrativa:

Patrón de Búsqueda:

"[nombre del tema] acciones mercado [mes actual] [año actual]"
"[nombre del tema] sector momento [mes actual] [año actual]"

Evaluar señales narrativas:

  • Narrativa fuerte: Múltiples medios importantes cubriendo el tema, mejoras de analistas, catalizadores políticos
  • Narrativa moderada: Cierta cobertura, sentimiento mixto, sin catalizador claro
  • Narrativa débil: Poca cobertura, o tono predominantemente contrario/eséptico

Actualice los niveles de Confianza según los hallazgos:

  • Cuantitativo Alto + Narrativa Fuerte = Alta confianza
  • Cuantitativo Alto + Narrativa Débil = Media confianza (posible divergencia de momento)
  • Cuantitativo Bajo + Narrativa Fuerte = Media confianza (la narrativa puede adelantarse al precio)
  • Cuantitativo Bajo + Narrativa Débil = Baja confianza

Paso 5: Analizar Resultados y Proporcionar Recomendaciones

Cruce los resultados de la detección con las bases de conocimiento:

Documentos de Referencia a Consultar:

  1. references/cross_sector_themes.md - Definiciones de temas e industrias constituyentes
  2. references/thematic_etf_catalog.md - Opciones de exposición a ETF por tema
  3. references/theme_detection_methodology.md - Detalles del modelo de puntuación
  4. references/finviz_industry_codes.md - Referencia de clasificación industrial

Marco de Análisis:

Para Temas Alcisitas Calientes (Calor >= 70, Dirección = Alcista):

  • Identificar la etapa del ciclo de vida (Emergente = oportunidad, Maduro/Agotado = precaución)
  • Listar las industrias con mejor rendimiento dentro del tema
  • Recomendar ETF proxy para exposición
  • Señalar si la proliferación de ETF es alta (advertencia de operación saturada)

Para Temas Bajistas Calientes (Calor >= 70, Dirección = Bajista):

  • Identificar industrias bajo presión
  • Evaluar si el momento bajista se está acelerando o desacelerando
  • Recomendar estrategias de cobertura o sectores a evitar
  • Notar posibles oportunidades de reversión a la media si el ciclo de vida es Maduro/Agotado

Para Temas Emergentes (Calor 40-69, Ciclo de Vida = Emergente):

  • Estos pueden representar señales tempranas de rotación
  • Recomendar monitoreo con lista de seguimiento
  • Identificar eventos catalizadores que podrían acelerar el tema

Para Temas Agotados (Calor >= 60, Ciclo de Vida = Agotado):

  • Advertir sobre el riesgo de operación saturada
  • El alto recuento de ETF confirma la participación minorista excesiva
  • Considerar posicionamiento contrario o reducir exposición

Paso 6: Generar Informe Final

Presente el informe final al usuario utilizando la estructura de plantilla de informe:

# Informe de Detección de Temas
**Fecha:** AAAA-MM-DD
**Modo:** FINVIZ Elite / Público
**Temas Analizados:** N
**Calidad de Datos:** [nota sobre limitaciones]

## Panel de Temas
[Tabla de temas principales con Calor, Dirección, Ciclo de Vida, Confianza]

## Lo que Cambió Hoy
[Temas recién emergentes, mayor aceleración de calor, nuevos grupos EP9M, temas en desvanecimiento]

## Evidencia de Liderazgo
[Contadores de 5D+20%, EP9M, expansión de rango, nuevos máximos, alto RS y símbolos de líderes]

## Detalle de Temas Alcisitas
[Análisis detallado de temas alcistas ordenados por Calor]

## Detalle de Temas Bajistas
[Análisis detallado de temas bajistas ordenados por Calor]

## Resumen de Todos los Temas
[Tabla de clasificación completa de temas]

## Clasificaciones de Industria
[Industrias con mejor y peor rendimiento]

## Ratios de Tendencia Alcista por Sector
[Agregación a nivel de sector si hay datos de uptrend disponibles]

## Notas de Metodología
[Breve explicación del modelo de puntuación]

Guarde el informe en el directorio reports/.


Salida

La habilidad genera dos archivos de salida en el directorio reports/:

Salida JSON (theme_detector_YYYY-MM-DD_HHMMSS.json):

{
  "report_type": "theme_detector",
  "generated_at": "2026-04-18 10:30:00",
  "metadata": {
    "generated_at": "2026-04-18 10:30:00",
    "data_mode": "full",
    "finviz_mode": "elite",
    "fmp_available": true,
    "max_themes": 14,
    "max_stocks_per_theme": 5,
    "data_sources": {
      "finviz_industries": 152,
      "yfinance_stocks": 68,
      "etf_volume": 24
    }
  },
  "summary": {
    "total_themes": 14,
    "bullish_count": 8,
    "bearish_count": 6,
    "top_bullish": "AI & Machine Learning",
    "top_bearish": "Regional Banks"
  },
  "themes": {
    "all": [
      {
        "name": "AI & Machine Learning",
        "direction": "bullish",
        "heat": 85.3,
        "maturity": 42.1,
        "stage": "Accelerating",
        "confidence": "Medium",
        "heat_label": "Hot",
        "industries": ["Software - Infrastructure", "Semiconductors"],
        "representative_stocks": ["NVDA", "MSFT"],
        "stock_details": [{"symbol": "NVDA"}, {"symbol": "MSFT"}],
        "proxy_etfs": ["BOTZ", "ROBO"],
        "theme_match_score": 78.4,
        "theme_match_components": {
          "industry_match_score": 84.2,
          "static_stock_hit_score": 80.0,
          "proxy_etf_momentum_score": 70.0,
          "narrative_keyword_score": null
        },
        "leader_candidates": [
          {
            "symbol": "NVDA",
            "leader_score": 91.2,
            "scan_types": ["ep9m", "range_expansion"],
            "risk_bucket": "mega"
          }
        ],
        "theme_origin": "seed"
      }
    ],
    "bullish": [...],
    "bearish": [...],
    "match_ranked": [...]
  },
  "industry_rankings": {
    "top": [...],
    "bottom": [...]
  },
  "sector_uptrend": {...},
  "data_quality": {...}
}

Informe Markdown (theme_detector_YYYY-MM-DD_HHMMSS.md):

  • Panel de Temas con clasificaciones ordenables
  • Secciones de detalle de temas Alcisitas/Bajistas
  • Clasificaciones de rendimiento de industria
  • Resumen de ratio de tendencia alcista por sector
  • Notas de metodología

Campos Clave de Salida (por tema):

CampoDescripción
heatFuerza del tema independiente de la dirección (0-100)
direction"bullish" (LIDER) o "bearish" (RETRASO)
stageEmergente / Acelerando / En Tendencia / Maduro / Agotado
confidenceBaja / Media / Alta (el script limita a Media; WebSearch puede elevar)
representative_stocksPrincipales símbolos de cotización para el tema
stock_detailsObjetos opcionales de métricas de acciones para los representantes seleccionados
proxy_etfsSímbolos de ETF temáticos (longitud = recuento de ETF; más alto = tema más saturado)
theme_match_scorePuntuación de calidad de coincidencia temática (0-100)
leader_candidatesLista de candidatos a líder con puntuación, tipos de escaneo y grupo de riesgo

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/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.

tradermonty/vcp-screener

Screen S&P 500 stocks for Mark Minervini's Volatility Contraction Pattern (VCP) and detect historical VCPs in a single ticker's price path. Identifies Stage 2 uptrend stocks forming tight bases with contracting volatility near breakout pivot points; in historical single-ticker mode walks a multi-year history and emits every VCP that formed with forward-outcome stats (breakout / stop-hit / timeout). Use when user requests VCP screening, Minervini-style setups, tight base patterns, volatility contraction breakout candidates, Stage 2 momentum stock scanning, or historical VCP pattern study on a specific ticker (e.g. FIX, TSLA).

Skills relacionados