CommunityProgramación y desarrollogithub.com

signal-postmortem (análisis post-trading)

Registra y analiza los resultados de las señales generadas por el pipeline de edge y otras habilidades. Realiza seguimiento de falsos positivos, oportunidades perdidas y desajustes de régimen, y retroalimenta los pesos del agregador de señales y el backlog de mejora de habilidades.

¿Qué es signal-postmortem (análisis post-trading)?

Signal Postmortem es una habilidad especializada en el análisis post-trading que registra y evalúa los resultados de las señales de trading generadas por el pipeline de edge, screener y otras habilidades. Su propósito es comparar la dirección prevista de una señal con los retornos realizados a 5 y 20 días, clasificando cada resultado en una de cuatro categorías: verdadero positivo, falso positivo, oportunidad perdida y desajuste de régimen. Esto permite identificar patrones sistemáticos de error, como falsos positivos recurrentes de una habilidad concreta, y generar retroalimentación cuantitativa para ajustar los pesos del agregador de señales (edge-signal-aggregator) y crear entradas en el backlog de mejora de habilidades. La habilidad soporta tanto la introducción manual de precios de salida como la obtención automática de datos de mercado a través de la API de FMP, y produce informes en JSON, YAML y Markdown que detallan estadísticas agregadas por habilidad, ticker y período de tiempo. Es especialmente útil para realizar auditorías periódicas de calidad de señales y cerrar el ciclo de retroalimentación entre la generación de señales y su rendimiento real en el mercado.

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

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

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

Documentación

Signal Postmortem

Resumen

Signal Postmortem registra y analiza los resultados de las señales de trading generadas por el pipeline de edge, screeners y otras habilidades. Compara la dirección prevista del edge con los retornos realizados a 5 y 20 días, categoriza los resultados (verdadero positivo, falso positivo, oportunidad perdida, desajuste de régimen) y genera retroalimentación para ajustar los pesos del agregador de señales y crear entradas en el backlog de mejora de habilidades.

Cuándo usarlo

  • Después de cerrar una operación y quieras registrar el resultado
  • Al revisar un lote de señales que han alcanzado su período de tenencia (5 o 20 días)
  • Para identificar patrones sistemáticos de falsos positivos de habilidades específicas
  • Para generar retroalimentación para la calibración de pesos del agregador de señales
  • Cuando se construye un backlog de mejora de habilidades a partir de métricas de calidad de decisión
  • Para auditorías periódicas (semanales/mensuales) de calidad de señales

Requisitos previos

  • Python 3.9+
  • Clave de API FMP (opcional, para obtener retornos realizados automáticamente si no se proporcionan manualmente)
  • Biblioteca estándar + requests para llamadas a la API
  • Entrada: registros de señal en formato JSON (provenientes del agregador de señales o salidas del screener)

Configuración de la clave de API (opcional)

Si deseas obtener automáticamente datos de precios para los cálculos de retorno, configura la clave de API de FMP:

export FMP_API_KEY=tu_clave_api_aqui

Alternativamente, pasa la clave por línea de comandos con --api-key TU_CLAVE. Sin una clave de API, aún puedes registrar resultados manualmente proporcionando --exit-price y --exit-date.

Flujo de trabajo

Paso 1: Preparar registros de señal

Reúne los registros de señal cerrados o madurados. Cada registro debe incluir:

  • signal_id: Identificador único
  • ticker: Símbolo de la acción
  • signal_date: Fecha en que se generó la señal
  • predicted_direction: LARGO o CORTO
  • source_skill: Habilidad que generó la señal
  • entry_price: Precio al momento de la generación de la señal (opcional, para anulación manual)
# Ejemplo: Listar señales listas para postmortem (5+ días de antigüedad)
python3 skills/signal-postmortem/scripts/postmortem_recorder.py \
  --list-ready \
  --signals-dir state/signals/ \
  --min-days 5

Paso 2: Registrar resultados

Ejecuta el grabador de postmortem para obtener retornos realizados y clasificar resultados.

python3 skills/signal-postmortem/scripts/postmortem_recorder.py \
  --signals-file state/signals/aggregated_signals_2026-03-10.json \
  --holding-periods 5,20 \
  --output-dir reports/

Para registro manual de resultados (cuando ya se dispone de datos de precios):

python3 skills/signal-postmortem/scripts/postmortem_recorder.py \
  --signal-id sig_aapl_20260310_abc \
  --exit-price 178.50 \
  --exit-date 2026-03-15 \
  --outcome-notes "Cerrado en objetivo, +3.2% en 5 días" \
  --output-dir reports/

Paso 3: Clasificar resultados

