Polymarket Bot Tutorial · Hoofdstuk 16 van 32

Statistical arbitrage op Polymarket: cross-market pairs (gecorreleerde events), Polymarket-vs-Kalshi spreads, mean reversion en hoe stat-arb posities te dimensioneren wanneer markten uiteindelijk resolven.

Wat dit hoofdstuk behandelt

Statistical arbitrage op Polymarket exploiteert transient mispricings tussen gecorreleerde markten — zelfde event op Polymarket vs Kalshi, of gerelateerde markten binnen Polymarket zelf. De edges zijn klein (1-3 cent typisch) en operationeel fragiel. Dit hoofdstuk is eerlijk over wat werkt, wat niet en het multi-leg executie-risico dat de meeste pogingen doodt.

Cross-market statistische arbitrage exploiteert transiente prijs-inconsistenties tussen Polymarket en Kalshi, Polymarket en Manifold of tussen gecorreleerde markten binnen Polymarket. De edges zijn klein (1-3 cent typisch) en vereisen snelle executie op beide legs. Dit hoofdstuk is het eerlijke playbook inclusief de operationele complexiteit die de meeste pogingen doodt.

Dit is hoofdstuk 16 van onze 32-delige serie over het bouwen van een Polymarket trading bot. We behandelen het onderwerp in detail in de secties hieronder. De body content voor elke sectie wordt geschreven en hoofdstuk-per-hoofdstuk uitgerold; FAQ-antwoorden en referenties zijn al compleet en weerspiegelen production-ervaring van het draaien van onze eigen trader.

  • Wat stat-arb betekent in prediction markten
  • Polymarket-vs-Kalshi spread voorbeelden
  • Pairs binnen Polymarket (gecorreleerde events)
  • Mean reversion vs trend-continuatie
  • Sizing voor resolvende (geen perpetuele) markten
  • Risico: divergentie tot voorbij resolution
  • Code: pairs monitor en threshold-trigger

Wat stat-arb betekent in prediction markten

Statistical arbitrage op prediction markten betekent de spread traden tussen twee markten die consistent geprijsd zouden moeten zijn. Drie varianten zijn gangbaar op Polymarket.

  • Cross-venue: zelfde event op Polymarket en Kalshi (of Manifold, PredictIt). Pricing zou moeten convergeren; in praktijk drift het 2-5 cent.
  • Same-event-pair: parent vs som van legs in NegRisk multi-outcome markten. Sum-to-1 invariant laat je arben wanneer de legs minder dan 1,0 sommeren.
  • Correlated-event-pair: twee markten over gerelateerde uitkomsten (bijv. "Trump president on Jan 1" vs "Trump president on Mar 1"). Zou binnen 2-3 cent van elkaar moeten prijzen.

De edges zijn klein. De operationele complexiteit is echt. De meeste pogingen sterven in executie, niet in theorie.

Polymarket-vs-Kalshi spread voorbeelden

Uit observatie in 2025-26, Polymarket en Kalshi lijsten dezelfde grote US-events maar prijzen 1-4 cent uit elkaar op een stabiele basis. De gap bestaat om structurele redenen die je in elke arb moet modelleren.

Structurele drivers:

  • Fee-asymmetrie: Kalshi neemt 4-7% op winnende trades (varieert per markt); Polymarket neemt 0 taker fee. De arb-math moet Kalshi's beet eruit netten.
  • Settlement risk premium: wanneer een markt-resolution ambigu is, kan UMA van één venue anders resolven dan de rechters van de andere. De markt prijst dit in.
  • Trader-populatie: Polymarket trendet jonger en meer crypto-native; Kalshi trendet professional / hedge. Ze zijn systematisch oneens over dezelfde events.

De arb werkt wanneer de gap de structurele premium plus fees overstijgt. Een 5-cent gap op een markt waar de structurele premium 1c is en gecombineerde fees 1c, is een 3c echte edge.

Pairs binnen Polymarket (gecorreleerde events)

Binnen Polymarket zijn correlated-event pairs makkelijker te arben dan cross-venue. Zelfde fee-structuur, zelfde wallet, atomische executie haalbaar.

Voorbeelden die consistent inconsistent prijzen:

  • Trump president op datum A vs Trump president op datum B (waar B later is dan A met < 90 dagen).
  • Will Bitcoin hit $100k by July 31 vs $100k by August 31.
  • Yes vs No legs op dezelfde binary markt (som zou = 1,0 moeten zijn; drift soms tot 1,04 in dunne books).

De Yes+No=1 arb is de schoonste: lees beide legs van dezelfde markt, vuur FOK op beide als de som onder 0,97 zakt (rekening houdend met de spread tax). Vereist kapitaal is ruwweg gelijk op elke leg; executie is atomisch wanneer beide fills terugkomen in dezelfde respons.

Mean reversion vs trend-continuatie

Twee stat-arb regimes. Mean reversion: het paar is uiteen gedreven om een ruis-reden; je wedt op convergentie. Trend-continuatie: het paar begon te divergeren omdat nieuwe informatie aankwam; je wedt op verdere divergentie.

