Polymarket Bot Tutorial · Chapter 14 of 32
News arbitrage on Polymarket: how to beat the market on headlines, source feeds (RSS/Twitter/AP), latency budgets, false-positive filters, and when news edge dies into the market price.
What this chapter covers
News arbitrage is the strategy of trading on public information faster than the market reprices it. The edge is real but narrow - most "news" is already in the price by the time a human can read it. This chapter covers what sources actually beat the market, the latency budget that defines the strategy, and the false-positive filter without which the bot trades on every retweet.
- What information edge looks like
- News sources: RSS, Twitter, AP, official feeds
- Latency budget: read-to-trade in under 2 seconds
- False-positive filters
- When news edge dies
- Code: poll news feed and place FOK on relevant markets
- Risk: half-truths and walked-back headlines
What information edge looks like
News arbitrage means trading on public information faster than the market reprices it. The edge exists in a narrow window - usually 30-300 seconds - between a fact becoming public and Polymarket reflecting it.
For the edge to be real, three things must be true. First, the news source must be faster than the median Polymarket trader (Twitter is faster than mainstream press; AP wire is faster than Twitter). Second, the news must be unambiguous (an injury announcement, a court ruling) - interpretation eats latency. Third, the market must be wide enough that the price move is worth the spread tax.
Bots that hunt this edge break down into two camps: those that subscribe to direct sources and parse, and those that watch for an unusual price move on Polymarket and infer that news happened. Both are valid; the first leads, the second follows.
News sources: RSS, Twitter, AP, official feeds
Sources ranked by latency to public-information-status, fastest first.
- Direct primary sources: court filings, government press releases, central-bank announcements. Often have public RSS or API. Fastest, lowest false-positive rate.
- AP wire / Reuters Eikon (paid). The wire that traditional traders use. ~5-30 second lead over consumer Twitter.
- Twitter (X, paid API). Lists of verified accounts: official org accounts, beat reporters. Free APIs are too rate-limited; pay for the Pro tier or use a relay service.
- Specialized newsletters / Discord: paid Substacks, embargoed industry feeds. Useful for niche markets (crypto, esports).
- Mainstream press websites: too slow for the news-arb edge.
RSS for everything that publishes RSS - it's free, polling intervals are reliable. Twitter for the rest. AP for production-serious news desks.
Latency budget: read-to-trade in under 2 seconds
The bot needs to ingest, classify, decide, and place an order within 1-2 seconds total. Budget:
- Ingest: 50-300ms (websocket feed, RSS poll, Twitter stream).
- Classify: 50-200ms (regex / keyword match, optionally LLM if you cache the prompt).
- Decide: 50ms (rules table lookup; mapping from news tag to market slug).
- Place: 200-500ms (FOK signed order to CLOB).
The single biggest budget eater is LLM classification. A 500-token GPT-4 call adds 1-3 seconds; that's the whole arb window gone. For production, classify with keyword rules; use an LLM only for offline calibration of the keyword set.
False-positive filters
News-arb bots that don't filter false positives trade on every retweet and bleed via the spread tax. Three filters.
- Source whitelist: act only on accounts/feeds in a pre-approved list. The list is small (10-30 sources).
- Keyword + confirmation pair: a single keyword match is noise; matches in two independent sources within 30s is signal.
- Market-state guard: skip markets that already moved > 5% in the last 60 seconds - someone else caught the news first, the edge is gone.
False-positive rate of well-tuned filters: about 1 in 5-10. A 90% false-positive rate destroys the strategy; a 50% rate is workable with small position sizes.
When news edge dies
The window from "news public" to "price reflects news" closes faster every year. In 2020, mid-priced political markets took minutes to absorb a headline. In 2026, the same headlines compress to 30-90 seconds before the price has fully moved.
Signs the edge has died: the per-trade PnL on flagged trades drops from +3c to flat over a 30-trade window; the rate of false positives that turn out to be already-priced-in rises above 70%; the market hits your FOK ask within 200ms because someone else got there first.
The honest pivot when the edge dies: move to slower, more interpretive news (court rulings, central bank meeting minutes) where parsing the meaning takes longer than the latency race. Or stop running the strategy.
Code: poll news feed and place FOK on relevant markets
Production skeleton: poll a news source, run rule matches, fire FOK orders on hits.
import feedparser, time, re
from py_clob_client_v2 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 seconds for RSS. WebSocket where available (Twitter, AP wire). Always dedup by source-provided ID; never assume polling is exactly-once.
Risk: half-truths and walked-back headlines
The news-arb bot's worst day is when a headline turns out to be wrong. Examples: a Reuters tweet says "Trump fires Yellen," market jumps 8 cents, 12 minutes later the tweet is deleted and corrected. A bot that bought at +8c is now holding inventory at -3c with no recourse.
Defenses:
- Two-source confirmation: never trade on a single tweet; require corroborating signal from a second independent source within 60-180 seconds.
- Position size scaled to source confidence: AP wire = full size; Twitter from a verified beat reporter = 50%; rumor source = 25%.
- Auto-exit on retraction signal: if a source you used issues a correction within 30 minutes, exit at market regardless of PnL.
The walk-back problem is a hard ceiling on news-arb position sizing. Trading $50 per signal lets you survive a 30% false-positive rate; trading $500 does not.





