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 - нет.

Часто задаваемые вопросы

Может ли retail bot действительно обыгрывать рынок на news?
Да - но только если у вас есть быстрый, reliable news source и low-latency execution path. Twitter (now X) был gold standard до появления API restrictions; RSS от Reuters/AP/Bloomberg - следующий лучший вариант. Retail edge сократился, потому что bots стало больше; ожидайте 200-1000ms total read-to-trade, а не 50ms.
На какие news sources мне стоит подписаться?
RSS feeds от AP (apnews.com), Reuters (reuters.com) и BBC дают широкое coverage. Для Polymarket-specific: собственные Twitter и Discord channels платформы часто заранее объявляют market changes. Для конкретных topics: government press releases (Federal Reserve PDFs, CFTC, WHO).
Насколько быстро мой bot должен реагировать на news?
Для retail edge: менее 2 seconds от появления news до submit вашего order. Для HFT-tier edge (по сравнению с другими bots): менее 200ms. Большинство retail могут конкурировать в окне 1-3 seconds, потому что большинство других retail bots еще медленнее или вообще отсутствуют на некоторых feed types.
Как избежать false-positive news triggers?
С осторожностью сопоставляйте news с конкретным market. "Ceasefire" может встречаться в 100 contexts; важны только некоторые для вашего specific market. Используйте keyword AND market-tag filters: keyword "ceasefire" И market-tag "Israel-Hezbollah" перед срабатыванием. Еще лучше - LLM-classify news как relevant перед trading.
Что происходит, когда news позже walked back?
Ваша position может за секунды перевернуться из winning в losing. News-arb bots нужен быстрый exit policy: если follow-up source опровергает headline в течение N minutes, немедленно закрывайте position, даже в loss. Наш rule: закрывать на -3% to -5%, если любой follow-up снижает confidence в original signal.
Законен ли news arbitrage?
Торговля на public news legal везде, где нам известно. Торговля на material non-public information (insider tips, leaks до official release) - нет. Держитесь public sources, и trade будет в порядке.