Agente de IA para Produção de Relatórios de Investimento

04 de December de 2025 • Tempo de leitura: 5 min

Como criar um agente de IA que sintetiza dados financeiros para gerar relatórios de investimento detalhados.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados, consulta a documentos e demais requisitos funcionais para um agente de IA dedicado à produção de relatórios de investimento. Essa documentação é um modelo de PRD ou Documento de Requisitos de Produto específicos para construção de Agentes de IA.

O objetivo principal é automatizar a análise de grandes volumes de dados financeiros, garantindo consistência e precisão nos relatórios e proporcionando análises detalhadas de risco e retorno para suportar melhores decisões de investimento.

2. Contexto e Problema

Cenário Atual

O mercado financeiro gera uma quantidade massiva de dados que são difíceis de serem analisados manualmente com precisão. Relatórios de investimento gerados manualmente frequentemente carecem de consistência e precisão, o que pode levar a decisões de investimento subótimas.


Problemas Identificados

  • Volume excessivo de dados: A quantidade de dados financeiros disponíveis torna a análise manual impraticável e propensa a erros.
  • Falta de consistência: Relatórios manuais frequentemente apresentam variações na precisão e formato, prejudicando a confiabilidade.
  • Necessidade de análises detalhadas: Decisões de investimento eficazes requerem insights detalhados sobre risco e retorno, que são difíceis de serem obtidos manualmente.

3. Impactos Esperados

A implementação deste agente de IA visa alcançar os seguintes resultados:

  • Aumentar a precisão dos relatórios de investimento através da análise automatizada de dados.
  • Garantir consistência nos relatórios gerados, independentemente do volume de dados analisado.
  • Fornecer análises detalhadas de risco e retorno para apoiar decisões de investimento mais informadas.

4. Visão Geral da Solução

O agente de IA para produção de relatórios de investimento aplica modelos de análise de risco e retorno em grandes volumes de dados financeiros para gerar relatórios precisos e consistentes. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente atue como um assistente útil e autônomo na elaboração de relatórios de investimento detalhados.

A solução é composta por um fluxo de automação com quatro agentes de IA, cada um com uma função específica no processo de geração do relatório de investimento.

A execução dos agentes é sequencial, conforme detalhado na tabela abaixo.

Agentes Função Principal
Agente de Padronização e Qualidade de Dados Financeiros (RF 1) Normalizar, enriquecer e validar dados financeiros de entrada para um esquema padrão pronto para análise.
Agente de Cálculo de Métricas de Risco e Retorno (RF 2) Calcular métricas de performance e risco para ativos e/ou portfólios a partir de dados padronizados.
Agente de Consistência e Auditoria Analítica (RF 3) Verificar consistência dos cálculos e coerência econômica, sinalizando anomalias e limites fora de faixas plausíveis.
Agente Gerador de Relatório de Investimentos (RF 4) Produzir relatório final estruturado com análises de risco e retorno, insights e recomendações baseadas nas métricas validadas.

5. Protótipos

Para proporcionar uma visão clara e tangível da solução proposta, criamos protótipos interativos que demonstram tanto o fluxo de trabalho dos agentes quanto o resultado final que o cliente receberá. Explore os links abaixo para entender melhor a solução em ação.

6. Requisitos Funcionais

RF 1. Agente de Padronização e Qualidade de Dados Financeiros

1.1 Tarefa do Agente

Normalizar, enriquecer e validar dados financeiros de entrada para um esquema padrão pronto para análise.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo arquivos CSV/TSV/JSON contendo séries temporais de ativos e/ou portfólios com colunas possíveis: data, ticker, tipo_ativo, preco_abertura, preco_fechamento, maximo, minimo, volume, moeda, peso_portfolio (opcional), benchmark_series (opcional).

# 2. Objetivo
Normalizar, enriquecer e validar dados financeiros de entrada para um esquema padrão pronto para análise.

