Tutorial de Bot da Polymarket · Capítulo 16 de 32

Arbitragem estatística na Polymarket: pares entre mercados (eventos correlacionados), spreads Polymarket vs Kalshi, reversão à média e como dimensionar posições de stat-arb quando os mercados eventualmente são resolvidos.

O que este capítulo cobre

Arbitragem estatística na Polymarket explora precificações incorretas transitórias entre mercados correlacionados - o mesmo evento na Polymarket vs Kalshi, ou mercados relacionados dentro da própria Polymarket. As margens são pequenas (1-3 cents, em geral) e operacionalmente frágeis. Este capítulo é honesto sobre o que funciona, o que não funciona e o risco de execução em várias pernas que derruba a maioria das tentativas.

A arbitragem estatística entre mercados explora inconsistências transitórias de preço entre Polymarket e Kalshi, Polymarket e Manifold, ou entre mercados correlacionados dentro da Polymarket. As margens são pequenas (1-3 cents, em geral) e exigem execução rápida nas duas pernas. Este capítulo é o playbook honesto, incluindo a complexidade operacional que derruba a maioria das tentativas.

  • O que stat-arb significa em mercados de previsão
  • Exemplos de spreads Polymarket-vs-Kalshi
  • Pares dentro da Polymarket (eventos correlacionados)
  • Reversão à média vs continuidade de tendência
  • Dimensionamento para mercados com resolução (não perpétuos)
  • Risco: divergência além da resolução
  • Código: monitor de pares e gatilho por threshold

O que stat-arb significa em mercados de previsão

Arbitragem estatística em mercados de previsão significa negociar o spread entre dois mercados que deveriam estar precificados de forma consistente. Três variações são comuns na Polymarket.

  • Entre venues: o mesmo evento na Polymarket e na Kalshi (ou Manifold, PredictIt). O preço deveria convergir; na prática, ele deriva 2-5 cents.
  • Mesmo evento em par: mercado mãe versus soma das pernas em mercados multiresultado NegRisk. A invariância soma-para-1 permite fazer arb quando as pernas somam menos de 1,0.
  • Par de eventos correlacionados: dois mercados sobre resultados relacionados (ex.: "Trump presidente em 1º de janeiro" vs "Trump presidente em 1º de março"). Deveriam estar precificados a no máximo 2-3 cents um do outro.

As margens são pequenas. A complexidade operacional é real. A maioria das tentativas morre na execução, não na teoria.

Exemplos de spread Polymarket vs Kalshi

Com base em observações em 2025-26, Polymarket e Kalshi listam os mesmos grandes eventos dos EUA, mas com preços 1-4 cents diferentes de forma relativamente constante. A diferença existe por razões estruturais que você precisa modelar em qualquer arb.

Fatores estruturais:

  • Assimetria de taxas: a Kalshi cobra 4-7% nas operações vencedoras (varia por mercado); a Polymarket cobra 0 de taker fee. A matemática do arb precisa considerar o impacto da Kalshi.
  • Prêmio de risco de settlement: quando a resolução de um mercado é ambígua, a UMA de uma venue pode resolver de forma diferente dos juízes da outra. O mercado precifica isso.
  • Perfil dos traders: a Polymarket tende a ser mais jovem e mais nativa de cripto; a Kalshi tende a ser mais profissional / hedge. Eles discordam sistematicamente sobre os mesmos eventos.

O arb funciona quando o gap excede o prêmio estrutural mais as taxas. Um gap de 5 cents em um mercado onde o prêmio estrutural é 1c e as taxas combinadas são 1c representa uma vantagem real de 3c.

Pares dentro da Polymarket (eventos correlacionados)

Dentro da Polymarket, pares de eventos correlacionados são mais fáceis de fazer arb do que entre venues. Mesma estrutura de taxas, mesma carteira, execução atômica viável.

Exemplos que consistentemente ficam com preços inconsistentes:

  • Trump presidente na data A vs Trump presidente na data B (quando B é mais tarde que A em menos de 90 dias).
  • Bitcoin vai bater US$ 100 mil até 31 de julho vs até 31 de agosto.
  • Pernas Yes vs No no mesmo mercado binário (a soma deveria = 1,0; às vezes deriva até 1,04 em books finos).

O arb Yes+No=1 é o mais limpo: leia as duas pernas do mesmo mercado e dispare FOK nas duas se a soma cair abaixo de 0,97 (permitindo a taxa do spread). O capital necessário é aproximadamente igual em cada perna; a execução é atômica quando os dois fills retornam na mesma resposta.

Reversão à média vs continuidade de tendência

Dois regimes de stat-arb. Reversão à média: o par se afastou por um motivo de ruído; você aposta na convergência. Continuidade de tendência: o par começou a divergir porque chegou informação nova; você aposta em mais divergência.

Distinguir os dois é a parte difícil. Heurística: se a divergência aconteceu com volume visível (uma baleia passou pelo book de uma perna), isso é notícia - faça fade só se você tiver um modelo. Se ela derivou lentamente com baixo volume, isso é ruído - opere a reversão com confiança.

Para quem está começando: opere apenas reversão à média, em pares onde a divergência seja menor que 1 desvio-padrão da deriva histórica. Continuidade de tendência exige um modelo que capte a notícia; sem isso, você está negociando contra fluxo informado.

Dimensionamento para mercados com resolução (não perpétuos)

Mercados de previsão são resolvidos. Pares em cripto não são. Isso muda a matemática.

