1. Propósito e Escopo
Este documento define todos os prompts, configurações de memória, transição entre estados e demais requisitos funcionais para o agente de IA "Criação de Estratégias de Diversificação de Portfólio". 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 deste agente é sugerir estratégias de diversificação de portfólio baseadas em análises de mercado e perfis de risco dos clientes, adaptando-se às condições do mercado e perfis de risco que mudam ao longo do tempo.
2. Contexto e Problema
Cenário Atual
Investidores frequentemente enfrentam dificuldades em diversificar adequadamente seus portfólios, o que pode aumentar o risco de perdas significativas. A falta de estratégias de diversificação que se adaptem às condições de mercado e perfis de risco dos clientes é um problema recorrente.
Problemas Identificados
- Falta de Diversificação: Muitos portfólios não são devidamente diversificados, resultando em uma exposição excessiva a determinados ativos ou setores.
- Adaptação Insuficiente: As estratégias de diversificação não se ajustam automaticamente às mudanças de mercado e perfis de risco dos clientes.
- Risco Aumentado: A concentração de ativos gera um risco não controlado que pode impactar negativamente o investimento.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Melhoria na Diversificação: Sugerir alocações de ativos que maximizem a diversificação e minimizem o risco de forma eficiente.
- Adaptação Dinâmica: Ajustar as estratégias de diversificação conforme as condições de mercado e o perfil de risco do cliente mudam.
- Redução de Riscos: Identificar e mitigar concentrações de risco no portfólio de forma proativa.
4. Visão Geral da Solução
O agente de IA para criação de estratégias de diversificação de portfólio analisa a composição atual do portfólio, identifica áreas de concentração de risco e sugere alocações de ativos que maximizem a diversificação e minimizem o risco. 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 gestão de portfólios de investimento.
A solução é composta por um fluxo de automação que envolve diversos agentes especializados, cada um responsável por uma parte do processo de análise e sugestão de diversificação.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Execução de Chamada à API de Mercado | Realizar chamadas às APIs de mercado para obter dados necessários à análise. |
Agente de Padronização e Validação de Dados de Portfólio e Perfil | Padronizar e validar o portfólio atual e o perfil de risco do cliente. |
Agente de Análise de Concentração e Risco | Identificar concentrações por ativo, setor, classe, moeda e calcular indicadores de diversificação. |
Agente de Sugestão de Diversificação e Alocação-Alvo | Propor nova alocação-alvo por classe, setor e ativos para reduzir concentrações e alinhar ao perfil de risco. |
Agente de Simulação de Impacto e Métricas de Diversificação | Estimar impacto antes/depois em métricas-chave e comunicar ganhos esperados. |
Agente de Ajuste de Estratégia por Condições de Mercado e Perfil | Ajustar a recomendação final conforme regime de mercado e mudanças no perfil do cliente. |
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 Execução de Chamada à API de Mercado
1.1 Tarefa do Agente
Realizar chamadas às APIs de mercado para obter dados necessários à análise, como preços históricos resumidos, volatilidades, correlações, taxas livres de risco, classes/setores, moedas e indicadores de regime.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo uma solicitação para executar chamadas às APIs de mercado. # 2. Objetivo Realizar chamadas às APIs de mercado para obter dados necessários à análise (preços históricos resumidos, volatilidades, correlações, taxas livres de risco, classes/setores, moedas e indicadores de regime). # 3. Regras que você deve seguir para gerar sua resposta - Este agente é exclusivamente executor de chamadas às APIs. Não há regras de LLM. - Deve retornar os dados exatamente conforme a resposta das APIs, agregados em um único objeto JSON sob a chave dados_mercado e o flag dados_mercado_disponiveis.
1.3 Configurações do Agente
1.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado pelo envio de uma solicitação de dados de mercado via API.
- Tipo do input: O input inicial é um objeto JSON contendo os parâmetros para as chamadas às APIs de mercado.
-
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 até 10.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo os dados de mercado obtidos, agregados sob a chave dados_mercado e o flag dados_mercado_disponiveis.
-
Exemplo de Estrutura de Output:
{ "dados_mercado": { "volatilidades_anualizadas": {"PETR4":0.32, "VALE3":0.28}, "correlacoes": {"PETR4|VALE3":0.45}, "taxa_livre_risco_anual":0.105, "classe_setor": {"PETR4":{"classe":"Acoes","setor":"Energia"}}, "moeda": {"PETR4":"BRL"}, "indicadores_regime": {"vix":22.4, "inclinacao_curva":-0.35} }, "dados_mercado_disponiveis": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 1.500 caracteres.
1.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de API)
- Temperatura: Não se aplica
1.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Se conecta a APIs de mercado para obtenção de dados.
1.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o próximo agente no fluxo.
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o próximo agente no fluxo.
RF 2. Agente de Padronização e Validação de Dados de Portfólio e Perfil
2.1 Tarefa do Agente
Padronizar e validar o portfólio atual e o perfil de risco do cliente, preparando dados para análise.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados de portfólio e perfil de risco do cliente para padronização e validação.
# 2. Objetivo
Padronizar e validar o portfólio atual e o perfil de risco do cliente, preparando dados para análise.
# 3. Regras que você deve seguir para gerar sua resposta
- Transforme cada posição em valor = quantidade x preco e peso = valor / soma_dos_valores; calcule patrimonio_total e soma_pesos.
- Se soma_pesos estiver fora do intervalo [0.999,1.001], normalize pesos dividindo cada peso por soma_pesos e registre aviso "pesos_normalizados".
- Preencha classe e setor com dados do input; se ausentes, e houver em dados_mercado.classe_setor, utilize-os; se ainda ausente, registre erro "classe_setor_desconhecida" e marque aprovado=false.
- Converta parâmetros do perfil em limites operacionais: para nivel conservador/moderado/arrojado defina alvo_risco_anual = 0.07/0.12/0.18 respectivamente; ajuste +/- 0.02 se horizonte_anos < 3 (reduz) ou > 7 (aumenta).
- Defina faixa_alocacao por classe conforme nivel: Conservador {RendaFixa:[0.60,0.90], Acoes:[0.05,0.25], Internacional:[0.05,0.25]}; Moderado {RendaFixa:[0.35,0.65], Acoes:[0.25,0.55], Internacional:[0.10,0.40]}; Arrojado {RendaFixa:[0.15,0.40], Acoes:[0.40,0.75], Internacional:[0.15,0.50]}.
- Aplique restricoes.max_por_ativo e max_por_setor se fornecidos; se ausentes, use defaults: max_por_ativo=0.20, max_por_setor=0.40.
- Validacao: aprovado=false se houver qualquer erro; erros incluem: ativo sem classe/setor, peso negativo, patrimonio_total <= 0, restricao inconsistente (max_por_ativo>0.6). 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.
- Tipo do input: Este agente deve ser apto a receber como input dados de portfólio e perfil de risco do cliente.
-
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 até 8.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo o portfólio e perfil normalizados, além de validações e possíveis erros ou avisos.
-
Exemplo de Estrutura de Output:
{ "portfolio_normalizado": { "posicoes":[{"ativo":"PETR4","valor":38500.0,"peso":0.25,"classe":"Acoes","setor":"Energia","moeda":"BRL","liquidez_dias":2}], "patrimonio_total":154000.0, "soma_pesos":1.0 }, "perfil_normalizado": { "nivel":"moderado", "horizonte_anos":5, "parametros": { "alvo_risco_anual":0.12, "faixa_alocacao": { "RendaFixa":[0.35,0.65], "Acoes":[0.25,0.55], "Internacional":[0.10,0.40] }, "max_por_ativo":0.15, "max_por_setor":0.35 } }, "validacao": { "erros":[], "avisos":[], "aprovado": true } } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.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.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o próximo agente no fluxo.
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o próximo agente no fluxo.