Polymarket Bot Tutorial · Kabanata 14 ng 32
News arbitrage sa Polymarket: paano talunin ang market sa headlines, source feeds (RSS/Twitter/AP), latency budgets, false-positive filters, at kailan namamatay ang news edge sa market price.
Ano ang sinasaklaw ng kabanatang ito
Ang news arbitrage ay strategy ng pag-trade sa public information nang mas mabilis kaysa sa pagre-reprice ng market. Ang edge ay totoo pero makitid - karamihan ng "news" ay nasa price na sa oras na mababasa ng tao. Sinasaklaw ng kabanatang ito kung anong sources ang aktwal na tumatalo sa market, ang latency budget na tumutukoy sa strategy, at ang false-positive filter na kung wala ay nag-trade ang bot sa bawat retweet.
- Ano ang itsura ng information edge
- News sources: RSS, Twitter, AP, official feeds
- Latency budget: read-to-trade sa wala pang 2 segundo
- False-positive filters
- Kailan namamatay ang news edge
- Code: i-poll ang news feed at maglagay ng FOK sa relevant markets
- Risk: half-truths at na-walked-back na headlines
Ano ang itsura ng information edge
Ang news arbitrage ay nangangahulugang pag-trade sa public information nang mas mabilis kaysa sa pagre-reprice ng market. Ang edge ay umiiral sa makitid na window - karaniwang 30-300 segundo - sa pagitan ng katotohanan na nagiging public at ang Polymarket na sumasalamin nito.
Para maging totoo ang edge, dapat may tatlong bagay. Una, ang news source ay dapat mas mabilis kaysa sa median Polymarket trader (ang Twitter ay mas mabilis kaysa sa mainstream press; ang AP wire ay mas mabilis kaysa sa Twitter). Pangalawa, ang news ay dapat unambiguous (isang injury announcement, court ruling) - ang interpretation ay kumakain ng latency. Pangatlo, ang market ay dapat sapat ang lapad upang ang price move ay sulit sa spread tax.
Ang mga bots na nanghuhuli sa edge na ito ay nahahati sa dalawang kampo: ang mga nag-subscribe sa direct sources at nag-parse, at ang mga nanonood para sa hindi pangkaraniwang price move sa Polymarket at nag-infer na may news na nangyari. Parehong valid; ang una ay nanguna, ang pangalawa ay sumusunod.
News sources: RSS, Twitter, AP, official feeds
Sources na ranked ayon sa latency papunta sa public-information-status, pinakamabilis muna.
- Direct primary sources: court filings, government press releases, central-bank announcements. Madalas may public RSS o API. Pinakamabilis, pinakamababang false-positive rate.
- AP wire / Reuters Eikon (bayad). Ang wire na ginagamit ng traditional traders. ~5-30 segundong lead sa consumer Twitter.
- Twitter (X, bayad na API). Mga listahan ng verified accounts: official org accounts, beat reporters. Ang free APIs ay masyadong rate-limited; magbayad para sa Pro tier o gumamit ng relay service.
- Specialized newsletters / Discord: bayad na Substacks, embargoed industry feeds. Kapaki-pakinabang para sa niche markets (crypto, esports).
- Mainstream press websites: masyadong mabagal para sa news-arb edge.
RSS para sa lahat na nag-publish ng RSS - libre, ang polling intervals ay maaasahan. Twitter para sa iba. AP para sa production-serious news desks.
Latency budget: read-to-trade sa wala pang 2 segundo
Ang bot ay kailangang mag-ingest, mag-classify, magdesisyon, at maglagay ng order sa loob ng 1-2 segundo total. Budget:
- Ingest: 50-300ms (websocket feed, RSS poll, Twitter stream).
- Classify: 50-200ms (regex / keyword match, opsyonal na LLM kung ica-cache mo ang prompt).
- Decide: 50ms (rules table lookup; mapping mula sa news tag papunta sa market slug).
- Place: 200-500ms (FOK signed order sa CLOB).
Ang pinakamalaking budget eater ay LLM classification. Ang 500-token GPT-4 call ay nagdadagdag ng 1-3 segundo; iyon ang buong arb window na nawala. Para sa production, mag-classify sa keyword rules; gumamit ng LLM lamang para sa offline calibration ng keyword set.
False-positive filters
Ang news-arb bots na hindi nag-filter ng false positives ay nag-trade sa bawat retweet at nag-bleed sa pamamagitan ng spread tax. Tatlong filters.
- Source whitelist: kumilos lamang sa accounts/feeds sa pre-approved list. Ang listahan ay maliit (10-30 sources).
- Keyword + confirmation pair: ang single keyword match ay noise; matches sa dalawang independent sources sa loob ng 30s ay signal.
- Market-state guard: laktawan ang markets na nakalipat na > 5% sa nakaraang 60 segundo - may iba nang nakahuli sa news muna, wala na ang edge.
False-positive rate ng well-tuned filters: tungkol sa 1 sa 5-10. Ang 90% false-positive rate ay sumisira sa strategy; ang 50% rate ay maaaring magagawa sa maliit na position sizes.
Kailan namamatay ang news edge
Ang window mula sa "news public" papunta sa "price reflects news" ay nagsasara nang mas mabilis bawat taon. Noong 2020, ang mid-priced political markets ay tumatagal ng ilang minuto upang ma-absorb ang headline. Sa 2026, ang parehong headlines ay nagco-compress sa 30-90 segundo bago lumipat nang buong-buo ang presyo.
Mga senyales na namatay ang edge: ang per-trade PnL sa flagged trades ay bumababa mula +3c hanggang flat sa 30-trade window; ang rate ng false positives na lumalabas na already-priced-in ay tumataas sa itaas ng 70%; tumama ang market sa iyong FOK ask sa loob ng 200ms dahil may iba nang nakauna doon.
Ang honest pivot kapag namatay ang edge: lumipat sa mas mabagal, mas interpretive news (court rulings, central bank meeting minutes) kung saan ang pag-parse ng kahulugan ay tumatagal nang mas matagal kaysa sa latency race. O huminto sa pagpapatakbo ng strategy.
Code: i-poll ang news feed at maglagay ng FOK sa relevant markets
Production skeleton: i-poll ang news source, magpatakbo ng rule matches, mag-fire ng FOK orders sa 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 intervals: 5-15 segundo para sa RSS. WebSocket kung saan available (Twitter, AP wire). Palaging mag-dedup sa pamamagitan ng source-provided ID; huwag ipagpalagay na exactly-once ang polling.
Risk: half-truths at na-walked-back na headlines
Ang pinakamasamang araw ng news-arb bot ay kapag lumabas na mali ang headline. Mga halimbawa: Reuters tweet na nagsasabing "Trump fires Yellen," ang market ay tumalon ng 8 cents, 12 minuto mamaya ang tweet ay tinanggal at itinama. Ang bot na bumili sa +8c ay ngayon may hawak na inventory sa -3c na walang recourse.
Defenses:
- Two-source confirmation: huwag kailanman mag-trade sa isang tweet; mangailangan ng corroborating signal mula sa pangalawang independent source sa loob ng 60-180 segundo.
- Position size scaled sa source confidence: AP wire = full size; Twitter mula sa verified beat reporter = 50%; rumor source = 25%.
- Auto-exit sa retraction signal: kung ang source na ginamit mo ay nag-issue ng correction sa loob ng 30 minuto, lumabas sa market anuman ang PnL.
Ang walk-back problem ay hard ceiling sa news-arb position sizing. Ang pag-trade ng $50 bawat signal ay nagpapahintulot sa iyong mabuhay sa 30% false-positive rate; ang pag-trade ng $500 ay hindi.





