Polymarket Bot Tutorial · Глава 14 из 32
News arbitrage на Polymarket: как обыгрывать рынок на headlines, source feeds (RSS/Twitter/AP), latency budgets, false-positive filters и когда news edge исчезает в market price.
Что охватывает эта глава
News arbitrage - это стратегия торговли на public information быстрее, чем рынок успевает repricing. Edge реальный, но узкий - большую часть времени к моменту, когда человек успевает прочитать "news", она уже в price. В этой главе мы разбираем, какие источники реально обыгрывают рынок, какой latency budget определяет стратегию, и какой false-positive filter нужен, чтобы bot не торговал на каждый retweet.
- Как выглядит information edge
- News sources: RSS, Twitter, AP, official feeds
- Latency budget: read-to-trade менее чем за 2 seconds
- False-positive filters
- Когда news edge умирает
- Code: poll news feed и place FOK на relevant markets
- Risk: half-truths и walked-back headlines
Как выглядит information edge
News arbitrage означает торговлю на public information быстрее, чем рынок успевает repricing. Edge существует в узком окне - обычно 30-300 seconds - между моментом, когда факт становится public, и тем, как Polymarket его отражает.
Чтобы edge был реальным, должны выполняться три условия. Во-первых, news source должна быть быстрее, чем median Polymarket trader (Twitter быстрее mainstream press; AP wire быстрее Twitter). Во-вторых, news должна быть unambiguous (объявление о травме, court ruling) - interpretation съедает latency. В-третьих, market должен быть достаточно wide, чтобы price move оправдывал spread tax.
Bots, которые охотятся за этим edge, делятся на два лагеря: те, кто подписывается на direct sources и парсит их, и те, кто следит за unusual price move на Polymarket и делает вывод, что news уже случилась. Оба подхода valid; первый leads, второй follows.
News sources: RSS, Twitter, AP, official feeds
Источники, ранжированные по 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 seconds опережает consumer Twitter.
- Twitter (X, paid API). Списки verified accounts: official org accounts, beat reporters. Free APIs слишком rate-limited; платите за 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 seconds
Bot должен ingest, classify, decide и place an order в сумме за 1-2 seconds. 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 to CLOB).
Самый большой пожиратель budget - LLM classification. Один 500-token GPT-4 call добавляет 1-3 seconds; и весь 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 из заранее approved list. Список небольшой (10-30 sources).
- Keyword + confirmation pair: одно совпадение по keyword - это noise; совпадения в двух independent sources в течение 30s - это signal.
- Market-state guard: пропускайте markets, которые уже moved > 5% за последние 60 seconds - кто-то другой уже поймал news, edge исчез.
False-positive rate хорошо настроенных filters: примерно 1 из 5-10. 90% false-positive rate уничтожает strategy; 50% rate еще workable при небольших position sizes.
Когда news edge умирает
Окно от "news public" до "price reflects news" закрывается с каждым годом быстрее. В 2020 политические markets со средней price занимали минуты, чтобы переварить headline. В 2026 те же headlines сжимаются до 30-90 seconds до того, как price полностью moves.
Признаки того, что edge умер: per-trade PnL на flagged trades падает с +3c до flat на окне из 30 trades; rate false positives, которые оказываются already-priced-in, поднимается выше 70%; market hits your FOK ask within 200ms, потому что кто-то другой добрался туда первым.
Честный pivot, когда edge умирает: переходите к более медленному, более interpretive news (court rulings, central bank meeting minutes), где разбор смысла занимает больше времени, чем latency race. Или прекращайте запускать strategy.
Code: poll news feed и place FOK на relevant markets
Production skeleton: poll news source, run rule matches, fire FOK orders on 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 seconds для RSS. WebSocket where available (Twitter, AP wire). Всегда dedup по source-provided ID; никогда не предполагайте, что polling - это exactly-once.
Risk: half-truths and walked-back headlines
Самый плохой день для news-arb bot - когда headline оказывается неверным. Примеры: Reuters tweet говорит "Trump fires Yellen", market jumps 8 cents, через 12 minutes tweet удаляют и исправляют. Bot, который купил на +8c, теперь держит inventory на -3c без возможности что-то сделать.
Защита:
- Two-source confirmation: никогда не торгуйте на single tweet; требуйте подтверждающий signal от второго independent source в течение 60-180 seconds.
- 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 minutes, выходите по market независимо от PnL.
Проблема walked-back - это жесткий ceiling для news-arb position sizing. Торговля на $50 per signal позволяет пережить 30% false-positive rate; торговля на $500 - нет.





