Backtesting8 min de leitura

Como Fazer Backtest de Estratégias da Polymarket no Order Book

DepthFeed Research

Equipe de dados de mercados de previsão

Guias

Um último preço amostrado uma vez por hora não consegue dizer se a sua ordem teria sido executada. Veja como fazer backtest na Polymarket contra o book contra o qual ela realmente teria operado.

Para fazer backtest de uma estratégia Polymarket, reproduza suas melhores ofertas/pedidos registrados e dimensione preenchimentos hipotéticos contra a liquidez observada. Inspecione carimbos de data/hora, cadência armazenada e lacunas; o arquivo não pode estabelecer o livro exato entre observações. Um último preço ou um único meio-termo também omite o spread e a profundidade que um pedido real encontraria.

Por que backtests com último preço mentem

A maior parte dos dados da Polymarket disponíveis gratuitamente é o último preço negociado, muitas vezes amostrado uma vez por hora. Isso é suficiente para desenhar um gráfico e nada mais. Um backtest precisa responder a uma pergunta mais difícil: se a minha ordem estivesse em repouso (ou tivesse cruzado o spread) naquele momento, ela teria sido executada, em que tamanho e a que preço?

Responder a isso exige o order book — cada bid e ask em repouso com seu tamanho — e não um único número. Uma estratégia testada contra o mid assume que sempre foi executada no mid com slippage zero, o que nunca é verdade. Em mercados cripto de curtíssimo prazo, onde os spreads se alargam perto do settlement, essa suposição pode transformar uma estratégia perdedora em uma aparente vencedora.

Passo 1 — Obtenha dados de order book com profundidade total

Comece com livros de profundidade total registrados em ambos os lados. DepthFeed ingere atualizações de Polymarket CLOB, mas as observações armazenadas seguem a cadência de captura documentada e podem ter lacunas. Inspecione os carimbos de data/hora disponíveis para seu mercado em vez de assumir que cada evento upstream foi retido.

Puxe os mercados que você quer pela REST API: descubra-os com GET /v3/{coin}/markets e, em seguida, puxe a profundidade de /v3/{coin}/markets/{id}/snapshots. Cada snapshot carrega os arrays de preço e tamanho de bid/ask, além dos timestamps de exchange e de recebimento em epoch-millis.

Passo 2 — Reconstrua o book a cada instante

Reproduza observações registradas em ordem de carimbo de data/hora. Cada uma descreve o livro armazenado naquela observação, incluindo a melhor oferta, melhor pedido, profundidade e spread. Não infira um estado exato do livro ou preenchimentos garantidos entre observações; torne explícita qualquer suposição de interpolação ou persistência no backtest.

Passo 3 — Modele os fills contra a profundidade real

Agora simule a execução com honestidade. Uma ordem a mercado caminha pelo book: é executada primeiro contra o melhor nível, depois contra o seguinte, até esgotar o seu tamanho — então o seu preço médio é pior do que o topo sempre que ela consome mais do que o nível de cima. Uma ordem em repouso entra na fila e só é executada se o mercado negociar atravessando o seu preço com tamanho suficiente por trás.

Dimensionar os fills contra a escada registrada é o ponto central: isso lhe dá slippage e probabilidade de execução realistas, em vez da ficção de que você sempre negociou no mid.

Passo 4 — Junte o preço do ativo subjacente

Os mercados de cripto up/down da Polymarket são movidos pelo movimento spot do ativo subjacente. Cada snapshot da DepthFeed é casado com um preço de referência da Binance de alta frequência pelo timestamp em epoch-millis, de modo que você consegue alinhar o estado do book com o movimento spot que reprecificou o contrato — essencial para qualquer estratégia que negocie a relação entre o preço da cripto e a probabilidade implícita do mercado.

Etapa 5 — Valide o adaptador de dados ao vivo

As respostas históricas de REST e os quadros ao vivo de WebSocket usam contratos documentados distintos. Valide um adaptador para seus identificadores, carimbos de data/hora e campos antes de alimentar ambos em lógica de estratégia compartilhada. Faça backtest em observações armazenadas, em seguida, teste forward-test do adaptador ao vivo com paper trading.

Armadilhas comuns

  • Usar dados de último preço: esconde o spread e o slippage; infla os retornos do backtest.
  • Snapshots em intervalo fixo: uma amostra horária ou por minuto perde a maior parte da vida de um mercado de 5 minutos.
  • Ignorar a posição na fila: supor que ordens em repouso sempre são executadas superestima estratégias passivas.
  • Viés de look-ahead: reaja apenas a dados com um timestamp de recebimento igual ou anterior ao seu momento de decisão.
  • Pular o ativo subjacente: a vantagem em cripto up/down normalmente vive na relação spot-para-probabilidade.

Pontos principais

  • 01Faça o backtest contra o order book, não contra o último preço — é a profundidade que determina os fills.
  • 02Use dados orientados a eventos: amostras em intervalo fixo perdem a vida de mercados de curtíssimo prazo.
  • 03Modele ordens a mercado caminhando pelo book e ordens em repouso esperando na fila.
  • 04Junte o preço da cripto subjacente para capturar a relação spot-para-probabilidade.
  • 05Escolha dados cujo histórico e feed ao vivo compartilhem um único formato, para que você opere o código que testou.

Um último preço amostrado uma vez por hora não consegue dizer se a sua ordem teria sido executada. Veja como fazer backtest na Polymarket contra o book contra o qual ela realmente teria operado.

Começar grátis

Perguntas, respondidas.

Apenas em parte. A API pública da Polymarket expõe mercados atuais, trades e um endpoint de histórico de preços, mas não fornece snapshots históricos do order book — então você não consegue reproduzir o book em repouso contra o qual uma estratégia teria operado. Essa profundidade histórica é exatamente a lacuna que os dados de order book de terceiros preenchem.

Comece a fazer backtest de Polymarket sobre profundidade real.

Grátis para começar, sem cartão. Faça upgrade quando sua estratégia estiver pronta para o livro completo.

Começar grátis