Polymarket Bot Tutorial · Chapitre 14 sur 32

Arbitrage de news sur Polymarket : comment battre le marché sur les headlines, les source feeds (RSS/Twitter/AP), les latency budgets, les false-positive filters, et quand l’avantage des news s’éteint dans le prix du marché.

Ce que couvre ce chapitre

L’arbitrage de news est la stratégie qui consiste à trader sur des informations publiques plus vite que le marché ne les reprice. L’avantage existe, mais il est étroit - la plupart des "news" sont déjà dans le prix au moment où un humain peut les lire. Ce chapitre couvre quelles sources battent réellement le marché, le latency budget qui définit la stratégie, et le false-positive filter sans lequel le bot trade sur chaque retweet.

  • À quoi ressemble un avantage informationnel
  • News sources : RSS, Twitter, AP, official feeds
  • Latency budget : read-to-trade en moins de 2 secondes
  • False-positive filters
  • Quand l’avantage des news disparaît
  • Code : poll news feed et placer des FOK sur les marchés pertinents
  • Risque : half-truths et headlines rétractées

À quoi ressemble un avantage informationnel

L’arbitrage de news signifie trader sur des informations publiques plus vite que le marché ne les reprice. L’avantage existe dans une fenêtre étroite - généralement 30 à 300 secondes - entre le moment où un fait devient public et celui où Polymarket l’intègre.

Pour que l’avantage soit réel, trois choses doivent être vraies. D’abord, la source de news doit être plus rapide que le trader Polymarket médian (Twitter est plus rapide que la presse grand public ; le wire AP est plus rapide que Twitter). Ensuite, la news doit être sans ambiguïté (une annonce de blessure, une décision de justice) - l’interprétation consomme de la latence. Enfin, le marché doit être suffisamment large pour que le mouvement de prix vaille le spread tax.

Les bots qui cherchent cet avantage se divisent en deux camps : ceux qui s’abonnent à des sources directes et parsèment, et ceux qui surveillent un mouvement de prix inhabituel sur Polymarket et en déduisent qu’une news est tombée. Les deux approches sont valides ; la première précède, la seconde suit.

News sources : RSS, Twitter, AP, official feeds

Sources classées par latence jusqu’au statut d’information publique, les plus rapides d’abord.

  • Direct primary sources : dossiers de justice, communiqués de presse gouvernementaux, annonces des banques centrales. Souvent accessibles via RSS public ou API. Les plus rapides, avec le plus faible taux de false-positive.
  • AP wire / Reuters Eikon (payant). Le wire utilisé par les traders traditionnels. Environ 5 à 30 secondes d’avance sur Twitter grand public.
  • Twitter (X, API payante). Listes de comptes vérifiés : comptes officiels d’organisations, journalistes spécialisés. Les API gratuites sont trop limitées en rate limit ; payez l’offre Pro ou utilisez un relay service.
  • Specialized newsletters / Discord : Substacks payants, industry feeds sous embargo. Utiles pour les marchés de niche (crypto, esports).
  • Mainstream press websites : trop lents pour l’avantage de news-arb.

RSS pour tout ce qui en publie - c’est gratuit, et les polling intervals sont fiables. Twitter pour le reste. AP pour des news desks vraiment orientés production.

Latency budget : read-to-trade en moins de 2 secondes

Le bot doit ingérer, classer, décider et placer un ordre en 1 à 2 secondes au total. Budget :

  • Ingest : 50 à 300 ms (websocket feed, RSS poll, Twitter stream).
  • Classify : 50 à 200 ms (regex / keyword match, éventuellement LLM si vous cachez le prompt).
  • Decide : 50 ms (lookup dans une table de règles ; mapping d’un news tag vers un market slug).
  • Place : 200 à 500 ms (ordre FOK signé vers le CLOB).

Le plus gros consommateur de budget est la LLM classification. Un appel GPT-4 de 500 tokens ajoute 1 à 3 secondes ; la fenêtre d’arbitrage est alors entièrement perdue. En production, classez avec des keyword rules ; utilisez un LLM uniquement pour calibrer hors ligne l’ensemble de mots-clés.

False-positive filters

Les news-arb bots qui ne filtrent pas les false positives tradent sur chaque retweet et s’érodent via le spread tax. Trois filtres.

  • Source whitelist : n’agir que sur les comptes/feeds d’une liste pré-approuvée. La liste est petite (10 à 30 sources).
  • Keyword + confirmation pair : une seule correspondance de mot-clé est du bruit ; des correspondances dans deux sources indépendantes en 30 s constituent un signal.
  • Market-state guard : ignorer les marchés qui ont déjà bougé de > 5 % dans les 60 dernières secondes - quelqu’un d’autre a déjà capté la news, l’avantage est perdu.

Taux de false-positive de filtres bien réglés : environ 1 sur 5 à 10. Un taux de false-positive de 90 % détruit la stratégie ; un taux de 50 % reste exploitable avec de petites tailles de position.

