Como Fazer Backtest de Estratégias em Mercados de Predição na Polymarket & Kalshi
Fazer backtest em um mercado de predição não é o mesmo que fazer backtest em uma ação. Os contratos liquidam a $0 ou $1, as janelas têm minutos de duração e o book fica rarefeito perto do fechamento. Veja como fazer isso honestamente.
Para fazer backtest honesto de uma estratégia em mercados de predição, você reproduz o book de ordens gravado contra o qual cada mercado teria negociado, dimensiona cada execução contra a liquidez que estava genuinamente resting ali e liquida cada posição no resultado real de $0/$1. No DepthFeed você pode fazer isso de duas formas — sem código no Backtest Lab, ou via API de dados no seu próprio stack — e depois fazer forward-test da sobrevivente em books ao vivo com paper trading.
O que torna os mercados de predição diferentes para backtest
Um contrato de mercado de predição não é uma ação ou um perp. Cada resultado é cotado de 0 a 1 — sua probabilidade implícita — e na liquidação um lado vale exatamente $1 e o outro $0. Mercados up/down de cripto liquidam em 5 a 60 minutos contra um preço de referência, os spreads ampliam e a profundidade se reduz perto do fechamento, e toda a vida de um mercado pode ser mais curta do que uma única vela em um gráfico normal.
Essa forma muda o que um backtest precisa. Amostrar um último preço uma vez por minuto perde a maior parte de um mercado de cinco minutos; ignorar o book esconde o spread que decide seu P&L em um contrato que paga no máximo um dólar; e rotular erroneamente a liquidação transforma vencedores em perdedores. O restante deste guia trata de acertar cada um desses pontos.
Passo 1 — Comece pelo book de ordens real
Um backtest só pode ser tão honesto quanto seus dados. Você precisa do book de ordens completo — cada bid e ask resting com seu tamanho, em ambos os lados — capturado a cada mudança em vez de em um clock fixo, porque a captura orientada a eventos é a única forma de ver o arco completo de um mercado de curto prazo. Nem a Polymarket nem a Kalshi servem sua própria profundidade histórica de book de ordens, então reproduzir o book como estava requer um provedor que o tenha capturado continuamente.
O DepthFeed serve exatamente isso para ambas as plataformas em um único schema: Polymarket capturada orientada a eventos pelo websocket CLOB, Kalshi polled continuamente com profundidade total (até 100 níveis por lado), cada snapshot carregando timestamps em epoch-millis e um preço de referência de cripto subjacente associado. Um único loader lê qualquer uma das plataformas.
Passo 2 — Modele execuções contra a profundidade, não o mid
Este é o passo que separa um backtest em que você pode operar de um que mente. Uma ordem a mercado percorre o book — ela preenche o melhor nível primeiro, depois o próximo, então seu preço médio é pior do que o toque sempre que consome mais do que o nível superior. Uma ordem resting entra na fila e só é executada se o mercado negociar por seu preço com tamanho suficiente atrás. Executar tudo no mid com zero slippage, o padrão da maioria dos backtests casuais, superestima sistematicamente a vantagem.
Qualquer que seja o caminho que você escolha, insista em uma execução sensível à profundidade. Em um spread de round-trip de quatro centavos, em um contrato que paga no máximo um dólar, a diferença entre uma execução no mid e uma real é enorme — e compõe em cada operação.
Passo 3 — Liquide no resultado real
Como o payoff é binário, a liquidação não é um detalhe de arredondamento — é a maior parte do P&L. Mercados up/down da Polymarket resolvem contra um 'preço a superar' definido na abertura versus a referência final no fechamento; contratos da Kalshi liquidam sim/não contra um preço de referência publicado no vencimento. Faça backtest contra a resolução real, não uma premissa, e verifique a divisão: nos mercados up/down de cripto liquidados que capturamos, os resultados ficam próximos de um cara-ou-coroa, então qualquer backtest cuja liquidação se desvie muito disso provavelmente está rotulando vencedores errado.
Passo 4 — Escolha seu fluxo: sem código ou API
Existem duas formas de executar tudo isso no DepthFeed. O caminho sem código é o Backtest Lab: escolha um ativo e janela, selecione um preset ou escreva uma regra curta, escolha um modelo de execução, e ele reproduz mercados resolvidos e os liquida para você no navegador — execuções VWAP com profundidade incluídas, sem pipeline a construir.
O caminho da API é para pesquisa customizada em escala: baixe snapshots com profundidade completa via REST API, reconstrua o book no seu próprio stack e execute qualquer modelo que desejar. Como a REST API histórica e o WebSocket ao vivo emitem o JSON idêntico, o loader que você escreve para reproduzir o histórico lê o feed ao vivo inalterado — você opera exatamente o código com que fez backtest.
Passo 5 — Faça forward-test antes de arriscar dinheiro
Um backtest está ajustado ao passado, por mais levemente que seja, então o último passo é executar a sobrevivente para frente em mercados cujo resultado ninguém conhece ainda. Implante a regra no paper trading — ou conduza-a pelo seu próprio bot via webhook — e ela negocia books ao vivo com dinheiro virtual, executando no bid/ask real e liquidando automaticamente na resolução. A curva de equity que ela constrói é a evidência forward que um backtest não consegue lhe dar.
Isso completa o loop: dados → backtest honesto → forward-test. Elimine ideias de forma barata no histórico, leve as que sobrevivem para books de paper ao vivo, e só então considere capital real.
Armadilhas comuns
- Dados de último preço ou horários: esconde o spread e perde a vida de um mercado de 5 a 60 minutos.
- Execuções no mid: presumir zero slippage superestima a vantagem, gravemente, em um contrato que paga no máximo $1.
- Liquidação presumida: rotule vencedores a partir do preço de referência real, não de uma suposição — é a maior parte do P&L.
- Viés de look-ahead: reaja apenas a dados com timestamp de recebimento igual ou anterior ao seu momento de decisão.
- Pular o forward-test: uma vantagem que só existe no histórico liquidado pode não sobreviver a mercados ao vivo.
Key takeaways
- 01Mercados de predição liquidam a $0/$1 em minutos, então profundidade, timing e liquidação importam mais do que em qualquer gráfico normal.
- 02Faça backtest contra o book de ordens gravado real — ambos os lados, cada nível — capturado a cada mudança, não amostrado.
- 03Modele execuções contra a profundidade (percorra o book); uma execução no mid superestima silenciosamente a vantagem em um contrato que paga no máximo $1.
- 04Liquide no resultado real e verifique a divisão próxima de cara-ou-coroa; liquidação mal rotulada transforma vencedores em perdedores.
- 05Execute sem código no Backtest Lab ou via API, depois faça forward-test da sobrevivente em books ao vivo com paper trading.
Fazer backtest em um mercado de predição não é o mesmo que fazer backtest em uma ação. Os contratos liquidam a $0 ou $1, as janelas têm minutos de duração e o book fica rarefeito perto do fechamento. Veja como fazer isso honestamente.
Começar grátis