Ze onderscheiden is het moeilijke deel. Heuristiek: als de divergentie gebeurde op zichtbaar volume (een whale wandelde één leg-book), is het news — fade alleen als je een model hebt. Als het langzaam dreef met laag volume, is het ruis — trade reversion met vertrouwen.

Voor nieuwe builders: trade alleen mean reversion, op paren waar de divergentie < 1 standaarddeviatie van historische drift is. Trend-continuatie vereist een model dat het nieuws vangt; zonder een, trade je tegen informed flow in.

Sizing voor resolvende (geen perpetuele) markten

Prediction markten resolven. Crypto-paren niet. Dit verandert de math.

Een pair-arb positie op Polymarket heeft een vaste payout-schedule: wanneer beide markten resolven, is het verschil tussen voorspelde spread en actuele spread vergrendeld. Geen rolling, geen oneindige holding.

Sizing-implicatie: het maximum dat je kunt houden is begrensd door time-to-resolution, omdat kapitaal vergrendeld is tot dan. Een paar dat in 6 maanden resolved kan je 3c per share verdienen maar je kunt niet meer kapitaal aan het werk zetten in de tussentijd als beide markten volledig gedimensioneerd zijn.

De juiste framing: stat-arb op Polymarket is een serie van begrensde-tijd trades, geen continue strategie. Vergelijk PnL per eenheid vergrendeld kapitaal per dag, geen bruto PnL.

Risico: divergentie tot voorbij resolution

De ergste stat-arb uitkomst is dat je voorspelling-van-convergentie verkeerd is omdat de onderliggende premise verkeerd was. Voorbeelden:

  • Je shortte "Trump president op 1 april" verwachtend dat het zou convergeren naar "Trump president op 1 maart" — maar de markt voor datum 1 resolved YES en datum 2 resolved NO door een maart-impeachment. Je "spread zou plat moeten zijn" thesis was verkeerd.
  • Je arbde Polymarket vs Kalshi op dezelfde NBA Finals-winnaar. Polymarket resolved op het team dat de officiële serie won; Kalshi resolved op een iets andere definitie die overtime tie-breakers anders includes. Beide resolven YES op hun gestelde termen, maar in tegenovergestelde richtingen.

Lees elke markt-resolution criteria zorgvuldig. Cross-venue arb is één resolution-mismatch weg van volledig verlies op beide legs.

Code: pairs monitor en threshold-trigger

Referentie: monitor twee gecorreleerde tokens, vuur arb wanneer spread threshold kruist.

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)

De cleanup-on-partial-fill is kritiek. Zonder, laat partiële executie de bot directioneel blootgesteld, wat het tegenovergestelde is van het hele punt van stat-arb.

Veelgestelde vragen

Kan ik arbitreren tussen Polymarket en Kalshi?
Ja, wanneer hetzelfde event op beide trade. Spreads van 2-5 cent persistant tussen de twee exchanges door regulatoire verschillen, fee-structuren en audience-verschillen. De catch: Kalshi is US-only en KYC-gated, dus je hebt accounts op beide nodig — check onze /guide/polymarket-vs-kalshi/ voor setup. De spread-arbitrage is echt maar operationeel zwaar.
Wat is een pairs trade in Polymarket-context?
Twee gecorreleerde markten waar de prijs-ratio mean-revert. Voorbeeld: "Trump wint 2028" en "Republikeinen winnen 2028 House" — als de Trump-trade 5% springt maar de House-trade niet is bewogen, koopt de bot House en verkoopt Trump (of vice versa) op de aanname dat de ratio reverteert. Edge is klein maar consistent in liquide politieke markten.
Hoe dimensioneer je een stat-arb positie wanneer beide markten resolven?
Dimensioneer tot je grootste verwachte divergentie — als je model zegt dat de spread 8 cent breder kan driften voor reverteren, dimensioneer zo dat 8 cent breder je verlies-limit niet overstijgt. Behandel elk paar als onafhankelijke trade met een harde verlies-limit. Stat-arb die zich voordoet als gratis geld is hoe accounts opblazen.
Is de Polymarket-Kalshi arb persistent?
Ja, maar hij krimpt naarmate meer bots hem ontdekken. Door 2026 zien we nog steeds 1-3 cent spreads op liquide politieke markten urenlang persistant. Sport-markten zien smallere spreads. Tail-markten (laag volume) zien bredere maar oneconomisch-te-traden spreads.
Wat als beide markten divergeren door resolution?
De pairs trade gaat naar zijn volledige PnL gebaseerd op de werkelijke uitkomsten — wat is waarom pairs trading op prediction markten fundamenteel begrensd is (in tegenstelling tot perpetuelen waar divergentie eeuwig kan groeien). Netto verlies op een pairs trade is cap'd op het prijs-verschil bij entry, geen oneindig.
Welke tools helpen Polymarket-pairs vinden?
Een correlatie-matrix over actieve markten is het startpunt. Bouw hem uit 30-dagen prijs-histories getrokken van gamma+CLOB. Zoek paren met rho > 0,7 historisch die nu mispriced zijn relatief tot hun typische ratio. Update de matrix wekelijks — correlaties decaderen.