DepthFeed/Both venues·Backtesting

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.

DepthFeed··9 min

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

Perguntas, respondidas.

Reproduza o book de ordens gravado contra o qual cada mercado teria negociado, dimensione as execuções contra a liquidez resting real (não o mid) e liquide cada posição no resultado real de $0/$1. No DepthFeed você pode fazer isso sem código no Backtest Lab ou via API de dados no seu próprio stack, depois fazer forward-test do resultado com paper trading em books ao vivo.