Quand l’avantage des news disparaît

La fenêtre entre "news publique" et "prix qui reflète la news" se referme plus vite chaque année. En 2020, les marchés politiques à prix moyen mettaient des minutes à absorber un headline. En 2026, ces mêmes headlines se compressent à 30 à 90 secondes avant que le prix ait entièrement bougé.

Signes que l’avantage est mort : le PnL par trade sur les trades signalés passe de +3c à plat sur une fenêtre de 30 trades ; le taux de false positives qui s’avèrent déjà priced in dépasse 70 % ; le marché touche votre ask FOK en moins de 200 ms parce que quelqu’un d’autre est arrivé avant vous.

Le pivot honnête quand l’avantage disparaît : se tourner vers des news plus lentes et plus interprétatives (décisions de justice, minutes de réunions de banques centrales), où le sens à donner prend plus de temps que la course à la latence. Ou arrêter d’exploiter la stratégie.

Code : poll news feed et placer des FOK sur les marchés pertinents

Squelette de production : poll une source de news, exécuter des rule matches, lancer des ordres FOK sur les correspondances.

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 secondes pour RSS. WebSocket quand c’est disponible (Twitter, AP wire). Dédupliquez toujours à l’aide de l’ID fourni par la source ; n’assumez jamais qu’un polling est exactement une seule fois.

Risque : half-truths et headlines rétractées

Le pire jour d’un news-arb bot est celui où une headline s’avère fausse. Exemples : un tweet Reuters dit "Trump fires Yellen", le marché bondit de 8 cents, 12 minutes plus tard le tweet est supprimé et corrigé. Un bot qui a acheté à +8c détient désormais l’inventaire à -3c, sans recours.

Défenses :

  • Two-source confirmation : ne jamais trader sur un seul tweet ; exiger un signal corroborant d’une seconde source indépendante dans les 60 à 180 secondes.
  • Position size scaled to source confidence : AP wire = taille complète ; Twitter d’un journaliste spécialisé vérifié = 50 % ; source de rumeur = 25 %.
  • Auto-exit on retraction signal : si une source que vous avez utilisée publie une correction dans les 30 minutes, sortez au marché quoi qu’il arrive côté PnL.

Le problème des walk-backs impose un plafond dur sur la taille de position en news-arb. Trader 50 $ par signal permet de survivre à un taux de false-positive de 30 % ; trader 500 $ ne le permet pas.

Questions fréquentes

Un bot retail peut-il vraiment battre le marché sur les news ?
Oui - mais seulement si vous avez une source de news rapide et fiable, ainsi qu’un chemin d’exécution à faible latence. Twitter (aujourd’hui X) était la référence jusqu’aux restrictions d’API ; les RSS de Reuters/AP/Bloomberg sont la meilleure alternative. L’avantage retail s’est réduit à mesure que davantage de bots sont en concurrence ; attendez-vous à un read-to-trade total de 200 à 1000 ms, pas 50 ms.
À quelles news sources devrais-je m’abonner ?
Les feeds RSS d’AP (apnews.com), Reuters (reuters.com) et BBC offrent une couverture large. Pour Polymarket : les Twitter et Discord channels propres aux plateformes annoncent souvent à l’avance les changements de marchés. Pour des sujets précis : communiqués de presse gouvernementaux (PDF de la Federal Reserve, CFTC, WHO).
À quelle vitesse mon bot doit-il réagir aux news ?
Pour un avantage retail : moins de 2 secondes entre l’apparition de la news et l’envoi de votre ordre. Pour un avantage de niveau HFT (face à d’autres bots) : moins de 200 ms. La plupart des particuliers peuvent concurrencer dans la fenêtre de 1 à 3 secondes, car la plupart des autres retail bots sont encore plus lents ou absents sur certains types de feeds.
Comment éviter les false-positive news triggers ?
Associez la news au marché spécifique avec soin. "Ceasefire" peut apparaître dans 100 contextes ; seuls certains comptent pour votre marché précis. Utilisez des filtres keyword AND market-tag : keyword "ceasefire" ET market-tag "Israel-Hezbollah" avant de déclencher. Encore mieux - classifiez la news avec un LLM comme pertinente avant de trader.
Que se passe-t-il quand une news est ensuite rétractée ?
Votre position peut passer de gagnante à perdante en quelques secondes. Les news-arb bots ont besoin d’une politique de sortie rapide : si une source de suivi contredit la headline dans N minutes, clôturez immédiatement la position, même à perte. Notre règle : clôturer à -3 % à -5 % si un suivi réduit la confiance dans le signal initial.
L’arbitrage de news est-il légal ?
Trader sur des news publiques est légal partout à notre connaissance. Trader sur des material non-public information (insider tips, leaks avant publication officielle) ne l’est pas. Restez sur des sources publiques et le trade est conforme.