tr(AI)ding — agentes de IA open source para gestão autônoma de portfólios
Inspirado pelo projeto open source https://github.com/LuckyOne7777/ChatGPT-Micro-Cap-Experiment, decidi fazer meu próprio experimento com agentes fazendo gestão de uma carteira de investimentos nos EUA, mas com os agentes fazendo todas as decisões automaticamente, usando a SDK da OpenAI.
Como funciona
O projeto, que chamei de tr(AI)ding, é baseado em dois agentes complementares que operam em ciclos diferentes:
- O agente semanal roda aos domingos. Ele faz uma pesquisa macroeconômica (usando web search), escreve uma nova tese de mercado e define a direção geral da carteira para a semana seguinte.
- O agente diário roda de segunda a sexta, após o fechamento do mercado. Ele avalia as posições, o caixa e os preços mais recentes, e decide se deve comprar, vender, rebalancear ou apenas manter o que já existe.
Tudo é simulado — não há execução real de ordens. Mas a ideia é reproduzir o comportamento de um gestor de portfólio profissional: usar dados reais, seguir restrições (como limite de 25% por ativo e 10% mínimo em caixa) e agir com base em uma tese racional.
A arquitetura por trás é relativamente simples: um núcleo determinístico, escrito em Python, cuida de cálculos, banco de dados e sincronizações, enquanto o raciocínio de mercado é encapsulado nos prompts e validado via modelos Pydantic, que garantem respostas consistentes (ou quase).
O que há por trás
Por baixo dos panos, o sistema se apoia em um banco SQLite, onde tudo é persistido — posições, ordens, caixa e preços históricos (via yfinance).
Isso garante que as simulações sejam reprodutíveis e que os agentes consigam “lembrar” o estado da carteira sem depender de variáveis globais.
A orquestração é feita pelo módulo app/orchestrator.py, que coordena as execuções diárias e semanais, monta os prompts e interpreta as respostas dos modelos.
Os prompts em si ficam centralizados em app/prompts/prompts.py, o que ajuda a manter a clareza entre o que é “texto” (raciocínio da IA) e o que é “código” (regras determinísticas).
O agente diário usa o modelo gpt-4o-mini, enquanto o semanal utiliza o o4-mini-deep-research-2025-06-26 — uma versão mais orientada a raciocínio e pesquisa.
Os desafios (e o caos)
O maior desafio, de longe, foi fazer a IA se comportar como um analista disciplinado.
No começo, as respostas eram inconsistentes — às vezes o modelo “alucinava” valores, ou tentava comprar mais ações do que o caixa permitia.
Eu precisei criar mecanismos de validação e sincronização para evitar que o agente tomasse decisões impossíveis, mas ainda não está perfeito.
Gerenciar o fluxo de caixa e atualizar corretamente as posições no banco foi uma das partes mais frustrantes: pequenas inconsistências se acumulam rápido quando o sistema roda todo dia.
Outro ponto desafiador foi o equilíbrio entre liberdade e restrição.
Dar autonomia total ao modelo leva a erros absurdos; restringir demais faz o sistema parecer engessado e “burro”.
O que vem a seguir
Ainda não cheguei à fase de gerar decisões simuladas com histórico contínuo, mas esse é o próximo passo.
Quero medir a performance da carteira e ver se o raciocínio dos agentes realmente se traduz em resultados — ou se tudo acaba sendo apenas uma boa conversa com o mercado.
Nos próximos meses, pretendo:
- adicionar um dashboard simples para visualizar as posições e o histórico da carteira;
- implementar um sistema de avaliação de performance comparando com benchmarks como o S&P 500;
- e refinar o gerenciamento de caixa, para impedir de vez que o agente “gaste dinheiro que não tem”.
Se você quiser acompanhar ou contribuir, o código está aberto no GitHub. Link: https://github.com/peromao/trading-ai/tree/main