Polymarket Bot Tutorial · Hoofdstuk 25 van 32
Sport-marktbots op Polymarket: NFL wekelijkse wedstrijden, NBA tag (745) microstructuur, voetbal (Premier League, Bundesliga, Champions League), tennis (864) — liquiditeit, edge-bronnen, codepatronen.
Wat dit hoofdstuk behandelt
NFL, NBA, voetbal en tennis zijn Polymarkets grootste sport-volumes per categorie. Elk heeft eigen data-beschikbaarheid, cadens en edge-profiel. Dit hoofdstuk behandelt de league-specifieke bot-patronen en de tag-IDs waar je op zult filteren.
Dit is hoofdstuk 25 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.
- NFL: wekelijkse cadens, piek-liquiditeit zondag
- NBA (tag 745): in-game microstructuur
- Voetbal: internationaal vs club-leagues
- Tennis (tag 864): toernooi-cadens
- Edge-bronnen die overleven
- Live data: ESPN, officiële API's
- Voorbeeld-bot: pre-game line catcher
NFL: wekelijkse cadens, piek-liquiditeit zondag
NFL heeft het sterkste wekelijkse ritme van elke Polymarket-sport. Markten openen dinsdag na de wedstrijden van de vorige week, line-shop gebeurt woensdag-vrijdag, betting-volume piekt zaterdag-zondag. Resolution typisch zondagavond voor vroege wedstrijden, maandagavond voor de late.
Bot-patroon: line-catcher dinsdag-woensdag wanneer de opening-line wordt gezet, in-play zondag tijdens piek-volume. Verschillende bots voor elk venster. De Monday Night Football markt heeft vaak dunner volume dan andere wedstrijden — wees bewust dat het hoger slippage-risico heeft op kleine-size entries.
Volume-piek is de Super Bowl: 50M $+ getraded over alle SB-markten de week van de wedstrijd. Zelfs een 100 $ bot in die week is irrelevante ruis; de markt is efficiënt op die schaal.
NBA (tag 745): in-game microstructuur
NBA is de hoogste-frequentie sport op Polymarket — 25-30 wedstrijden per week tijdens de regular season, 5-15 in playoffs. Tag ID 745 filtert op NBA-only events.
In-game microstructuur werkt op NBA omdat: (1) ESPN scoreboards elke ~10s updatet, (2) wedstrijden 2,5 uur continue actie zijn, (3) Polymarket-books voor grote wedstrijden diep blijven door het 4e kwart.
De strategie die werkt: abonneer op WS-book van een wedstrijd + ESPN-feed, reageer op imbalance + score-events in 10-15 seconden. Strategieën die niet werken: pre-game line catching (efficiënt genoeg dat retail niet veel vangt), late-game certainty arbitrage (0,99-valstrik territorium).
Voetbal: internationaal vs club-leagues
Voetbal breekt in drie ruwe tiers op Polymarket.
- Top Europese leagues (EPL tag 739, La Liga, Bundesliga, Serie A) — matig volume, diepe books op grote matches. Bot-strategieën vergelijkbaar met NBA.
- Champions League / Europa League (UCL tag 2186) — piek-volume op knockout-stages. Books zijn diepst vanaf round-of-16.
- Internationaal / kleinere leagues (Saudi Pro League, MLS, J-League) — dunne books, grote spreads. Doorgaans geen bot-territorium.
Voetbals discrete scoring (0-1 doelpunten zijn enorme events) maakt het anders dan NBA's continue flow. Het bot-patroon voor voetbal is: zit aan de juiste zijde voor een doelpunt valt, exit snel nadat er een wordt gescoord.
Tennis (tag 864): toernooi-cadens
Tennis tag 864. ATP- en WTA-tours spelen 11 maanden per jaar met de Grand Slams in jan (Australian Open), mei-jun (French Open), jul (Wimbledon) en aug-sep (US Open). Volume concentreert in die vier weken plus de Masters 1000-series.
Tennis heeft de schoonste in-play prijs-ladders van elke sport (hoofdstuk 15). Mid-match prijzen volgen voorspelbare curves gekoppeld aan set-and-break states. Een bot met een tennis-specifiek prijs-ladder model kan mispricing in real time detecteren.
Stille vensters: tussen Grand Slams, weken met alleen ATP 250 / ATP 500 toernooien, books zijn zeer dun. Pauzeer de bot of schuif naar een andere sport tijdens deze.
Edge-bronnen die overleven
Over alle vier sporten zijn de edges die over tijd overleven:
- Pre-game line shop tegen het getal van een sharper venue (Pinnacle, Betfair). Wanneer Polymarket disagrees met een sharp book met > 3c, fade Polymarket.
- In-play overreactie op een enkele play (interception, blessure, momentum-shift). Wacht 30-60 seconden na de play, fade als de markt oversprong.
- Late-game zware favorieten op 0,85-0,92 met risk-managed sizing. Onder 0,85 = echt risico; boven 0,92 = de 0,99 valstrik.
Edges die niet overleven: pure technische analyse op prijzen, sentiment scraping van Twitter, kalender-based seizoenseffecten.
Live data: ESPN, officiële API's
Data-bron matrix voor de vier sporten.
| Sport | Primary | Backup | Update-cadens |
|---|---|---|---|
| NFL | ESPN scoreboard | NFL.com feed | ~10s tijdens spel |
| NBA | ESPN scoreboard | stats.nba.com | ~10s tijdens spel |
| Voetbal (EPL/UCL) | ESPN scoreboard | SofaScore | ~15-30s |
| Tennis (ATP/WTA) | ESPN scoreboard | tennis.com live | ~30s (point-level) |
ESPN is gratis en betrouwbaar voor alle vier. Voor sub-10s updates betaal voor een gespecialiseerde feed (StatsPerform, GeniusSports) — maar de marginale latency-verbetering rechtvaardigt zelden de kost voor retail.
Voorbeeld-bot: pre-game line catcher
Referentie: pre-game line-catcher pseudo-code.
def line_catcher():
# Find games starting in the next 2-12 hours
events = gamma_events(tag_id=745, hours_ahead=12)
for ev in events:
for m in ev["markets"]:
polymarket_prob = float(json.loads(m["outcomePrices"])[0])
sharp_prob = fetch_pinnacle_implied(ev["slug"]) # 3rd-party feed
if sharp_prob - polymarket_prob > 0.04:
# Polymarket has the YES side cheap vs sharp
tok = json.loads(m["clobTokenIds"])[0]
place_fok(tok, "BUY", polymarket_prob + 0.01, size=10)
elif polymarket_prob - sharp_prob > 0.04:
# Polymarket has the NO side cheap vs sharp
tok = json.loads(m["clobTokenIds"])[1]
place_fok(tok, "BUY", 1 - polymarket_prob + 0.01, size=10)
Caveats: Pinnacle / Betfair API's vereisen accounts; niet gratis. Zonder een sharp referentie reduceert line-catching tot mening vs mening, wat geen bot-territorium is.