El grabador clasifica automáticamente cada señal en una de cuatro categorías:

CategoríaDefinición
TRUE_POSITIVELa dirección prevista coincidió con el signo del retorno realizado
FALSE_POSITIVELa dirección prevista fue opuesta al retorno realizado
MISSED_OPPORTUNITYLa señal no fue tomada pero habría sido rentable
REGIME_MISMATCHLa señal falló debido a un cambio de régimen de mercado

Las reglas de clasificación están documentadas en references/outcome-classification.md.

Paso 4: Generar archivos de retroalimentación

Genera retroalimentación para los consumidores posteriores:

# Generar sugerencias de ajuste de pesos para el agregador de señales
python3 skills/signal-postmortem/scripts/postmortem_analyzer.py \
  --postmortems-dir reports/postmortems/ \
  --generate-weight-feedback \
  --output-dir reports/

# Generar entradas de backlog de mejora de habilidades
python3 skills/signal-postmortem/scripts/postmortem_analyzer.py \
  --postmortems-dir reports/postmortems/ \
  --generate-improvement-backlog \
  --output-dir reports/

Paso 5: Revisar estadísticas resumidas

Genera estadísticas agregadas por habilidad, ticker y período de tiempo:

python3 skills/signal-postmortem/scripts/postmortem_analyzer.py \
  --postmortems-dir reports/postmortems/ \
  --summary \
  --group-by skill,month \
  --output-dir reports/

Formato de salida

Registro de postmortem (JSON)

{
  "schema_version": "1.0",
  "postmortem_id": "pm_sig_aapl_20260310_abc",
  "signal_id": "sig_aapl_20260310_abc",
  "ticker": "AAPL",
  "signal_date": "2026-03-10",
  "source_skill": "edge-signal-aggregator",
  "predicted_direction": "LONG",
  "entry_price": 172.50,
  "realized_returns": {
    "5d": 0.032,
    "20d": 0.058
  },
  "exit_price": 178.50,
  "exit_date": "2026-03-15",
  "holding_days": 5,
  "outcome_category": "TRUE_POSITIVE",
  "regime_at_signal": "RISK_ON",
  "regime_at_exit": "RISK_ON",
  "outcome_notes": "Rotura limpia, se mantuvo durante retroceso menor",
  "recorded_at": "2026-03-17T10:30:00Z"
}

Retroalimentación de pesos (JSON)

{
  "schema_version": "1.0",
  "generated_at": "2026-03-17T10:35:00Z",
  "analysis_period": {
    "from": "2026-02-01",
    "to": "2026-03-15"
  },
  "skill_adjustments": [
    {
      "skill": "vcp-screener",
      "current_weight": 1.0,
      "suggested_weight": 0.85,
      "reason": "15% de tasa de falsos positivos en régimen RISK_OFF",
      "sample_size": 42
    }
  ],
  "confidence": "MEDIUM",
  "min_sample_threshold": 20
}

Entrada de backlog de mejora de habilidades (YAML)

- skill: vcp-screener
  issue_type: false_positive_cluster
  severity: medium
  evidence:
    false_positive_rate: 0.15
    sample_size: 42
    regime_correlation: RISK_OFF
  suggested_action: "Agregar filtro de régimen o reducir confianza de señal en RISK_OFF"
  generated_by: signal-postmortem
  generated_at: "2026-03-17T10:35:00Z"

Informe resumido (Markdown)

Los informes se guardan en reports/ con nombres de archivo postmortem_summary_YYYY-MM-DD.md.

Recursos

  • scripts/postmortem_recorder.py -- Registra resultados de señales individuales
  • scripts/postmortem_analyzer.py -- Genera retroalimentación y estadísticas resumidas
  • references/outcome-classification.md -- Reglas de clasificación y casos extremos
  • references/feedback-integration.md -- Cómo integrar la retroalimentación con habilidades posteriores

Principios clave

  1. Atribución honesta -- Cada resultado se atribuye a su habilidad de origen para garantizar la responsabilidad
  2. Conciencia de régimen -- El contexto de régimen se registra para distinguir fallos de habilidad de cambios de régimen de mercado
  3. Tamaño de muestra mínimo -- Los ajustes de peso requieren 20+ señales para validez estadística
  4. Cierre del bucle de retroalimentación -- Los resultados fluyen de vuelta para mejorar tanto la agregación de señales como la calidad de las habilidades

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/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/theme-detector

Detect and analyze trending market themes across sectors. Use when user asks about current market themes, trending sectors, sector rotation, thematic investing, what themes are hot or cold, or wants to identify bullish and bearish market narratives with lifecycle analysis.

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