Como Fazer Backtesting de Estratégias em Mercados Preditivos
Metodologia rigorosa de backtesting que evita overfitting e produz resultados confiáveis.
Backtesting — rodar uma estratégia contra dados históricos para ver como ela teria se saído — é uma das ferramentas mais úteis e mais mal utilizadas do trading. Este guia cobre como fazer backtest de estratégias de prediction markets com honestidade, o que faz os backtests mentirem e como são os resultados realistas.
## O Que o Backtesting Diz (E o Que Não Diz)
O backtesting pode responder: "Se eu tivesse rodado exatamente esta estratégia nos mercados que existiram no passado, como eu teria me saído?"
Ele não pode responder: - "Esta estratégia vai funcionar no futuro?" (Desempenho passado ≠ futuro) - "Qual é a estratégia ótima?" (O risco de overfitting é enorme) - "Quanto posso ganhar?" (Os custos de execução no mundo real corroem os retornos) - "Isto é seguro?" (Cisnes negros, por definição, não estão no histórico)
Um bom backtest é uma verificação de sanidade de que sua estratégia não está obviamente quebrada. Um mau backtest é um exercício inflador de confiança que faz você apostar demais em algo que vai falhar em produção.
## O Fluxo de Trabalho do Backtest
### Passo 1: Defina a Estratégia com Precisão
Regras vagas: "Negociar quando houver uma boa oportunidade de +EV"
Regras precisas: "Comprar YES ao preço de mercado quando (1) a estimativa de probabilidade da AI superar o preço de mercado em mais de 5 pontos percentuais E (2) o volume de 24h superar US$ 10.000 E (3) faltarem ao menos 7 dias para a resolução. Tamanho da posição: 3% do bankroll inicial por negociação. Stop-loss: drawdown de 25% a partir da entrada. Take profit: 40% acima da entrada OU resolução, o que vier primeiro."
Você não consegue fazer backtest da versão vaga. Você consegue fazer backtest da versão precisa. A maioria das estratégias falha nesse passo porque o trader, na verdade, não sabe o que faria.
### Passo 2: Obtenha Dados Históricos
Para prediction markets: - Preços históricos da Polymarket via API pública - Resultados de resolução a partir dos metadados do mercado - Snapshots de volume e liquidez ao longo do tempo - Estimativas de probabilidade da AI (se sua estratégia as usa — você precisa computá-las historicamente também)
Observação: a API histórica da Polymarket é limitada por rate limit e não cobre tudo. A ferramenta de backtest da Predite usa snapshots de mercado em cache populados pelo nosso cron de varredura — o que significa que o histórico cresce com o tempo. Os resultados iniciais de backtest têm menos dados do que os resultados após meses de operação da plataforma.
### Passo 3: Simule a Execução
Percorra os dados históricos dia a dia. A cada timestamp: - Verifique se alguma posição aberta deve ser fechada (stop-loss, take profit, resolução) - Verifique se alguma posição nova deve ser aberta (os critérios da estratégia são atendidos) - Atualize o bankroll com base nas resoluções - Registre cada ação e o P&L
A simulação precisa ser determinística — as mesmas entradas sempre produzem as mesmas saídas. Se você está testando várias estratégias, rode-as sobre dados idênticos.
### Passo 4: Calcule as Métricas
Para entender como são os retornos realistas, veja nosso [guia de trading +EV](/blog/what-is-positive-ev-trading) e o [guia de gestão de risco](/blog/risk-management-prediction-markets).
Para cada rodada de estratégia: - Retorno total (% de ganho sobre o bankroll inicial) - Número de negociações executadas - Taxa de acerto (% de posições fechadas que deram lucro) - Retorno médio por negociação - Drawdown máximo (maior perda do topo ao fundo) - Índice de Sharpe (retorno por unidade de variância) - Índice de Calmar (retorno por unidade de drawdown máximo)
Uma estratégia com 10% de retorno anual e 50% de drawdown máximo é muito pior do que uma com 8% de retorno e 15% de drawdown — mesmo que o retorno absoluto seja menor.
### Passo 5: Compare com uma Linha de Base
Sempre faça backtest de uma linha de base de "não fazer nada" ou "negociar aleatoriamente" junto com a sua estratégia. Se sua estratégia não supera o aleatório por uma margem significativa, ela não é realmente uma estratégia.
## O Que Faz os Backtests Mentirem
Esta é a seção mais importante. A maioria dos backtests parece ótima e falha em produção por causa destes problemas:
### Viés de Sobrevivência
Seu conjunto de dados históricos pode incluir apenas os mercados que resolveram de forma limpa. Os que foram retirados da listagem, cancelados ou resolvidos de forma ambígua estão ausentes. O trading no mundo real inclui todos esses — e eles muitas vezes são as perdas.
Mitigação: inclua nos seus dados os mercados cancelados e de resolução ambígua. Trate-os como perdas (a maioria das estratégias não tem uma saída limpa quando um mercado fica estranho).
### Viés de Antecipação (Look-Ahead)
Você usa, no instante T, informações que não estariam disponíveis no instante T. Exemplo: usar o resultado final da resolução para filtrar "bons mercados" antes de negociá-los. É claro que a estratégia vence — você está filtrando os vencedores.
Mitigação: a cada timestamp da simulação, use apenas dados que existiam até aquele timestamp. Estritamente cronológico. Sem espiar à frente.
### Overfitting
Você ajusta os parâmetros da sua estratégia até que ela tenha um desempenho incrível sobre seus dados históricos. A estratégia está apenas memorizando o ruído do passado, e não capturando edge real.
Mitigação: divida os dados em períodos de treino (ajuste de parâmetros) e validação (teste fora da amostra). Se o desempenho na validação for pior que no treino, você fez overfitting. A maioria das estratégias que parecem ótimas dentro da amostra tem edge negativo ou zero fora da amostra.
### Premissas de Execução
Para mais sobre execução no mundo real e slippage, veja nosso [guia do CLOB](/blog/understanding-clob-order-book).
Seu backtest presume que você é executado ao preço médio de mercado. Na realidade, você é executado no ask (pior para compras). Seu backtest presume liquidez infinita. Na realidade, seu tamanho move o preço. Seu backtest ignora gas fees. Elas corroem de 5 a 10% dos lucros pequenos.
Mitigação: adicione fricção realista aos backtests. Presuma que você é executado no ask, não no preço médio. Subtraia o gas estimado. Limite os tamanhos de posição a quantidades de fato executáveis.
### Viés de Seleção nas Estratégias
Você só faz backtest de ideias que parecem promissoras. Estratégias que você rejeita sem fazer backtest podem ter sido as verdadeiras vencedoras. Você não está gerando a "melhor estratégia" — apenas a "melhor estratégia dentre as que por acaso testei."
Mitigação: faça backtest de ideias estranhas também. Às vezes estratégias contraintuitivas funcionam. A seleção na etapa de geração de ideias é difícil de detectar.
## Como É um Backtest Realista
Para uma estratégia +EV típica na Polymarket sobre 30-90 dias de dados históricos:
Bons sinais: - 15-30 negociações fechadas (amostra suficiente para significado estatístico) - Taxa de acerto de 50-65% - Ganho médio maior que a perda média (retornos assimétricos) - Drawdowns abaixo de 30% do bankroll - Desempenho consistente em diferentes períodos de mercado
Sinais de alerta: - Menos de 10 negociações (amostra pequena demais) - Taxa de acerto acima de 80% (provavelmente overfit) - Um único grande vencedor responde pela maior parte dos retornos - Drawdowns acima de 50% (variância alta demais para dinheiro real) - Retornos concentrados em um evento/ciclo de notícias específico
Uma estratégia que dá backtest de 8-15% de retorno anual após custos realistas é plausível. Uma estratégia que dá backtest de 300% ao ano está quase certamente quebrada ou com overfitting.
## Ferramentas de Backtesting
### Widget de Backtest da Predite
A plataforma Predite tem um recurso de backtest embutido para configurações de bot. Você define as regras de entrada/saída e o sistema simula contra dados de mercado em cache. É honesto quanto às limitações de dados — mostra claramente se o período histórico tem cobertura suficiente para resultados significativos.
Limitações: cobre apenas os dados da Polymarket que armazenamos em cache (tipicamente de 7 a 90 dias, dependendo de quando você começa). Não simula gas fees explicitamente (você deve subtrair de 1 a 3% dos resultados brutos para estimativas realistas).
### Backtests Personalizados em Python
Para desenvolvedores experientes, construir seu próprio backtest em Python dá controle total. Bibliotecas que vale conhecer: - pandas (manipulação de dados) - numpy (computação numérica) - requests (chamadas à API da Polymarket) - matplotlib (visualização)
Investimento de tempo: de 1 a 2 semanas para construir, mais manutenção contínua à medida que as APIs mudam.
### Backtests em Planilha
Para estratégias simples, Excel/Google Sheets funcionam. Insira manualmente os dados históricos de mercado, defina fórmulas para entrada/saída e calcule o P&L.
Trabalhoso, mas transparente — você vê exatamente o que está acontecendo em cada passo. Bom para aprender.
## O Teste à Frente (Forward Test)
A maneira correta de fazer o forward test é com paper trading. Nosso [guia de paper trading](/blog/paper-trading-prediction-markets) cobre como fazê-lo direito.
Mesmo um backtest perfeito não prova que uma estratégia funciona no futuro. A única validação honesta é o forward test: faça paper trading da estratégia em mercados ao vivo por 30 a 60 dias, com as mesmas regras do seu backtest.
Compare o P&L do forward test com o P&L do backtest. Se estiverem próximos, seu backtest é realista. Se o forward test for muito pior, seu backtest tinha bugs ocultos (sobrevivência, look-ahead etc.).
A maioria das estratégias que parecem ótimas no backtest tem desempenho de 30 a 50% pior no forward test. Esse é o custo de toda a fricção realista que você não levou em conta.
## Um Fluxo de Trabalho Realista
1. Defina a estratégia com precisão (escreva as regras) 2. Construa um backtest básico contra 30 a 60 dias de dados 3. Verifique se há bugs óbvios (look-ahead etc.) 4. Se os resultados parecerem bons, faça paper trading ao vivo por 30 dias 5. Compare os resultados do paper trading com a projeção do backtest 6. Se estiverem próximos, faça deploy com tamanhos de posição reais e pequenos 7. Continue acompanhando e ajustando com base no desempenho real
Esse fluxo de trabalho leva de 2 a 3 meses no total. A maioria dos traders pula os passos 4-5 e vai direto do backtest para grandes posições reais. Eles perdem dinheiro.
## Conclusão
Backtests são úteis para descartar estratégias obviamente quebradas e obter estimativas aproximadas de desempenho. Eles NÃO são prova de que sua estratégia funciona. A única prova é o trading real ao longo de meses, com dinheiro real e a preços reais.
Construa backtests com cuidado. Leve em conta taxas, slippage e sobrevivência. Valide com forward testing antes de escalar. Acompanhe tudo.
As melhores estratégias em prediction markets costumam ser simples. Nosso [guia de como encontrar mercados +EV](/blog/how-to-find-ev-markets-polymarket) percorre um desses fluxos de trabalho.: identifique uma categoria na qual você tenha edge informacional, dimensione as posições de forma conservadora e execute de maneira consistente. Nenhuma quantidade de backtesting compensa a falta de edge real.