Atualizado em 09/08/2026
Todo mundo quer saber se um LLM consegue descobrir estratégia de trading. Eu opero de forma algorítmica há mais de uma década, rodo uma esteira própria de geração e validação de robôs, e a resposta que eu tenho vem da prática diária, com número meu. A resposta curta é essa: uso IA com peso enorme dentro da pesquisa, e me recuso a usá-la pra inventar sinal. Ela só entra depois que o resultado já existe.
Os motivos conectam com tudo que já escrevi sobre as armadilhas de machine learning em trading, sobre a probabilidade de overfitting do backtest (PBO) e sobre o Sharpe deflacionado por múltiplos testes. Aqui vão os dois lados, com caso real e número: onde a IA multiplicou o meu rigor, e por que no papel de geradora de estratégia ela multiplica exatamente o overfitting que aqueles três artigos ensinam a medir.
O que a pesquisa mostra: ao pedir a um LLM que previsse riscos a partir de teleconferências de resultados do fim de 2019, o modelo citou Covid-19 em mais de 25% dos casos. A pandemia inteira já estava no texto com que ele foi treinado, então o que saiu ali foi recuperação de memória vestida de previsão. É esse o viés de look-ahead embutido no treino (Sarkar e Vafa, 2024).
Os dois papéis possíveis da IA na pesquisa quant
Depois de meses com agentes de IA dentro do meu projeto real, a divisão que organiza tudo ficou simples: existem dois papéis possíveis pra um LLM num processo de pesquisa quantitativa, e eles produzem efeitos opostos sobre o mesmo funil de seleção. É o mesmo modelo, na mesma conversa, mudando só a instrução.
No primeiro papel, a IA é a fonte do sinal: você pede uma estratégia, uma previsão, um setup, um indicador “criativo”. Chamo esse papel de oráculo. No segundo, ela trabalha contra você, recebendo o seu resultado pronto com a instrução explícita de refutá-lo, re-derivar os números por caminho independente, procurar o erro de lógica, o vazamento de dado, o bug no código. Chamo esse papel de adversário.
A minha experiência e a literatura acadêmica recente apontam pro mesmo lado. O oráculo amplifica os vícios clássicos do backtest. O adversário amplifica o rigor. A causa técnica dessa assimetria eu destrincho adiante, depois dos dois casos concretos.
O caso real: a carteira reprovada pela auditoria adversarial
Em junho de 2026 montei uma carteira de 42 robôs a partir de um pool de 139, com regras que me pareciam de bom senso: risco medido por covariância, teto por fator de risco, corte de robôs clonados dentro da mesma célula, lote igual pra todo mundo. Os dois números que eu mais olhava melhoraram juntos. O Sharpe subiu de 3,76 para 5,24 e a concentração em iene caiu de 71% para 34%. Eu queria acreditar. Em vez de acreditar, escalei quatro agentes de IA independentes com uma instrução curta, derrubem isso, sem acesso nenhum às minhas conclusões e com cada um re-derivando os números do zero.
Foram três achados, e cada um deles matou uma alegação de qualidade diferente da carteira.
Primeiro: o Sharpe 5,24 era ilusão de seleção. Um dos agentes decompôs o ganho e mostrou de onde ele tinha saído: média dos retornos ×1,33 contra volatilidade ×0,95. O número subiu porque eu mantive os vencedores. O controle de risco entrou com quase nada. Sortear 10 robôs por célula ao acaso dava Sharpe ~4,7, quase o mesmo que a minha seleção cuidadosa entregou, e o Sharpe da carteira escolhida ficou no percentil 100 de 2.000 sorteios sobre o mesmo pool, que é a assinatura clássica de ajuste ao alvo. Em dólar somado o resultado líquido caía de $23,8 mil para $9,6 mil, e só a média por robô subia, porque eu tinha selecionado justamente pela média.
Segundo: o “balanceado” era cosmético. Reduzir iene trocando por euro, libra e dólar canadense parece diversificação, só que todos esses pares carregam o mesmo fator dólar. Colapsando no fator real, a carteira tinha ~1,8 fatores de risco independentes, idêntico ao pool solto de 139 robôs. Eu tinha rebalanceado o rótulo. O risco continuou onde estava. Pior: nos dias ruins, a cauda da carteira era 51% euro, 32% libra e 14% iene, então o teto que eu tinha imposto estava no fator errado.
Terceiro: a circularidade era minha. O meu construtor escolhia os robôs de melhor resultado dentro de 2024-2026 e media a carteira em 2024-2026. A frase do red-team que colei na parede foi essa: “o exercício responde qual pedaço de 2024-2026 teria sido melhor em 2024-2026”. Isso é memória do período medido, e memória não se repete fora dele.
Veredito: carteira reprovada, zero dólar alocado. Repare no detalhe que muda tudo. Nenhum daqueles agentes gerou uma estratégia. Eles auditaram um resultado meu com poder real de veto, e o veto foi o valor, porque cada furo virou correção permanente no processo, incluindo a régua de deflacionar pelo número de fatores de risco independentes que a carteira tem de verdade, que ali eram de 2 a 3, ignorando a contagem de 42 robôs.
O bug que a IA achou no meu próprio código de validação
O segundo caso é menor e talvez mais ilustrativo, porque mostra a IA revisando a régua em vez de criar o sinal. A minha esteira calcula o PBO, a probabilidade de overfitting do backtest de Bailey e López de Prado, pra medir se o meu funil de seleção premia ruído. Num passe de auditoria, um agente encontrou o ranking invertido dentro da minha função. Ela reportava o complemento do valor certo. Eu tinha anotado PBO 0,91 e seguido a vida achando que estava tudo bem. 0,91 seria péssimo. O valor real, depois do conserto, era de aproximadamente 0,075.
Dois anos atrás esse bug teria vivido meses no meu código, distorcendo decisão em silêncio, porque um indicador com o sinal trocado continua produzindo número plausível. A IA achou porque a tarefa dela era achar. A lição operacional ficou: toda métrica de validação precisa de um teste com invariante conhecido, e um agente instruído a quebrar o código é a forma mais barata que eu conheço de fabricar esse escrutínio.
Por que não uso LLM pra gerar estratégia
Do outro lado está o papel de oráculo, e a recusa tem quatro razões técnicas, cada uma com literatura ou com número meu por trás.
1. Conhecimento do futuro embutido no treino. Um LLM foi treinado com anos de texto que incluem o que aconteceu com os mercados até o corte de treino dele. Qualquer backtest que sobreponha esse período carrega vazamento estrutural. O modelo já sabe o que veio depois. Esse ponto saiu do terreno da intuição e virou literatura. Glasserman e Lin (2023) mediram o viés de look-ahead em previsões de retorno geradas por sentimento do GPT e mostraram que só anonimizando as manchetes, removendo nome de empresa e data, dá pra separar o sinal do vazamento. Sarkar e Vafa (2024) foram além e construíram o teste direto que abre este texto, com o modelo citando a Covid-19 a partir de material de 2019. Uma estratégia “descoberta” por LLM sobre dado histórico carrega esse vazamento dentro, e nenhum backtest tradicional consegue expurgá-lo.
2. Alucinação de padrão e de código. LLM é treinado pra produzir texto plausível, e padrão de mercado plausível que não existe é a matéria-prima do prejuízo. Isso vale até pro código: pesquisas sobre geração de código mostraram que quase 20% das dependências sugeridas por LLMs em alguns cenários simplesmente não existem (Spracklen e coautores, 2024). Se o modelo inventa biblioteca com nome verossímil, ele inventa regularidade estatística com a mesma fluência.
3. Viés de plausibilidade. Este é o mais sutil dos quatro. Um LLM entrega toda ideia embrulhada numa narrativa convincente, com racional econômico bem escrito. Só que história boa e vantagem estatística são variáveis independentes, e o meu processo inteiro existe pra separar as duas. Quando a explicação já vem pronta e elegante, a tentação de pular a validação cresce. O estudo de Lopez-Lira e Tang (2023), o marco da área, é honesto nesse ponto: o ChatGPT extraiu sinal real de sentimento de notícia, que é uma tarefa de classificação de texto com saída verificável. Extrair sentimento de um texto e inventar uma estratégia completa são tarefas de natureza oposta, e o resultado positivo da primeira vem sendo usado de álibi pra segunda.
4. Overfitting em escala industrial. Como mostrei no artigo sobre o Sharpe deflacionado, o melhor resultado entre N tentativas cresce com N mesmo sem vantagem nenhuma. Rodei essa medição dentro do meu projeto, com janela de build de cerca de três anos: o melhor Sharpe in-sample esperado por puro acaso, com vantagem zero, sobe de 1,8 com 600 tentativas para 2,1 com 6.000, e chega a 2,5 com 60.000 tentativas. Sorte e volume, sem vantagem nenhuma no meio. Um LLM gera candidato de estratégia a custo quase zero, e custo quase zero é exatamente o que explode o N do funil. Quem não deflaciona pelo número real de tentativas colhe o que eu colhi na carteira dos 42: um percentil 100 com cara de habilidade. Era só o N.
A regra que destilei: adversário multiplica rigor, oráculo multiplica overfitting
Junte os dois casos e a assimetria fica visível. No papel de adversário, a IA re-deriva número, procura circularidade, quebra código, colapsa fator de risco. Cada acerto dela remove um erro meu do processo. Erro removido é ganho permanente. No papel de oráculo, cada “acerto” dela adiciona um candidato plausível a um funil que já sofre de excesso de candidato, com vazamento de futuro embutido e narrativa pronta pra me convencer a pular etapa.
Existe uma condição pra isso funcionar, e ela é a parte difícil: o adversário só serve se você der a ele o poder de te reprovar. Se a auditoria vira formalidade e todo veredito negativo é “contextualizado” até virar aprovação, o que você montou foi teatro de rigor. A minha carteira de 42 robôs morreu numa sexta-feira por decisão de um painel de IA que eu mesmo configurei, e aceitar aquele veredito valeu mais que qualquer estratégia que um LLM pudesse ter me sugerido. O que sobreviveu do processo, o corte de clones, a régua de fatores de risco independentes e o hábito de comparar tudo com o portfólio ingênuo de peso igual, é o que sustenta hoje o portfólio que roda de verdade.
E preciso registrar a simetria completa, porque o adversário também erra. Numa daquelas auditorias, o painel cravou que o meu pool não tinha out-of-sample nenhum e que todo número dali era circular. E estava errado. Quando abri o arquivo de configuração do gerador de estratégias e li o pipeline ponta a ponta, o out-of-sample estava lá: build e otimização em 2019.01 a 2021.07, out-of-sample de verdade em 2021.08 a 2023.12, mais quatro rodadas de Monte Carlo e um teste com OHLC aleatório antes de qualquer aprovação. O que enganou o painel, e tinha me enganado antes dele, foi o rótulo do arquivo exportado, que marcava tudo como in-sample porque descrevia o reteste final sobre o período inteiro. Auditoria de IA também se audita. A regra que ficou vale pros dois lados: todo veredito, meu ou dela, se sustenta em número re-derivável, ou não se sustenta.
Como aplicar isso na sua pesquisa
São cinco práticas que eu uso hoje, e qualquer pesquisador independente consegue replicar todas elas com uma conta paga de LLM.
Inverta a pergunta. Em vez de pedir “me dê uma estratégia pra EURUSD”, entregue o seu backtest pronto e peça “encontre três razões pelas quais este resultado é falso”. A qualidade da resposta muda de patamar, porque crítica é verificável e criação não é.
Exija re-derivação e aceite só número. Opinião de LLM sobre a sua estratégia vale zero. Peça que ele recalcule a métrica por caminho próprio e compare com a sua. Foi a re-derivação que pegou o meu percentil 100 e o meu PBO invertido, sem nenhuma opinião no meio do caminho.
Use vários agentes independentes. Um auditor sozinho ancora na sua narrativa e devolve o que você quer ouvir, enquanto um painel com instruções separadas produz achado que um passe único jamais produziria, e os meus três furos vieram de agentes diferentes.
Deflacione qualquer coisa que um LLM tenha ajudado a gerar. Se ainda assim você usar IA pra propor variação, conte cada proposta no N do seu Sharpe deflacionado e rode o PBO sobre o funil inteiro, incluindo tudo o que você descartou no caminho.
Dê poder de veto e honre o veto. Defina antes da auditoria, por escrito e com número, o que te faria abandonar a estratégia. Se nenhum resultado possível te faria desistir, o que você chama de validação é uma busca por confirmação com etapa extra.
Os números deste artigo
| Métrica | Valor | Contexto |
|---|---|---|
| Carteira auditada (jun/2026) | 42 de 139 robôs | Sharpe subindo de 3,76 para 5,24 |
| Posição do Sharpe vs acaso | percentil 100 | Contra 2.000 carteiras sorteadas |
| Resultado líquido em dólar somado | $23,8 mil → $9,6 mil | A seleção pela média encolheu o total |
| Fatores de risco independentes reais | ~1,8 | Idêntico ao pool solto de 139 |
| Concentração em iene | 71% → 34% | Rebalanceio de rótulo, risco igual |
| PBO reportado vs corrigido | 0,91 vs ≈0,075 | Ranking invertido achado pelo agente |
| Melhor Sharpe in-sample por puro acaso | 1,8 → 2,5 | De 600 para 60.000 tentativas, build ~3 anos |
LLM consegue prever o mercado?
Em tarefas estreitas de classificação de texto, como sentimento de manchete, há evidência de sinal (Lopez-Lira e Tang, 2023). Só que todo backtest que sobrepõe o período de treino do modelo está contaminado por look-ahead estrutural (Glasserman e Lin, 2023; Sarkar e Vafa, 2024), então a barra de prova sobe muito. Previsão de preço de forma ampla, com o conhecimento que existe hoje, segue sem evidência sólida.
Então IA não serve pra criar estratégia nunca?
Sirvo de exemplo do meio-termo honesto. Uso geração algorítmica de estratégias, que é busca sistemática com validação out-of-sample e Monte Carlo, um processo mecânico e auditável de ponta a ponta, e uso LLM pra auditar esse processo. O que eu evito é o LLM como fonte direta do sinal, porque ali o vazamento de treino e a alucinação de padrão entram sem deixar rastro no backtest.
Como montar uma auditoria adversarial sem saber programar?
Quatro instruções resolvem, e todas cabem num prompt só: entregue os dados e o resultado, proíba o modelo de concordar com você, exija que cada crítica venha com o número recalculado e defina de antemão o critério que reprova a estratégia. Dois ou três agentes em conversas separadas, sem ver a resposta uns dos outros, já elevam muito a taxa de detecção de erro.
O que é o viés de look-ahead de um LLM?
É o vazamento de informação futura pelo próprio treino do modelo: um LLM treinado até 2024 já sabe o que aconteceu com os mercados até lá. Qualquer simulação histórica dentro desse período pode estar usando conhecimento do futuro sem que você perceba. Sarkar e Vafa (2024) demonstraram o efeito ao ver o modelo “prever” a Covid-19 a partir de textos de 2019.
Referências
- Lopez-Lira, A.; Tang, Y. (2023). Can ChatGPT Forecast Stock Price Movements? Return Predictability and Large Language Models. SSRN. link.
- Glasserman, P.; Lin, C. (2023). Assessing Look-Ahead Bias in Stock Return Predictions Generated by GPT Sentiment Analysis. SSRN / arXiv:2309.17322. link.
- Sarkar, S. K.; Vafa, K. (2024). Lookahead Bias in Pretrained Language Models. SSRN. link.
- Spracklen, J. et al. (2024). We Have a Package for You! A Comprehensive Analysis of Package Hallucinations by Code Generating LLMs. arXiv:2406.10279. link.
- Bailey, D. H.; Borwein, J. M.; López de Prado, M.; Zhu, Q. J. (2017). The Probability of Backtest Overfitting. Journal of Computational Finance, 20(4). link.
- Bailey, D. H.; López de Prado, M. (2014). The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting and Non-Normality. Journal of Portfolio Management, 40(5). link.
- CPCV: a validação cruzada que não vaza, e o bug que inverteu o meu resultado
- Anatomia de uma Estratégia Real: Keltner e Estocástico no EUR/USD, e a Degradação de Só 1%
- Anatomia de uma Estratégia Real: Bollinger e WaveTrend no EUR/USD, 7 Anos Abertos Sem Esconder Nada
- Diário de um Portfólio de Robôs (5): O Bug que Inverteu Vencedores e Perdedores
Presente para Leitores: Robô de Gradiente Linear Gratuito
Estou liberando o acesso ao meu setup pessoal de Gradiente Linear sem custo nenhum. É só clicar e me pedir o arquivo.
Quem escreve: Flávio Araújo
Trader algorítmico há mais de 13 anos, MBA em Mercado de Capitais e Derivativos. Mantém um laboratório próprio que já rodou mais de 20 milhões de backtests e analisou mais de 20 mil estratégias, e opera um portfólio de robôs acompanhado publicamente no blog. LinkedIn · Instagram · YouTube
