Tutorial de Bot da Polymarket · Capítulo 23 de 32
Padrões de bot para mercados up-down de BTC/ETH de 5 minutos na Polymarket: 288 expirações por dia, execução crítica para latência, fontes de edge, por que a maioria dos bots de varejo perde e skeleton de código para a estratégia.
O que este capítulo cobre
Os mercados de BTC up/down de 5 minutos da Polymarket se resolvem 288 vezes por dia, acumulando qualquer edge ao longo de muitas repetições. A maioria dos bots de varejo perde aqui apesar do volume, porque a barra de latência e de edge é definida por firmas profissionais. Este capítulo trata do que sobrevive.
- O que são os mercados cripto de 5 min
- 288 expirações por dia = repetições compostas
- Por que bots de varejo perdem aqui
- Fontes de edge que sobrevivem
- Orçamento de latência
- Risco: pequeno por trade, grande por dia
- Código: skeleton de estratégia de 5 min
O que são os mercados cripto de 5 min
Os mercados cripto de 5 minutos da Polymarket são perguntas binárias de alta/baixa sobre o preço do BTC (e ETH). Novos mercados abrem a cada 5 minutos; cada um se resolve no preço de fechamento 5 minutos após a abertura, com fonte em um oracle publicado.
Isso produz 288 mercados por ativo por dia. A oportunidade de compounding de qualquer edge é enorme: mesmo uma pequena vantagem por trade se torna significativa quando você pode aproveitá-la mais de 100 vezes por dia.
O outro lado: a barra é definida por firmas profissionais. O mid se move em sincronia apertada com o feed de preço do ativo subjacente, e os books geralmente são finos na perna do lado errado.
288 expirações por dia = repetições compostas
Se seu edge for de 0,5c por trade com taxa de acerto de 55% e você puder fazer 60 trades por dia, o PnL diário esperado é 60 × 0,5c = $0,30 em posições de 10 shares = $3/dia. Parece pouco, mas compõe: 252 dias de trading × $3 = $750/ano com exposição de capital quase zero (as posições se resolvem em até 5 minutos).
Para o mesmo edge produzir $750/ano em uma binary que se resolve uma vez por trimestre, você precisaria de um tamanho por trade muito maior e caudas de perda muito mais amplas.
Mercados de 5 min são o único segmento na Polymarket em que edges pequenos, porém frequentes, somam uma renda anual relevante.
Por que bots de varejo perdem aqui
Três modos de falha que consistentemente derrubam participantes de varejo.
- Latência: firmas profissionais colocam ordens em 50-100ms; bots de varejo levam 1-3 segundos. Quando você dispara, o preço já está no novo mid.
- Assimetria de informação: o CEX subjacente (Binance, Coinbase) imprime o trade tape mais rápido que o feed de preço da Polymarket. Bots sem assinaturas diretas de CEX estão operando com dados defasados.
- Taxa do spread: em cadência de 5 min, até um spread de 0,5c × 60 trades = 30c por dia em custo inevitável. O edge precisa superar isso antes de ser lucrativo.
Bots de varejo normalmente empatam ou perdem porque não conseguem superar os profissionais e não conseguem escapar da taxa do spread. As estratégias que funcionam para varejo não são edge contra os profissionais; são estratégias de decisão lenta com vantagens específicas de informação.
Fontes de edge que sobrevivem
O que funciona para varejo em mercados de 5 min.
- Viés direcional guiado por funding rate: funding positivo extremo em perp futures prevê mean reversion; opere contra o funding rate.
- Janelas de liquidação de open interest: no início de cada hora, liquidações em perp futures são mais prováveis; fade movimentos extremos nessa janela.
- Arbitragem de resolução na janela final: nos últimos 30 segundos de uma janela de 5 min, o preço de resolução fica cada vez mais previsível; o book frequentemente oferece liquidez rasa em probabilidades que não batem com o live tape.
O que não funciona: sinais puramente técnicos (RSI, moving averages), simples cópia de momentum, qualquer coisa que exija que o bot seja mais rápido que os profissionais.
Orçamento de latência
Para uma estratégia viável de 5 min, a divisão do orçamento é aproximadamente:
- Ler a fonte do sinal (trade tape do CEX, funding rate): 100-300ms
- Computar a decisão: 50ms
- Enviar ordem FOK: 200-500ms
- Receber confirmação de fill: 200ms
Total: 550-1050ms. Alcançável em uma VPS com RPC pago e assinatura direta de WebSocket do CEX. Não é alcançável em um laptop doméstico ou com APIs de free-tier.
Estratégias que precisam de < 500ms no total são território de profissionais; varejo não deve competir aí.
Risco: pequeno por trade, grande por dia
Dimensionamento para mercados de 5 min: pequeno por trade, com limite diário.
- Por trade: 5-15 shares ($1-6) por mercado. Abaixo de 5, vendas GTC ficam impossíveis; acima de 15, você varre o book na entrada.
- Total diário: 50-100 trades. Mais do que isso cria exposição correlacionada a uma única peculiaridade do oracle.
- Kill switch de PnL diário: interrompa se o PnL acumulado cair > $10 (ou 5% do capital alocado). Dias ruins em mercados de 5 min normalmente acontecem porque uma hipótese da estratégia quebrou; sobreviva ao dia, debuge e faça deploy novamente.
A assimetria entre o tamanho por trade e a contagem diária é intencional. Você está jogando amplitude, não profundidade.
Código: skeleton de estratégia de 5 min
Referência: o loop de trading para um bot de 5 min guiado por funding rate.
def five_min_loop():
while True:
wait_for_next_window_open() # blocks until xx:x0:00 or xx:x5:00
markets = find_open_5min_markets("btc")
if not markets: continue
funding = fetch_perp_funding_rate("BTCUSDT")
bias = "DOWN" if funding > 0.001 else "UP" if funding < -0.001 else None
if bias is None: continue
market = markets[0]
token = market["clobTokenIds"][0 if bias == "UP" else 1]
book = fetch_book(token)
if not book.best_ask or book.best_ask > 0.55: continue
place_fok(token, "BUY", book.best_ask + 0.01, 10)
Adições da versão de produção: rastrear posições ao longo da janela de 5 min para timing de saída preciso, fazer paper-trade por 30 janelas antes de ir ao vivo, interromper após perdas consecutivas.