# 3. Regras que você deve seguir para gerar sua resposta
- Converter todas as datas para ISO 8601 (YYYY-MM-DD) aplicando timezone informado; rejeitar linhas com datas inválidas e registrá-las em erros_bloqueantes.
- Uniformizar separador decimal como ponto e remover símbolos de milhar; valores não numéricos viram nulo e seguem a política de missing.
- Mapear colunas para o esquema padrão: obrigatórias = data, ticker, preco_fechamento OU preco_fechamento_ajustado; se ambos existirem, priorizar preco_fechamento_ajustado.
- Ajustar preços por proventos/desdobramentos quando coluna ajustada existir; se não existir, manter como informado e incluir aviso de possível viés.
- Normalizar moeda: se moeda != moeda_base, marcar necessidade de conversão em conversoes_cambio.moedas_encontradas e incluir aviso; não realizar busca de câmbio aqui.
- Validar continuidade temporal por ticker: se houver lacunas de mais de 3 dias úteis conforme calendario_mercado, registrar em avisos; aplicar politica_missing conforme parâmetro.
- Calcular retorno_diario = ln(preco_fechamento_ajustado_t / preco_fechamento_ajustado_{t-1}); para o primeiro ponto do ticker, setar retorno_diario = null.
- Se pesos de portfólio forem fornecidos, validar soma por data ≈ 1 com tolerância de 0,5%; se fora da tolerância, setar soma_pesos_valida=false e registrar aviso.
- Detectar outliers de preço por ticker com regra de variação diária absoluta > 25%; se identificado, manter dado mas registrar aviso com data e magnitude.
- Nunca prosseguir se erros_bloqueantes tiverem itens (ex.: ausência de coluna obrigatória, datas inválidas em >5% das linhas, todos os preços zero); nesses casos, produzir output apenas com metadados e erros_bloqueantes. 
1.3 Configurações do Agente

1.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente é o ponto de partida do fluxo e deve ser acionado pelo envio de arquivos de dados financeiros via API. Na fase de testes, o fluxo será iniciado pelo envio manual dos dados, que serão enviados para o agente diretamente por upload dos arquivos na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: Arquivos de dados financeiros em formatos CSV, TSV ou JSON.
  • Formatos Suportados: Esse agente deve ser capaz de receber arquivos nos formatos: .csv, .tsv, .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 100.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um objeto JSON com dados normalizados, metadados e possíveis erros bloqueantes.
  • Exemplo de Estrutura de Output:
     {
      "schema_version": "1.0",
      "dados_normalizados": [
        {"data_iso": "2025-01-01", "ticker": "AAPL", "preco_fechamento_ajustado": 150.0, "retorno_diario": 0.002, "moeda_base": "USD", "fonte": "B3"}
      ],
      "metadados": {
        "periodo": {"inicio": "2025-01-01", "fim": "2025-12-31"},
        "ativos": ["AAPL"],
        "soma_pesos_valida": true,
        "linhas_descartadas": 0,
        "metodo_missing": "interpolar",
        "conversoes_cambio": {"moedas_encontradas": ["BRL"], "moeda_base": "USD"},
        "avisos": [],
        "erros_bloqueantes": []
      }
    } 
  • Número de caracteres esperado: O JSON gerado deve ser conciso e informativo, com um tamanho estimado em torno de 5.000 caracteres.

1.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

1.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

1.3.5 Memória

1.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Cálculo de Métricas de Risco e Retorno (RF 2).

RF 2. Agente de Cálculo de Métricas de Risco e Retorno

2.1 Tarefa do Agente

Calcular métricas de performance e risco para ativos e/ou portfólios a partir de dados padronizados.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON do Agente de Padronização contendo dados_normalizados com retorno_diario por ticker.

# 2. Objetivo
Calcular métricas de performance e risco para ativos e/ou portfólios a partir de dados padronizados.

