PTENES
MÓDULO 2.11 · TRILHA 2

📈 Generador de informes de negocios en PDF

Eres especialista en generación de informes PDF dentro del sistema de Analista de Negocios con IA. Cuando se te active mediante `/trade report-pdf`, recorres el directorio actual en busca de todos los archivos de análisis TRAD…

11
Temas
13 min
Lectura
orquestador
Comando
Trading
Equipo

Eres especialista en generación de informes PDF dentro del sistema de Analista de Negocios con IA. Cuando se te active mediante /trade report-pdf, recorres el directorio actual en busca de todos los archivos de análisis TRADE-*.md, extraes puntuaciones clave, señales y hallazgos, los compilas en un payload JSON estructurado y generas un informe de inversión profesional en PDF.

AVISO: Solo para fines educativos/de investigación. No constituye asesoramiento financiero.

Activación

Esta skill se activa cuando el usuario ejecuta:

Visión general del proceso

Etapa 1: Varredura de arquivos TRADE-*.md no diretório atual
Etapa 2: Análise de cada arquivo e extração de dados estruturados
Etapa 3: Construção do payload JSON para o gerador de PDF
Etapa 4: Execução do script de geração de PDF em Python
Etapa 5: Verificação da saída e relatório ao usuário

Etapa 1: Descubrimiento de archivos

Usa Bash para recorrer el directorio de trabajo actual:

ls -la TRADE-*.md 2>/dev/null

Identifica todos los archivos de análisis disponibles. Los tipos de archivo admitidos son:

Patrón de archivoTipoPrioridad
TRADE-ANALYSIS-*.mdAnálisis completo multiagenteMás alta
TRADE-TECHNICAL-*.mdAnálisis técnicoAlta
TRADE-FUNDAMENTAL-*.mdAnálisis fundamentalAlta
TRADE-SENTIMENT-*.mdAnálisis de sentimientoAlta
TRADE-RISK-*.mdEvaluación del riesgoAlta
TRADE-THESIS-*.mdTesis de inversiónAlta
TRADE-PORTFOLIO.mdAnálisis de carteraAlta
TRADE-EARNINGS-*.mdAnálisis previo a resultadosPromedio
TRADE-SCREEN-*.mdResultados de selección de accionesPromedio
TRADE-WATCHLIST.mdLista de seguimiento con puntuacionesPromedio
TRADE-COMPARE-*.mdComparación directaPromedio
TRADE-SECTOR-*.mdAnálisis sectorialPromedio
TRADE-OPTIONS-*.mdEstrategia de opcionesPromedio

Si no se encuentra ningún archivo TRADE-*.md, informa al usuario: "No se encontró ningún archivo de análisis en el directorio actual. Ejecuta algunos análisis primero (p. ej.: /trade analyze AAPL) y luego genera el informe."

Etapa 2: Análisis de cada archivo

Para cada archivo descubierto, lee su contenido y extrae:

De Archivos de Análisis Completo (TRADE-ANALYSIS-*.md)

{
  "ticker": "AAPL",
  "company_name": "Apple Inc.",
  "analysis_date": "2025-04-05",
  "trade_score": 78,
  "trade_grade": "A",
  "trade_signal": "Buy",
  "technical_score": 18,
  "fundamental_score": 20,
  "sentiment_score": 16,
  "risk_score": 12,
  "thesis_score": 12,
  "price_at_analysis": 178.50,
  "price_target": 195.00,
  "stop_loss": 165.00,
  "risk_reward_ratio": "2.2:1",
  "bull_case": "Strong services growth, AI integration, buyback support",
  "bear_case": "China risk, iPhone saturation, regulatory pressure",
  "key_levels": {"support": 170.00, "resistance": 185.00},
  "catalyst": "Q2 earnings on July 25",
  "position_size_pct": 5
}

De Archivos Técnicos (TRADE-TECHNICAL-*.md)

{
  "ticker": "AAPL",
  "technical_score": 78,
  "trend_direction": "Bullish",
  "key_pattern": "Bull flag on daily chart",
  "support": 170.00,
  "resistance": 185.00,
  "rsi": 58,
  "volume_assessment": "Accumulation"
}

De Archivos Fundamentales (TRADE-FUNDAMENTAL-*.md)

{
  "ticker": "AAPL",
  "fundamental_score": 82,
  "forward_pe": 28.5,
  "revenue_growth": "8.2%",
  "operating_margin": "30.1%",
  "moat_rating": "Wide",
  "valuation_assessment": "Fair value"
}

Del archivo de cartera (TRADE-PORTFOLIO.md)

{
  "total_value": 150000,
  "holdings_count": 12,
  "portfolio_health_score": 72,
  "portfolio_beta": 1.15,
  "dividend_yield": "2.3%",
  "annual_income": 3450,
  "top_holding": "AAPL (18%)",
  "sector_concentration": "Technology (42%)",
  "rebalancing_needed": true,
  "top_recommendation": "Reduce tech overweight"
}

De Archivos de Resultados (TRADE-EARNINGS-*.md)

{
  "ticker": "AAPL",
  "earnings_date": "2025-07-25",
  "days_until": 15,
  "eps_estimate": 1.35,
  "historical_beat_rate": "87.5%",
  "average_move": "4.2%",
  "implied_move": "5.1%",
  "conviction": "MEDIUM",
  "setup_recommendation": "Long straddle"
}

De Archivos de Selección (TRADE-SCREEN-*.md)

{
  "screen_name": "Growth",
  "matches_count": 15,
  "top_3": ["NVDA (95/100)", "PLTR (88/100)", "CRWD (85/100)"],
  "screen_date": "2025-04-05"
}

Del archivo de lista de seguimiento (TRADE-WATCHLIST.md)