Uma posição de pair-arb na Polymarket tem um cronograma de payoff fixo: quando os dois mercados são resolvidos, a diferença entre o spread previsto e o spread real fica travada. Não há rolagem, nem retenção infinita.

Implicação para o dimensionamento: o máximo que você pode carregar é limitado pelo tempo até a resolução, porque o capital fica preso até lá. Um par que resolve em 6 meses pode render 3c por ação, mas você não consegue colocar mais capital para trabalhar no meio do caminho se ambos os mercados já estiverem totalmente posicionados.

A forma certa de pensar: stat-arb na Polymarket é uma série de trades com tempo limitado, não uma estratégia contínua. Compare PnL por unidade de capital travado por dia, não PnL bruto.

Risco: divergência além da resolução

O pior resultado em stat-arb é sua previsão de convergência estar errada porque a premissa subjacente estava errada. Exemplos:

  • Você vendeu a descoberto "Trump presidente em 1º de abril" esperando que convergisse para "Trump presidente em 1º de março" - mas o mercado da data 1 resolve YES e o da data 2 resolve NO por causa de um impeachment em março. Sua tese de que o "spread deveria ficar estável" estava errada.
  • Você fez arb entre Polymarket e Kalshi para o mesmo vencedor das Finais da NBA. A Polymarket resolve para o time que venceu a série oficial; a Kalshi resolve com uma definição um pouco diferente que trata desempates em prorrogação de forma distinta. Ambas resolvem YES em seus próprios termos, mas em direções opostas.

Leia com atenção os critérios de resolução de cada mercado. Arb entre venues está a uma incompatibilidade de resolução de gerar perda total nas duas pernas.

Código: monitor de pares e gatilho por threshold

Referência: monitore dois tokens correlacionados e dispare o arb quando o spread cruzar o threshold.

def pairs_monitor(token_a, token_b, threshold_cents=3, size=10):
    """Buy A and Sell B when (1 - ask_A) + bid_B > 1 + threshold."""
    while True:
        book_a = fetch_book(token_a)
        book_b = fetch_book(token_b)
        if not (book_a.best_ask and book_b.best_bid):
            time.sleep(2); continue
        # implied: cost of buying A at ask + value of selling B at bid
        edge = (1 - book_a.best_ask) + book_b.best_bid - 1
        if edge > threshold_cents / 100:
            print(f"ARB edge={edge:.3f}; firing")
            r_a = fok_buy(token_a, price=book_a.best_ask, size=size)
            if r_a.status != "matched": continue
            r_b = fok_sell(token_b, price=book_b.best_bid, size=size)
            if r_b.status != "matched":
                # leg A filled, B failed -- unhedged, exit A
                fok_sell(token_a, price=book_a.best_bid, size=size)
        time.sleep(3)

A limpeza em caso de fill parcial é crítica. Sem isso, a execução parcial deixa o bot exposto direcionalmente, o que é o oposto do objetivo do stat-arb.

Perguntas frequentes

Posso fazer arbitragem entre Polymarket e Kalshi?
Sim, quando o mesmo evento é negociado nas duas. Spreads de 2-5 cents persistem entre as duas exchanges por causa de diferenças regulatórias, estruturas de taxas e diferenças de público. O detalhe: a Kalshi é apenas para os EUA e exige KYC, então você precisa de contas em ambas - confira nosso /guide/polymarket-vs-kalshi/ para a configuração. O spread arbitrage é real, mas operacionalmente pesado.
O que é um pairs trade no contexto da Polymarket?
Dois mercados correlacionados em que a razão de preço reverte à média. Exemplo: "Trump vence 2028" e "Republicanos vencem a Câmara em 2028" - se o trade do Trump sobe 5% mas o trade da Câmara não mexeu, o bot compra Câmara e vende Trump (ou vice-versa) assumindo que a razão volta ao normal. A vantagem é pequena, mas consistente em mercados líquidos de política.
Como dimensionar uma posição de stat-arb quando ambos os mercados resolvem?
Dimensione para a maior divergência esperada - se seu modelo diz que o spread pode abrir mais 8 cents antes de reverter, posicione de modo que 8 cents a mais não ultrapassem seu limite de perda. Trate cada par como um trade independente com limite rígido de perda. Stat-arb fingindo ser dinheiro grátis é como contas quebram.
O arb Polymarket-Kalshi é persistente?
Sim, mas está diminuindo conforme mais bots o descobrem. Ao longo de 2026, ainda vemos spreads de 1-3 cents persistirem por horas em mercados líquidos de política. Mercados de esportes têm spreads menores. Mercados tail (baixo volume) têm spreads mais largos, mas antieconômicos para operar.
E se os dois mercados divergirem até a resolução?
O pairs trade vai até o PnL total com base nos resultados reais - e é por isso que pairs trading em mercados de previsão é fundamentalmente limitado (ao contrário de perpétuos, onde a divergência pode crescer para sempre). A perda líquida em um pairs trade é limitada pela diferença de preço na entrada, não infinita.
Quais ferramentas ajudam a encontrar pares na Polymarket?
Uma matriz de correlação entre mercados ativos é o ponto de partida. Construa-a a partir de históricos de preço de 30 dias puxados de gamma+CLOB. Procure pares com rho > 0,7 historicamente que estejam atualmente mal precificados em relação à sua razão típica. Atualize a matriz semanalmente - as correlações se degradam.