# 3. Regras que você deve seguir para gerar sua resposta
- Usar retorno diário logarítmico fornecido; quando necessário para agregações, converter para retorno simples: r_s = exp(r_log) - 1.
- Retorno total no período: produto de (1 + r_s) - 1 por ticker.
- CAGR: ((1 + retorno_total)^(dias_uteis_ano / n_obs)) - 1, onde n_obs é número de retornos válidos.
- Volatilidade anual: desvio-padrão dos retornos diários simples multiplicado por sqrt(dias_uteis_ano).
- Sharpe anual: (CAGR - taxa_sem_risco_anual) / volatilidade_anual; se volatilidade = 0, setar sharpe = null e registrar aviso.
- Sortino anual: usar desvio-padrão apenas de retornos abaixo de 0; se não houver retornos negativos, sortino = null com aviso.
- Max Drawdown e Calmar: calcular curva de valor acumulado por ticker, obter maior queda de pico ao vale; Calmar = CAGR / |max_drawdown| se max_drawdown < 0, senão null.
- VaR paramétrico diário a nível informado assumindo normalidade dos retornos diários simples; anualizar apenas para reporte textual, manter VaR diário no JSON.
- CVaR histórico diário: média dos retornos nas caudas piores do nível de confiança; reportar como valor negativo (perda esperada).
- Se benchmark fornecido, alinhar datas com inner join: calcular beta (regressão simples de retornos diários), alpha anualizado, correlação de Pearson, tracking error (desvio-padrão de excesso de retorno) e information ratio = média excesso anual / tracking error anual.
- Para portfólio com pesos por data, calcular retorno diário do portfólio por soma ponderada alinhada temporalmente; se pesos estáticos faltarem em alguma data, carregar último conhecido se politica_missing='carregar_ultimo' foi aplicada; caso contrário, excluir a data.
- Tratar NaN/inf resultantes de divisões por zero setando métrica como null e registrando aviso com ticker afetado.
- Garantir que todas as métricas retornem com 4 casas decimais; datas no período replicadas do input padronizado. 
2.3 Configurações do Agente

2.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 1).
  • Tipo do input: Um JSON contendo dados normalizados com retorno diário por ticker.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 10.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON com métricas de performance e risco calculadas para cada ativo ou portfólio.
  • Exemplo de Estrutura de Output:
     {
      "metrics_por_ticker": {
        "AAPL": {
          "retorno_total": 0.15,
          "CAGR": 0.12,
          "volatilidade_anual": 0.25,
          "sharpe": 0.48,
          "sortino": 0.60,
          "max_drawdown": -0.20,
          "calmar": 0.60,
          "var_parametrico": -0.05,
          "cvar_historico": -0.07
        }
      },
      "metrics_portfolio": {},
      "metrics_vs_benchmark": {},
      "periodo": {"inicio": "2025-01-01", "fim": "2025-12-31"},
      "supostos": {"dias_uteis_ano": 252, "taxa_sem_risco_anual": 0.04, "nivel_confianca_var": 0.95, "metodo_var": "parametrico"},
      "avisos": []
    } 
  • Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 5.000 caracteres.

2.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

2.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

2.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
  • Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Consistência e Auditoria Analítica (RF 3).

2.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Consistência e Auditoria Analítica (RF 3).

RF 3. Agente de Consistência e Auditoria Analítica

3.1 Tarefa do Agente

Verificar consistência dos cálculos e coerência econômica, sinalizando anomalias e limites fora de faixas plausíveis.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON de métricas do Agente de Cálculo de Métricas + amostra dos dados_normalizados (retornos diários por ticker) e parâmetros de faixas plausíveis.

# 2. Objetivo
Verificar consistência dos cálculos e coerência econômica, sinalizando anomalias e limites fora de faixas plausíveis.

# 3. Regras que você deve seguir para gerar sua resposta
- Reconciliar retorno_total com soma dos retornos diários simples: diferença absoluta > 0,5% vira alerta; > 1% vira reprovado.
- Verificar que volatilidade_anual <= volatilidade_anual_max; acima disso, sinalizar alerta e recomendar revisão de outliers e timezone.
- Garantir max_drawdown <= max_drawdown_min (valor negativo); se positivo, reprovar por cálculo incorreto de drawdown.
- Checar Sharpe dentro de [sharpe_min, sharpe_max]; fora disso sinalizar alerta de possível problema de taxa sem risco ou escala.
- Se beta existir: |correlacao| < 0,1 com beta > 1,5 vira alerta de ruído/erro de alinhamento de datas.
- Executar teste de soma de pesos quando aplicável: diferença da unidade > 1% em qualquer data vira alerta e anexar datas afetadas.
- Verificar cardinalidade de observações: n_obs < 60 retorna alerta 'amostra insuficiente', manter métricas mas com flag.
- Qualquer reprovação zera apenas as métricas afetadas em metrics_validadas e lista recomendacoes_de_correcao específicas por check. 
3.3 Configurações do Agente

