Tutoriel de Polymarket Bot · Chapitre 21 sur 32
Stratégies de bot pour les marchés binaires Yes/No sur Polymarket : standard event contracts, leverage plafonné à 1x, mise à l'échelle via la breadth du portfolio, erreurs courantes (chasser le 0.99) et squelette de code.
Ce que couvre ce chapitre
Les marchés binaires (Yes/No) sont la base de Polymarket. La plupart des stratégies vivent ici. Ce chapitre couvre le plafond de leverage, le piège du prix à 0.99 qui surprend les nouveaux builders, et le pattern breadth-not-size vers lequel convergent les bots en production.
- Ce que couvrent les marchés binaires
- Le plafond de leverage 1x (et comment monter en échelle autour)
- Erreur courante : courir après des prix à 0.99
- La breadth du portfolio comme leverage effectif
- Risque par marché vs portfolio
- Code : scanner les marchés binaires et placer des achats dimensionnés
Ce que couvrent les marchés binaires
Les marchés binaires sont la base de Polymarket : une seule question yes/no avec deux outcome tokens. "Will Trump win the 2024 election?" est binaire ; "Who will win the 2024 election?" avec 5 candidats est NegRisk (chapitre 11).
Les deux outcome tokens (YES et NO) sur un marché binaire somment à 1.0 moins une petite taxe de spread. Vous pouvez acheter l'un ou l'autre côté ; chaque côté a son propre order book. Le pricing est symétrique - acheter YES à 0.40 est équivalent à vendre NO à 0.60 en expected payoff.
La plupart des marchés non-tournament sur Polymarket sont binaires : questions météo, résultats politiques d'un seul événement, matchs sportifs individuels, questions crypto à prix cible unique. Le pattern de bot est similaire sur la plupart d'entre eux.
Le plafond de leverage 1x (et comment monter en échelle autour)
Les binaries de Polymarket sont en leverage 1x : vous dépensez 40 $ pour acheter 100 shares à 0.40 ; le payout maximal est de 100 $. Il n'y a ni margin ni liquidation. L'efficience du capital est plus faible que sur les futures perpétuels (chapitre 24), où 2-25x sont disponibles.
Monter en échelle autour du cap 1x signifie soit : (1) déployer plus de capital sur plusieurs marchés - diversifier plutôt que leverager, (2) faire tourner le capital à travers les marchés résolus - le capital se libère à chaque résolution et se réalloue au suivant, (3) utiliser des marchés NegRisk où l'arb sum-to-1 peut produire un synthetic leverage effectif.
Le bon cadrage pour une stratégie binary : low-leverage, high-breadth. 50 petites positions sur 50 marchés est le profil typique d'un bot mature, pas 5 grosses positions sur 5 marchés.
Erreur courante : courir après des prix à 0.99
L'échec le plus courant d'un bot binary : acheter un heavy favorite proche de la résolution à 0.99, en espérant un easy payout de 1c quand il résout YES.
Le calcul : à 0.99, vous payez 99c pour gagner 1c. Un taux d'échec de 1 % (1 marché sur 100), chacun vous coûtant 99c, annule 99 gains réussis de 1c. Le ratio risque/rendement est brutal à l'extrême.
La capacité est aussi un problème. Le book à 0.99 est mince ; placer une taille significative fait monter le prix à 0.995 ou plus, ce qui érode un edge déjà très faible.
Restez hors des marchés pricés > 0.92 sauf si vous avez une stratégie spécifique conçue pour le profile d'arb tail-yield. La plupart des bots binaires ne devraient jamais acheter au-dessus de 0.85.
La breadth du portfolio comme leverage effectif
Vous ne pouvez pas leverager des positions individuelles, mais vous pouvez leverager les caractéristiques de variance du portfolio en détenant simultanément de nombreux paris non corrélés.
50 positions à 20 $ chacune représentent 1 000 $ exposés. Si le win rate est de 55 % avec une économie +3c/-4c, le PnL journalier attendu est de (0.55 × 3 − 0.45 × 4) × 50 × 0.20 $ = 1.50 $ attendu, avec une variance bornée. Même expected return, drawdown beaucoup plus faible, qu'une seule position de 1 000 $.
Contrainte : les positions doivent être réellement non corrélées. 50 favoris NFL sur un seul week-end ne sont pas 50 paris indépendants ; ils sont largement un seul pari météo-et-favori corrélé à travers les matchs. Diversifiez par sport, type d'événement, horizon temporel.
Risque par marché vs portfolio
Deux plafonds de risque, tous deux nécessaires.
- Par marché : max X $ par marché quelle que soit la qualité de l'edge. Cela limite la perte catastrophique sur un seul marché. Valeur courante : 25-100 $ par marché.
- Portfolio : capital total maximal déployé à un instant donné. Cela limite le drawdown total lors de mauvais jours non corrélés. Valeur courante : 50-70 % du solde du wallet.
Le plafond par marché est le plus important, car il borne le blast radius de tout bug isolé ou d'un événement où l'edge disparaît. Le plafond portfolio est un garde-fou ; avec 50+ positions, la loi des grands nombres vous maintient généralement dans les bornes même sans cela.
Les deux plafonds doivent être appliqués dans le code, pas seulement dans la tête. Un bot sans plafonds imposés finira tôt ou tard par trouver la configuration où il déploie 90 % du capital sur un seul marché et le perd.
Code : scanner les marchés binaires et placer des achats dimensionnés
Référence : scanner les marchés binaires à plus fort volume, filtrer les setups valides, placer des achats FOK dimensionnés.
def scan_and_buy():
events = gamma_top_events(limit=50, active=True, closed=False)
for ev in events:
for m in ev.get("markets", []):
if m.get("negRisk"): continue # binaries only
outs = json.loads(m["outcomes"])
prices = [float(p) for p in json.loads(m["outcomePrices"])]
for i, out_name in enumerate(outs):
if not setup_qualifies(m, i, prices[i]): continue
tok = json.loads(m["clobTokenIds"])[i]
size = compute_size(m, prices[i])
if size < 5: continue
place_fok(tok, "BUY", prices[i] + 0.02, size, neg_risk=False)
def setup_qualifies(m, idx, price):
return 0.10 <= price <= 0.85 # avoid extremes
La fonction setup_qualifies est l'endroit où se trouve votre stratégie. Le wrapper n'est que du plumbing.