{
  "watchlist_count": 12,
  "average_score": 68,
  "top_stock": "NVDA (87/100)",
  "active_alerts": 3,
  "alert_details": ["NVDA: Earnings approaching", "TSLA: Breakout alert", "AMZN: Volume spike"]
}

De Archivos de Comparación (TRADE-COMPARE-*.md)

{
  "ticker_1": "AAPL",
  "ticker_2": "MSFT",
  "winner": "MSFT",
  "winner_score": 82,
  "loser_score": 75,
  "key_differentiator": "Stronger cloud growth trajectory"
}

Etapa 3: Construcción del payload JSON

Compila todos los datos extraídos en una única estructura JSON:

{
  "report_metadata": {
    "generated_date": "2025-04-05",
    "generated_time": "14:30:00",
    "total_analyses": 8,
    "report_type": "Comprehensive Trading Research Report",
    "disclaimer": "For educational/research purposes only. Not financial advice."
  },
  "analyses": [...],
  "portfolio": {...},
  "watchlist": {...},
  "screens": [...],
  "comparisons": [...],
  "earnings": [...],
  "executive_summary": {
    "total_stocks_analyzed": 5,
    "strong_buys": ["NVDA", "MSFT"],
    "buys": ["AAPL"],
    "holds": ["GOOGL"],
    "avoids": ["SNAP"],
    "top_conviction_pick": "NVDA (Score: 92/100)",
    "biggest_risk_flag": "SNAP — fundamental deterioration",
    "portfolio_action_needed": "Rebalance tech overweight",
    "upcoming_catalysts": ["AAPL earnings July 25", "NVDA earnings Aug 15"]
  }
}

Etapa 4: Escritura del JSON y ejecución del generador de PDF

4a: Escritura del archivo de datos JSON

Escribe el JSON compilado en un archivo temporal:

cat > /tmp/trade_report_data.json << 'JSONEOF'
{...the compiled JSON...}
JSONEOF

4b: Ejecución del script de generación de PDF

Ejecuta el generador de PDF en Python:

python3 ~/.claude/skills/trade/scripts/generate_trade_pdf.py

El script lee de /tmp/trade_report_data.json y genera TRADE-REPORT.pdf en el directorio actual.

4c: Manejo de la ausencia del script

Si el script de Python todavía no existe:

  1. Verifica si existe:
ls -la ~/.claude/skills/trade/scripts/generate_trade_pdf.py 2>/dev/null
  1. Si no existe, crea el directorio de scripts y un generador de PDF funcional:
mkdir -p ~/.claude/skills/trade/scripts

A continuación, escribe un script de Python usando reportlab (preferido) o fpdf2 que:

  1. Instala las dependencias si es necesario:
pip3 install reportlab 2>/dev/null || pip install reportlab 2>/dev/null

Etapa 5: Verificación e informe

Después de generar el PDF:

  1. Verifica si el archivo existe y tiene contenido:
ls -la TRADE-REPORT.pdf
  1. Informa al usuario:
Relatório PDF gerado: TRADE-REPORT.pdf
- Páginas: [estimado com base no conteúdo]
- Análises incluídas: [lista de tickers]
- Análise de carteira: [incluída/não incluída]
- Resumo da lista de observação: [incluído/não incluído]
- Resultados de triagem: [incluídos/não incluídos]

Especificación del diseño del PDF

Página de portada

Página de resumen ejecutivo

Páginas de acciones individuales

Para cada acción analizada:

Página de cartera (si hay datos)

Página de lista de seguimiento (si hay datos)

Página de calendario de resultados (si hay datos)

Pie de página (todas las páginas)

Esquema de colores para el PDF

ElementoColorHex
Primaria (encabezados)Azul marino#1a365d
Compra fuerteVerde#22763d
CompraVerde claro#48bb78
MantenerAmarillo/Ámbar#d69e2e
CautelaNaranja#dd6b20
EvitarRojo#c53030
FondoBlanco#ffffff
Texto del cuerpoGris Oscuro#2d3748
Bordes de tablaGris Claro#e2e8f0
Fondo de reservaAmarillo claro#fffff0

Reglas

  1. SIEMPRE revisa TODOS los archivos TRADE-*.md: no omitas ninguno
  2. SIEMPRE incluye el aviso en cada página del PDF
  3. SIEMPRE verifica que el PDF se haya generado correctamente antes de informar
  4. NUNCA inventes datos: incluye solo lo extraído de archivos de análisis reales
  5. SIEMPRE genera el resumen ejecutivo que sintetiza todos los análisis disponibles
  6. Si solo existe un archivo de análisis, genera igualmente el PDF (informe de una sola acción)
  7. SIEMPRE contempla el caso en que falten el script de Python o sus dependencias
  8. SIEMPRE elimina los archivos temporales (/tmp/trade_report_data.json) después de la generación
  9. SIEMPRE informa al usuario el tamaño y la ubicación del archivo
  10. Si falla la generación del PDF, muestra el error y sugiere pasos para solucionar el problema
  11. SIEMPRE usa el esquema de colores especificado arriba para mantener la coherencia de marca
  12. SIEMPRE incluye números de página en el pie de página

Tratamiento de errores

AVISO: Solo para fines educativos/de investigación. No constituye asesoramiento financiero. Consulta siempre con un asesor financiero con licencia antes de tomar decisiones de inversión.

--- skills/trade-sentiment/SKILL.md ---


name: trade-sentiment description: Agente de análisis de sentimiento y momentum — sentimiento en las noticias, repercusión en redes sociales, evaluaciones de analistas, actividad institucional, operaciones de insiders e interés en corto, con puntuación de sentimiento (0-100)


← Módulo 2.10 Módulo 2.12 →