Polymarket Bot Tutorial · Capitolo 21 di 32
Strategie bot per mercati binary Yes/No di Polymarket: standard event contracts, leva 1x con hard cap, scaling tramite ampiezza del portfolio, errori comuni (inseguire 0.99) e code skeleton.
Cosa copre questo capitolo
I mercati binary (Yes/No) sono il fondamento di Polymarket. La maggior parte delle strategie vive qui. Questo capitolo copre il leverage cap, la trappola del prezzo 0.99 che coglie di sorpresa i nuovi builder e il pattern breadth-not-size a cui convergono i bot in produzione.
Questo è il capitolo 21 della nostra serie in 32 parti su come costruire un Polymarket trading bot. Trattiamo l'argomento in profondità nelle sezioni qui sotto. Il contenuto principale di ogni sezione viene scritto e rilasciato capitolo per capitolo; le risposte FAQ e i riferimenti sono già completi e riflettono l'esperienza in produzione maturata gestendo il nostro trader.
- Cosa coprono i mercati binary
- Il cap di leva 1x (e come scalare intorno ad esso)
- Errore comune: inseguire prezzi a 0.99
- La breadth del portfolio come leva effettiva
- Rischio per market vs portfolio
- Code: scan dei mercati binary e inserimento di buy dimensionati
Cosa coprono i mercati binary
I mercati binary sono il fondamento di Polymarket: una singola domanda yes/no con due outcome token. "Trump vincerà le elezioni del 2024?" è binary; "Chi vincerà le elezioni del 2024?" con 5 candidati è NegRisk (capitolo 11).
I due outcome token (YES e NO) in un mercato binary sommano a 1.0 meno una piccola spread tax. Puoi comprare entrambi i lati; entrambi i lati hanno il proprio order book. Il pricing è simmetrico: comprare YES a 0.40 è equivalente a vendere NO a 0.60 in termini di expected payoff.
La maggior parte dei mercati non tournament su Polymarket è binary: domande sul meteo, esiti politici di un singolo evento, singole partite sportive, domande crypto con singolo price target. Il pattern del bot è simile su quasi tutti.
Il cap di leva 1x e come scalare intorno ad esso
I binary di Polymarket sono 1x leverage: spendi 40$ per comprare 100 share a 0.40; il payout massimo è 100$. Non c'è margin e non c'è liquidation. L'efficienza del capitale è inferiore rispetto ai perp futures (capitolo 24), dove è disponibile 2-25x.
Scalare intorno al cap 1x significa: (1) allocare più capitale su più mercati — diversificare invece di usare leva, (2) ciclare il capitale attraverso i mercati che si risolvono — il capitale si libera a ogni resolution e ruota verso il successivo, (3) usare mercati NegRisk dove l'arbitraggio sum-to-1 può produrre effective synthetic leverage.
Il framing giusto per una strategia binary: low-leverage, high-breadth. 50 posizioni piccole su 50 mercati è il profilo tipico di un bot maturo, non 5 posizioni grandi su 5 mercati.
Errore comune: inseguire prezzi a 0.99
Il failure più comune dei binary bot: comprare un heavy favorite vicino alla resolution a 0.99, aspettandosi un facile payout di 1c quando si risolve YES.
La matematica: a 0.99, paghi 99c per vincere 1c. Un failure rate dell'1% (1 su 100 mercati), ciascuno che ti costa 99c, annulla 99 vincite da 1c. Il rapporto rischio/rendimento è brutale all'estremo.
Anche la capacity è un problema. Il book a 0.99 è sottile; inserire size significativa fa salire il prezzo a 0.995 o più, erodendo un edge già molto ridotto.
Stai fuori dai mercati prezzati > 0.92, a meno che tu non abbia una strategia specifica progettata per il tail-yield arb profile. La maggior parte dei binary bot non dovrebbe mai comprare sopra 0.85.
La breadth del portfolio come leva effettiva
Non puoi mettere leverage sulle singole posizioni, ma puoi mettere leverage sulle caratteristiche di variance del portfolio tenendo simultaneamente molte scommesse non correlate.
50 posizioni da 20$ ciascuna sono 1.000$ in gioco. Se il win rate è 55% con economics +3c/-4c, il daily PnL atteso è (0.55 × 3 − 0.45 × 4) × 50 × $0.20 = $1.50 attesi, con variance limitata. Stesso expected return, drawdown molto più basso, rispetto a una singola posizione da 1.000$.
Vincolo: le posizioni devono essere davvero non correlate. 50 favorite NFL nello stesso weekend non sono 50 scommesse indipendenti; sono in gran parte una scommessa su meteo e favorite correlata tra le partite. Diversifica per sport, tipo di evento, orizzonte temporale.
Rischio per market vs portfolio
Due cap di rischio, entrambi necessari.
- Per-market: max $X per market a prescindere dall'edge. Limita la perdita catastrofica su un singolo market. Valore comune: $25-100 per market.
- Portfolio: max capitale totale deployato in qualsiasi momento. Limita il drawdown totale nei giorni negativi non correlati. Valore comune: 50-70% del saldo del wallet.
Il cap per-market è quello più importante perché limita il blast radius di qualsiasi singolo bug o evento edge-disappears. Il cap di portfolio è un sanity check; con 50+ posizioni, la legge dei grandi numeri di solito ti mantiene entro i limiti anche senza di esso.
Entrambi i cap dovrebbero essere enforced nel code, non in testa. Un bot senza cap enforced finirà prima o poi per trovare la configurazione in cui deploya il 90% del capitale in un singolo market e lo perde.
Code: scan dei mercati binary e inserimento di buy dimensionati
Reference: scansiona i mercati binary a maggiore volume, filtra le setup valide, inserisci buy FOK dimensionati.
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 funzione setup_qualifies è il punto in cui vive la tua strategia. Il wrapper è solo plumbing.











