CLOB WebSocket da Polymarket vs. arquivos horários: por que a resolução decide seu backtest
A diferença entre um backtest da Polymarket em que você pode operar e um que mente para você geralmente não está em quanto dado você tem — está em como ele foi amostrado.
A captura orientada a eventos registra o order book da Polymarket a cada mudança, direto do CLOB websocket; um arquivo de intervalo fixo o amostra por relógio (digamos, uma vez por hora) e descarta tudo entre as amostras. Para mercados de cripto de curtíssimo prazo que liquidam em minutos, a amostragem por intervalo captura apenas um quadro ou dois de toda a vida do mercado — e é por isso que a resolução, e não o tamanho do arquivo, decide se um backtest é confiável.
O que 'resolução' realmente significa
Resolução é a frequência com que o estado do book é registrado. Há duas abordagens fundamentalmente diferentes. A amostragem de intervalo fixo tira um snapshot por relógio — a cada hora, a cada minuto, a cada poucas centenas de milissegundos — independentemente do que o mercado fez. A captura orientada a eventos registra um snapshot sempre que o book de fato muda: uma nova ordem, um cancelamento, um trade.
As duas podem gerar arquivos de tamanho parecido e, ainda assim, carregar informações completamente diferentes. Uma amostra por intervalo de um mercado parado desperdiça linhas com um book que não muda; uma amostra por intervalo de um mercado rápido perde os movimentos que importam.
O problema dos mercados de curtíssimo prazo
Os mercados de cripto up/down da Polymarket liquidam em 5 a 60 minutos. Considere um mercado de BTC de 5 minutos. Um arquivo horário pode capturá-lo zero ou uma vez — você pode não ter sequer um único book de toda a vida do mercado. Um arquivo por minuto te dá cerca de cinco quadros, nenhum deles alinhado aos momentos em que sua estratégia de fato teria agido.
A captura orientada a eventos, por outro lado, registra cada recotação e cada trade conforme acontecem, então todo o arco do mercado — a abertura, os movimentos conforme o spot oscila, o alargamento do spread rumo à liquidação — está todo ali para ser reproduzido.
Lado a lado
| Arquivo horário | Amostra por minuto | Orientado a eventos (DepthFeed) | |
|---|---|---|---|
| Cobertura de mercado de 5 minutos | 0–1 quadros | ~5 quadros | Cada mudança |
| Captura o alargamento do spread | Não | Raramente | Sim |
| Slippage mensurável | Não | Aproximado | Sim |
| Alinha aos movimentos do spot | Não | Grosseiramente | Tick a tick |
| Entrega ao vivo | n/d | n/d | ~10 ms de mediana (medido) |
Por que quase ninguém guarda depth orientado a eventos
Registrar cada mudança do book em tempo real é caro: significa manter uma conexão websocket ao vivo por mercado, persistir cada quadro e nunca conseguir preencher de volta aquilo que você não capturou — o histórico do order book não pode ser reconstruído depois do fato. É por isso que as exchanges não servem o próprio histórico de book e a maioria dos arquivos para no último preço amostrado. A DepthFeed existe especificamente para registrar e servir esse depth orientado a eventos.
Key takeaways
- 01Resolução é uma questão de método de amostragem, não de tamanho do arquivo.
- 02Arquivos de intervalo fixo perdem a vida dos mercados de 5 a 60 minutos.
- 03A captura orientada a eventos registra cada mudança do book, então o arco completo do mercado pode ser reproduzido.
- 04O histórico do order book não pode ser preenchido de volta — ele só está disponível se alguém o capturou ao vivo.
A diferença entre um backtest da Polymarket em que você pode operar e um que mente para você geralmente não está em quanto dado você tem — está em como ele foi amostrado.
Começar grátis