Polymarket Bot Tutorial · Hoofdstuk 23 van 32
Bot-patronen voor Polymarket 5-minuten BTC/ETH up-down markten: 288 expiraties per dag, latency-kritische executie, edge-bronnen, waarom de meeste retail bots verliezen en code skeleton voor de strategie.
Wat dit hoofdstuk behandelt
Polymarkets 5-minuten BTC up/down-serie wordt 288 keer per dag afgehandeld, waardoor elke edge over veel herhalingen compoundt. De meeste retail bots verliezen hier ondanks het volume omdat de latency- en edge-lat is gezet door professionele firms. Dit hoofdstuk is wat overleeft.
Dit is hoofdstuk 23 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 de 5-min crypto markten zijn
- 288 expiraties per dag = compoundende reps
- Waarom retail bots hier verliezen
- Edge-bronnen die overleven
- Latency budget
- Risico: klein per trade, groot per dag
- Code: 5-min strategie skeleton
Wat de 5-min crypto markten zijn
Polymarkets 5-minuten crypto markten zijn binaire up/down-vragen op BTC- (en ETH)-prijs. Elke 5 minuten openen nieuwe markten; elke wordt afgehandeld op de slotprijs 5 minuten na opening, gehaald uit een gepubliceerde oracle.
Dat produceert 288 markten per asset per dag. De compoundende kans voor elke edge is enorm: zelfs een kleine per-trade edge wordt betekenisvol wanneer je hem 100+ keer per dag kunt nemen.
De keerzijde: de lat is gezet door professionele firms. De mid beweegt in strakke lockstep met de underlying price feed en de books zijn meestal dun aan de verkeerde-zijde leg.
288 expiraties per dag = compoundende reps
Als je edge 0,5c per trade is met een 55% win rate en je kunt 60 trades per dag nemen, is de verwachte dagelijkse PnL 60 × 0,5c = 0,30 $ op 10-share posities = 3 $/dag. Klinkt klein, maar het compoundt: 252 trading days × 3 $ = 750 $/jaar op bijna-zero kapitaalexposure (posities worden binnen 5 minuten afgehandeld).
Voor dezelfde edge om 750 $/jaar te produceren op een binary die eens per kwartaal afhandelt, zou je een veel grotere per-trade size en veel bredere staarten van verlies nodig hebben.
5-min markten zijn het enige segment op Polymarket waar kleine-maar-frequente edges optellen tot betekenisvol jaarinkomen.
Waarom retail bots hier verliezen
Drie failure modes die consistent retail-instromers doden.
- Latency: pro firms plaatsen orders in 50-100ms; retail bots doen 1-3 seconden. Tegen de tijd dat je vuurt, zit de prijs al in de nieuwe mid.
- Informatie-asymmetrie: de onderliggende CEX (Binance, Coinbase) print trade tape sneller dan Polymarkets price feed. Bots zonder directe CEX-subscriptions handelen op stale data.
- Spread tax: op 5-min cadens kost zelfs een 0,5c spread × 60 trades = 30c per dag aan onvermijdelijke kost. Edge moet dat clearen voordat het winstgevend is.
Retail bots breaken meestal even of verliezen omdat ze pros niet kunnen verslaan en de spread tax niet kunnen ontvluchten. De strategieën die werken voor retail zijn niet edge-tegen-pros; het zijn slow-decision strategieën met specifieke informatievoordelen.
Edge-bronnen die overleven
Wat werkt voor retail op 5-min markten.
- Funding-rate-gedreven directionele bias: extreme positieve funding op perp futures voorspelt mean reversion; trade tegen de funding rate in.
- Open-interest-clearing vensters: aan de top van elk uur zijn perp futures liquidations waarschijnlijker; fade extreme bewegingen in dat venster.
- Late-window resolution arbitrage: in de laatste 30 seconden van een 5-min venster is de resolution-prijs steeds beter bekend; book biedt vaak dunne liquiditeit op waarschijnlijkheden die niet kloppen met de live tape.
Wat niet werkt: pure technische signalen (RSI, moving averages), simpele momentum copying, alles wat vereist dat de bot sneller is dan pros.
Latency budget
Voor een levensvatbare 5-min strategie is de budget-breakdown ruwweg:
- Lees signaalbron (CEX trade tape, funding rate): 100-300ms
- Bereken beslissing: 50ms
- Plaats FOK order: 200-500ms
- Ontvang fill confirmation: 200ms
Totaal: 550-1050ms. Haalbaar op een VPS met betaalde RPC en een directe CEX WebSocket subscription. Niet haalbaar op een thuis-laptop of met free-tier APIs.
Strategieën die < 500ms totaal vereisen, zijn pro-territorium; retail moet daar niet concurreren.
Risico: klein per trade, groot per dag
Sizing voor 5-min markten: klein per trade, gecapped daily.
- Per-trade: 5-15 shares (1-6 $) per markt. Onder 5 maakt GTC sells onmogelijk; boven 15 wandelt het book op de entry.
- Dagelijks totaal: 50-100 trades. Meer creëert gecorreleerde exposure aan één oracle-quirk.
- Daily PnL kill switch: halt als cumulatieve PnL down > 10 $ (of 5% van toegewezen kapitaal). Slechte dagen op 5-min markten zijn meestal door een gebroken strategie-aanname; overleef de dag, debug, redeploy.
De asymmetrie tussen per-trade size en dagelijkse aantal is bewust. Je speelt breadth, geen depth.
Code: 5-min strategie skeleton
Referentie: de trading loop voor een funding-rate-gedreven 5-min bot.
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)
Production-versie toevoegingen: track posities over het 5-min venster voor accurate exit-timing, paper-trade voor 30 vensters voor live, halt op consecutieve verliezen.