3.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 2).
  • Tipo do input: Um JSON de métricas calculadas e uma amostra dos dados normalizados.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 8.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON com resultados de auditoria e métricas validadas ou sinalizadas para correção.
  • Exemplo de Estrutura de Output:
     {
      "auditoria": {
        "checks": [
          {"id_check": "retorno_total_consistencia", "status": "aprovado", "detalhes": "Retorno total consistente com soma dos retornos diários."}
        ],
        "recomendacoes_de_correcao": []
      },
      "metrics_validadas": {
        "AAPL": {
          "retorno_total": 0.15,
          "CAGR": 0.12,
          "volatilidade_anual": 0.25,
          "sharpe": 0.48,
          "sortino": 0.60,
          "max_drawdown": -0.20,
          "calmar": 0.60,
          "var_parametrico": -0.05,
          "cvar_historico": -0.07
        }
      }
    } 
  • Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 4.000 caracteres.

3.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

3.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

3.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
  • Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente Gerador de Relatório de Investimentos (RF 4).

3.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente Gerador de Relatório de Investimentos (RF 4).

RF 4. Agente Gerador de Relatório de Investimentos

4.1 Tarefa do Agente

Produzir relatório final estruturado com análises de risco e retorno, insights e recomendações baseadas nas métricas validadas.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON de metrics_validadas e auditoria, metadados do período, supostos (taxa sem risco, dias_ano, nível de confiança), preferências de saída.

# 2. Objetivo
Produzir relatório final estruturado com análises de risco e retorno, insights e recomendações baseadas nas métricas validadas.

# 3. Regras que você deve seguir para gerar sua resposta
- Gerar Resumo Executivo com 3 a 6 bullets objetivos destacando retorno, risco, drawdown e principais alertas de auditoria.
- Apresentar todas as métricas com unidades e escalas corretas: percentuais em %, VaR/CVaR como perdas esperadas por dia, datas no padrão ISO.
- Incluir comparação com benchmark quando disponível: excesso de retorno anual, beta, alpha, information ratio e tracking error com interpretação clara.
- Destacar riscos materiais: se max_drawdown < -0,3, inserir alerta: 'Drawdown severo'; se volatilidade_anual > 0,4, inserir 'Alta volatilidade'.
- Explicitar supostos e limitações: janela de cálculo, taxa sem risco, hipótese de normalidade usada no VaR; evitar promessas de performance futura.
- Se auditoria tiver status 'reprovado' em qualquer check crítico (drawdown ou reconciliação), inserir seção 'Limitações do Relatório' e marcar recomendações de correção antes de decisões.
- Adaptar o nível_de_detalhe: 'executivo' resume tabelas e foca em conclusões; 'completo' inclui tabelas por ticker e apêndice metodológico com fórmulas.
- Incluir lista de próximos passos acionáveis: ex.: revisar dados de câmbio, ampliar janela de observação, reequilibrar pesos, definir limites de risco. 
4.3 Configurações do Agente

4.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 3).
  • Tipo do input: Um JSON de metrics_validadas e auditoria, metadados do período, supostos e preferências de saída.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 12.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um relatório final estruturado no formato solicitado (Markdown ou JSON estruturado).
  • Exemplo de Estrutura de Output:
     {
      "capa": {"titulo": "Relatório de Investimentos", "data_emissao": "2025-12-04", "periodo": {"inicio": "2025-01-01", "fim": "2025-12-31"}},
      "resumo_executivo": [
        "Retorno total de 15% no período.",
        "Volatilidade anual de 25%, considerada alta.",
        "Drawdown máximo de 20%, dentro do esperado."
      ],
      "visao_geral": [...],
      "desempenho": {"tabela_metricas": [...], "comparacao_benchmark": [...]},
      "risco": {"vol": 0.25, "drawdown": -0.20, "VaR": -0.05, "CVaR": -0.07},
      "alertas_auditoria": [],
      "metodologia": {"definicoes": [...], "supostos": {...}},
      "recomendacoes": ["Revisar dados de câmbio", "Ampliar janela de observação"]
    } 
  • Número de caracteres esperado: O relatório final deve ser claro e direto, com um tamanho estimado em 10.000 caracteres.

4.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

4.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

4.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
  • Visibilidade da Resposta: A resposta deste agente é o entregável final e não é passada para outros agentes internos.

4.3.6 Regras de Orquestração e Transição

A execução deste agente finaliza o fluxo. O relatório gerado é o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.