Polymarket Bot Tutorial · Hoofdstuk 14 van 32
News arbitrage op Polymarket: hoe de markt te verslaan op headlines, source feeds (RSS/Twitter/AP), latency-budgets, false-positive filters en wanneer news-edge sterft in de marktprijs.
Wat dit hoofdstuk behandelt
News arbitrage is de strategie van traden op publieke informatie sneller dan de markt herwaardeert. De edge is echt maar smal — het meeste "nieuws" zit al in de prijs tegen de tijd dat een mens het kan lezen. Dit hoofdstuk behandelt welke bronnen de markt daadwerkelijk verslaan, het latency-budget dat de strategie definieert en de false-positive filter zonder welke de bot op elke retweet trade.
Dit is hoofdstuk 14 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.
- Hoe informatie-edge eruit ziet
- News sources: RSS, Twitter, AP, officiële feeds
- Latency-budget: read-to-trade onder 2 seconden
- False-positive filters
- Wanneer news-edge sterft
- Code: poll news feed en plaats FOK op relevante markten
- Risico: halve waarheden en teruggetrokken headlines
Hoe informatie-edge eruit ziet
News arbitrage betekent traden op publieke informatie sneller dan de markt herwaardeert. De edge bestaat in een smal venster — meestal 30-300 seconden — tussen een feit publiek worden en Polymarket het reflecteren.
Voor de edge om echt te zijn, moeten drie dingen waar zijn. Ten eerste moet de news-bron sneller zijn dan de mediane Polymarket-trader (Twitter is sneller dan mainstream pers; AP wire is sneller dan Twitter). Ten tweede moet het nieuws ondubbelzinnig zijn (een blessure-aankondiging, een gerechtelijke uitspraak) — interpretatie eet latency op. Ten derde moet de markt breed genoeg zijn dat de prijsbeweging de spread tax waard is.
Bots die deze edge jagen vallen uiteen in twee kampen: die welke abonneren op directe bronnen en parsen, en die welke kijken naar een ongebruikelijke prijsbeweging op Polymarket en afleiden dat er nieuws is gebeurd. Beide zijn valide; de eerste leidt, de tweede volgt.
News sources: RSS, Twitter, AP, officiële feeds
Bronnen gerangschikt op latency-tot-publieke-informatie-status, snelste eerst.
- Directe primaire bronnen: court filings, government press releases, central-bank announcements. Hebben vaak publieke RSS of API. Snelst, laagste false-positive rate.
- AP wire / Reuters Eikon (paid). De wire die traditionele traders gebruiken. ~5-30 seconde lead op consumer Twitter.
- Twitter (X, paid API). Lijsten van geverifieerde accounts: officiële org-accounts, beat reporters. Gratis API's zijn te rate-limited; betaal voor de Pro tier of gebruik een relay-service.
- Gespecialiseerde newsletters / Discord: betaalde Substacks, embargoed industry-feeds. Nuttig voor nichemarkten (crypto, esports).
- Mainstream pers-websites: te traag voor de news-arb edge.
RSS voor alles dat RSS publiceert — het is gratis, polling-intervallen zijn betrouwbaar. Twitter voor de rest. AP voor productie-serieuze news desks.
Latency-budget: read-to-trade onder 2 seconden
De bot moet ingesten, classificeren, beslissen en een order plaatsen binnen 1-2 seconden totaal. Budget:
- Ingest: 50-300ms (websocket feed, RSS poll, Twitter stream).
- Classify: 50-200ms (regex / keyword match, optioneel LLM als je de prompt cachet).
- Decide: 50ms (rules table lookup; mapping van news-tag naar market-slug).
- Place: 200-500ms (FOK signed order naar CLOB).
De enkele grootste budget-eter is LLM-classificatie. Een 500-token GPT-4 call voegt 1-3 seconden toe; dat is het hele arb-venster weg. Voor productie classificeer met keyword-regels; gebruik een LLM alleen voor offline kalibratie van de keyword-set.
False-positive filters
News-arb bots die false positives niet filteren traden op elke retweet en bloeden via de spread tax. Drie filters.
- Source whitelist: handel alleen op accounts/feeds in een vooraf goedgekeurde lijst. De lijst is klein (10-30 bronnen).
- Keyword + bevestigings-paar: een enkele keyword-match is ruis; matches in twee onafhankelijke bronnen binnen 30s is signaal.
- Market-state guard: skip markten die al > 5% bewogen in de laatste 60 seconden — iemand anders ving het nieuws eerst, de edge is weg.
False-positive rate van goed-getunede filters: ongeveer 1 op 5-10. Een 90% false-positive rate vernietigt de strategie; een 50% rate is werkbaar met kleine position-sizes.
Wanneer news-edge sterft
Het venster van "nieuws publiek" tot "prijs reflecteert nieuws" sluit elk jaar sneller. In 2020 namen mid-prijs politieke markten minuten om een headline te absorberen. In 2026 comprimeren dezelfde headlines tot 30-90 seconden voordat de prijs volledig is bewogen.
Tekenen dat de edge is gestorven: de per-trade PnL op gemarkeerde trades daalt van +3c naar flat over een 30-trade venster; de rate van false positives die al-priced-in blijken te zijn stijgt boven 70%; de markt raakt je FOK ask binnen 200ms omdat iemand anders er eerder bij was.
De eerlijke pivot wanneer de edge sterft: ga naar tragere, meer interpretatieve nieuws (gerechtelijke uitspraken, central bank meeting minutes) waar het parsen van de betekenis langer duurt dan de latency-race. Of stop met de strategie draaien.
Code: poll news feed en plaats FOK op relevante markten
Productie-skeleton: poll een nieuwsbron, run rule-matches, vuur FOK orders op hits.
import feedparser, time, re
from py_clob_client.client import ClobClient
RULES = [
{"regex": re.compile(r"out for season|torn ACL", re.I), "tag":"injury-fade"},
{"regex": re.compile(r"federal reserve.*(rate cut|rate hike)", re.I), "tag":"fed-move"},
]
seen = set()
while True:
feed = feedparser.parse("https://example.com/news.rss")
for entry in feed.entries[:20]:
if entry.id in seen: continue
seen.add(entry.id)
for rule in RULES:
if rule["regex"].search(entry.title + " " + entry.summary):
# Look up relevant Polymarket markets, place FOK
fire(rule["tag"], entry)
break
time.sleep(15)
Polling-intervallen: 5-15 seconden voor RSS. WebSocket waar beschikbaar (Twitter, AP wire). Dedup altijd per source-provided ID; neem nooit aan dat polling exactly-once is.
Risico: halve waarheden en teruggetrokken headlines
De slechtste dag van de news-arb bot is wanneer een headline fout blijkt. Voorbeelden: een Reuters-tweet zegt "Trump fires Yellen," markt springt 8 cent, 12 minuten later wordt de tweet verwijderd en gecorrigeerd. Een bot die kocht op +8c houdt nu inventory op -3c zonder verhaal.
Verdedigingen:
- Tweezijdige bevestiging: trade nooit op een enkele tweet; vereis een ondersteunend signaal van een tweede onafhankelijke bron binnen 60-180 seconden.
- Position size geschaald op source-confidence: AP wire = full size; Twitter van een geverifieerde beat reporter = 50%; rumor source = 25%.
- Auto-exit op retraction-signaal: als een bron die je gebruikte een correctie uitgeeft binnen 30 minuten, exit op market ongeacht PnL.
Het walk-back probleem is een hard plafond op news-arb position-sizing. 50 $ per signaal traden laat je een 30% false-positive rate overleven; 500 $ traden niet.











