Polymarket Bot Tutorial · Розділ 21 із 32
Стратегії Polymarket binary Yes/No market bot: стандартні event contracts, жорстко обмежене 1x leverage, масштабування через ширину portfolio, типові помилки (гонитва за 0.99) та skeleton code.
Що охоплює цей розділ
Binary (Yes/No) markets - це основа Polymarket. Саме тут живе більшість strategies. У цьому розділі ми розглянемо leverage cap, пастку ціни 0.99, у яку потрапляють новачки, і pattern breadth-not-size, до якого сходяться production bots.
- Що покривають binary markets
- Обмеження 1x leverage (і як масштабуватися в його межах)
- Типова помилка: гонитва за цінами 0.99
- Portfolio breadth як effective leverage
- Ризик на market vs portfolio
- Code: scan binary markets і розміщення buy з потрібним розміром
Що покривають binary markets
Binary markets - це основа Polymarket: одне yes/no питання з двома outcome tokens. "Чи виграє Трамп вибори 2024 року?" - це binary; "Хто виграє вибори 2024 року?" із 5 кандидатами - це NegRisk (розділ 11).
Два outcome tokens (YES і NO) у binary market у сумі дають 1.0 мінус невеликий spread tax. Ви можете купувати будь-яку сторону; у кожної сторони свій order book. Pricing симетричний - купити YES за 0.40 еквівалентно продати NO за 0.60 за expected payoff.
Більшість не-турнірних market на Polymarket - binary: питання про погоду, політичні outcomes однієї події, окремі спортивні ігри, крипто-питання з одним price target. Pattern для bot у більшості з них схожий.
Обмеження 1x leverage і як масштабуватися в його межах
Binary на Polymarket - це 1x leverage: ви витрачаєте $40, щоб купити 100 shares по 0.40; максимальна виплата - $100. Немає margin і немає liquidation. Капітальна ефективність нижча, ніж у perp futures (розділ 24), де доступні 2-25x.
Масштабування в межах 1x cap означає одне з трьох: (1) розміщувати більше capital across markets - диверсифікувати, а не lever, (2) циклічно використовувати capital через markets, що resolve - capital звільняється після кожного resolution і переходить у наступний market, (3) використовувати NegRisk markets, де arb на сумі до 1 може створювати effective synthetic leverage.
Правильне framing для binary strategy: low-leverage, high-breadth. 50 small positions у 50 markets - це типовий profile зрілого bot, а не 5 large positions у 5 markets.
Типова помилка: гонитва за цінами 0.99
Найпоширеніший збій binary-bot: купівля heavy favorite майже на resolution за 0.99 в очікуванні легкого виплату 1c, коли market розв'яжеться YES.
Математика: за 0.99 ви платите 99c, щоб виграти 1c. Failure rate 1% (1 із 100 markets), де кожен коштує вам 99c, з'їдає 99 успішних wins по 1c. Risk-reward ratio тут жорстокий на крайніх значеннях.
Capacity - це також проблема. Книга на 0.99 тонка; якщо ставити meaningful size, ціна зсувається до 0.995 або вище, зменшуючи й без того тонкий edge.
Тримайтеся подалі від markets із ціною > 0.92, якщо у вас немає specific strategy, розробленої під tail-yield arb profile. Більшість binary bots не повинні купувати вище 0.85.
Portfolio breadth як effective leverage
Ви не можете lever окремі positions, але можете lever variance characteristics portfolio, тримаючи багато uncorrelated bets одночасно.
50 positions по $20 - це $1,000 у роботі. Якщо win rate становить 55% при economics +3c/-4c, expected daily PnL дорівнює (0.55 × 3 − 0.45 × 4) × 50 × $0.20 = $1.50 expected, із bounded variance. Такий самий expected return, але значно нижчий drawdown, порівняно з однією position на $1,000.
Обмеження: positions мають бути справді uncorrelated. 50 NFL favorites за один weekend - це не 50 independent bets; це значною мірою одна bet, корельована через weather-and-favorite across games. Диверсифікуйте за sport, event type, time horizon.
Ризик на market vs portfolio
Два risk caps, і обидва потрібні.
- Per-market: max $X на market незалежно від edge. Обмежує катастрофічну втрату на одному market. Поширене значення: $25-100 на market.
- Portfolio: max total capital, deployed у будь-який момент. Обмежує загальний drawdown у серії uncorrelated bad days. Поширене значення: 50-70% від wallet balance.
Per-market cap важливіший, бо він обмежує blast radius будь-якої окремої bug або ситуації, коли edge зникає. Portfolio cap - це sanity check; з 50+ positions закон великих чисел зазвичай утримує вас у межах навіть без нього.
Обидва caps слід enforce у code, а не тримати в голові. Bot без enforced caps рано чи пізно знайде configuration, у якому він вкладе 90% capital в один market і втратить його.
Code: scan binary markets і розміщення buy з потрібним розміром
Reference: scan top-volume binary markets, filter for valid setups, place sized FOK buys.
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
Функція setup_qualifies - це місце, де живе ваша strategy. Wrapper - це лише plumbing.





