Polymarket Bot Tutorial · Розділ 14 із 32
News arbitrage на Polymarket: як обігнати ринок на заголовках, source feeds (RSS/Twitter/AP), latency budgets, false-positive filters і коли news edge зникає в ринковій ціні.
Що охоплює цей розділ
News arbitrage - це стратегія торгівлі на public information швидше, ніж ринок встигає переоцінити її. Перевага реальна, але вузька - більшість "news" уже в ціні до того, як людина встигає її прочитати. У цьому розділі ми розглянемо, які sources насправді обганяють ринок, latency budget, що визначає стратегію, і false-positive filter, без якого бот торгує на кожен retweet.
- Як виглядає information edge
- News sources: RSS, Twitter, AP, official feeds
- Latency budget: read-to-trade менш ніж за 2 секунди
- False-positive filters
- Коли news edge зникає
- Code: опитування news feed і розміщення FOK на relevant markets
- Risk: half-truths і walked-back headlines
Як виглядає information edge
News arbitrage означає торгівлю на public information швидше, ніж ринок встигає переоцінити її. Перевага існує у вузькому вікні - зазвичай 30-300 секунд - між тим, як факт стає public, і тим, як Polymarket його відображає.
Щоб ця перевага була реальною, мають виконуватися три умови. По-перше, news source має бути швидшим за середнього trader на Polymarket (Twitter швидший за mainstream press; AP wire швидший за Twitter). По-друге, news має бути однозначною (оголошення про травму, рішення суду) - інтерпретація з'їдає latency. По-третє, market має бути достатньо широким, щоб рух ціни був вартим spread tax.
Bots, які полюють на цю перевагу, діляться на два табори: ті, що підписуються на direct sources і парсять їх, і ті, що стежать за незвичним рухом ціни на Polymarket та роблять висновок, що новина вже сталася. Обидва підходи валідні; перший веде, другий слідує.
News sources: RSS, Twitter, AP, official feeds
Sources, відсортовані за latency до public-information-status, найшвидші першими.
- Direct primary sources: court filings, government press releases, central-bank announcements. Часто мають public RSS або API. Найшвидші, з найнижчим false-positive rate.
- AP wire / Reuters Eikon (paid). Wire, яким користуються traditional traders. ~5-30 секунд переваги над consumer Twitter.
- Twitter (X, paid API). Lists of verified accounts: official org accounts, beat reporters. Free APIs занадто обмежені rate limits; платіть за Pro tier або використовуйте relay service.
- Specialized newsletters / Discord: paid Substacks, embargoed industry feeds. Корисно для niche markets (crypto, esports).
- Mainstream press websites: занадто повільні для news-arb edge.
RSS для всього, що публікує RSS - це безкоштовно, polling intervals надійні. Twitter для решти. AP для production-serious news desks.
Latency budget: read-to-trade менш ніж за 2 секунди
Бот має прийняти, класифікувати, ухвалити рішення і виставити ордер загалом за 1-2 секунди. Budget:
- Ingest: 50-300ms (websocket feed, RSS poll, Twitter stream).
- Classify: 50-200ms (regex / keyword match, optionally LLM, якщо ви кешуєте prompt).
- Decide: 50ms (rules table lookup; mapping від news tag до market slug).
- Place: 200-500ms (FOK signed order до CLOB).
Найбільше budget "з'їдає" LLM classification. Виклик GPT-4 на 500 tokens додає 1-3 секунди; і це вже все arb window. Для production класифікуйте за допомогою keyword rules; використовуйте LLM лише для offline calibration набору keywords.
False-positive filters
News-arb bots, які не фільтрують false positives, торгують на кожен retweet і стікають через spread tax. Три filters.
- Source whitelist: дійте лише щодо accounts/feeds зі списку, попередньо затвердженого. Список невеликий (10-30 sources).
- Keyword + confirmation pair: одне співпадіння keyword - це шум; співпадіння у двох незалежних sources протягом 30s - це signal.
- Market-state guard: пропускайте markets, які вже зрушилися на > 5% за останні 60 секунд - хтось інший уже встиг, edge зник.
False-positive rate добре налаштованих filters: приблизно 1 із 5-10. 90% false-positive rate знищує стратегію; 50% rate ще робочий за невеликих position sizes.
Коли news edge зникає
Вікно від "news public" до "price reflects news" закривається щороку швидше. У 2020 році політичним markets із середньою ціною потрібно було кілька хвилин, щоб поглинути headline. У 2026 році ті самі headlines стискаються до 30-90 секунд, перш ніж ціна повністю зрушить.
Ознаки того, що edge зник: per-trade PnL по flagged trades падає з +3c до нуля на вікні з 30 trades; rate false positives, які виявляються already-priced-in, піднімається вище 70%; market досягає вашого FOK ask протягом 200ms, бо хтось інший уже встиг першим.
Чесний pivot, коли edge зникає: переходьте до повільніших, більш інтерпретативних news (court rulings, central bank meeting minutes), де parsing meaning займає більше часу, ніж latency race. Або припиніть запускати цю стратегію.
Code: опитування news feed і розміщення FOK на relevant markets
Production skeleton: опитуйте news source, запускайте rule matches, надсилайте FOK orders на збігах.
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 секунд для RSS. WebSocket, де доступно (Twitter, AP wire). Завжди робіть dedup за source-provided ID; ніколи не припускайте, що polling є exactly-once.
Risk: half-truths і walked-back headlines
Найгірший день для news-arb bot - коли виявляється, що headline був помилковим. Приклади: твіт Reuters каже "Trump fires Yellen", market підскакує на 8 cents, через 12 хвилин твіт видаляють і виправляють. Bot, який купив на +8c, тепер тримає inventory на -3c без жодного способу відкотитися.
Defenses:
- Two-source confirmation: ніколи не торгуйте на одному твіті; вимагайте corroborating signal від другого незалежного source протягом 60-180 секунд.
- Position size scaled to source confidence: AP wire = full size; Twitter від verified beat reporter = 50%; rumor source = 25%.
- Auto-exit on retraction signal: якщо source, яким ви користувалися, випускає correction протягом 30 хвилин, виходьте за market незалежно від PnL.
Walk-back problem - це жорстка стеля для position sizing у news-arb. Торгівля на $50 за signal дає змогу пережити 30% false-positive rate; торгівля на $500 - ні.





