Polymarket Bot Tutorial · Rozdział 21 z 32

Strategie botów dla binarnych rynków Yes/No na Polymarket: standardowe event contracts, twardy limit dźwigni 1x, skalowanie przez breadth portfela, częste błędy (gonienie 0.99) oraz skeleton kodu.

Co obejmuje ten rozdział

Binarnie rynki (Yes/No) są fundamentem Polymarket. Większość strategii działa właśnie tutaj. Ten rozdział omawia limit dźwigni, pułapkę ceny 0.99, w którą wpadają nowi twórcy, oraz wzorzec breadth-not-size, do którego dochodzą boty produkcyjne.

To 21. rozdział naszej 32-częściowej serii o budowie trading bota na Polymarket. Omawiamy temat szczegółowo w sekcjach poniżej. Treści główne dla każdej sekcji są pisane i publikowane rozdział po rozdziale; odpowiedzi FAQ i referencje są już kompletne i odzwierciedlają doświadczenie produkcyjne z prowadzenia naszego własnego tradera.

  • Co obejmują binarne rynki
  • Limit dźwigni 1x (i jak skalować wokół niego)
  • Typowy błąd: gonienie cen 0.99
  • Breedth portfela jako efektywna dźwignia
  • Ryzyko na rynek vs na portfel
  • Kod: skanowanie binarnych rynków i składanie zleceń kupna o odpowiedniej wielkości

Co obejmują binarne rynki

Binarnie rynki są fundamentem Polymarket: pojedyncze pytanie yes/no z dwoma outcome tokens. „Will Trump win the 2024 election?” jest binarne; „Who will win the 2024 election?” z 5 kandydatami to NegRisk (rozdział 11).

Dwa outcome tokens (YES i NO) na binarnym rynku sumują się do 1.0 minus niewielki spread tax. Możesz kupić dowolną stronę; obie strony mają własny order book. Ceny są symetryczne — kupno YES po 0.40 jest ekonomicznie równoważne sprzedaży NO po 0.60 w expected payoff.

Większość rynków innych niż turniejowe na Polymarket jest binarna: pytania o pogodę, pojedyncze wydarzenia polityczne, indywidualne mecze sportowe, pojedyncze pytania crypto o target ceny. Wzorzec bota jest podobny dla większości z nich.

Limit dźwigni 1x (i jak skalować wokół niego)

Binarne rynki Polymarket mają dźwignię 1x: wydajesz 40 USD, aby kupić 100 udziałów po 0.40; maksymalna wypłata to 100 USD. Nie ma margin ani liquidation. Efektywność kapitałowa jest niższa niż w perp futures (rozdział 24), gdzie dostępna jest dźwignia 2-25x.

Skalowanie wokół limitu 1x oznacza albo: (1) angażowanie większego kapitału na wielu rynkach — dywersyfikacja zamiast dźwigni, (2) rotowanie kapitału przez rozstrzygane rynki — kapitał uwalnia się przy każdym resolution i przechodzi do następnego, (3) używanie rynków NegRisk, gdzie arb sum-to-1 może dawać efektywną syntetyczną dźwignię.

Właściwe podejście do strategii binarnej: niska dźwignia, wysoki breadth. 50 małych pozycji na 50 rynkach to typowy profil dojrzałego bota, a nie 5 dużych pozycji na 5 rynkach.

Typowy błąd: gonienie cen 0.99

Najczęstsza porażka binarnego bota: kupowanie prawie rozstrzygniętego faworyta po 0.99, z oczekiwaniem łatwej wypłaty 1c po rozstrzygnięciu YES.

Matematyka: przy 0.99 płacisz 99c, aby wygrać 1c. 1% failure rate (1 na 100 rynków), gdzie każdy kosztuje Cię 99c, kasuje 99 udanych wygranych po 1c. Stosunek ryzyka do zysku jest brutalny na ekstremach.

Capacity też jest problemem. Order book przy 0.99 jest cienki; ustawienie sensownego size podnosi cenę do 0.995 lub wyżej, co zjada i tak już bardzo mały edge.

Trzymaj się z dala od rynków wycenionych powyżej 0.92, chyba że masz konkretną strategię zaprojektowaną pod tail-yield arb profile. Większość botów binarnych nie powinna kupować powyżej 0.85.

Breadth portfela jako efektywna dźwignia

Nie możesz lewarować pojedynczych pozycji, ale możesz lewarować charakterystykę wariancji portfela, trzymając wiele nieskorelowanych zakładów jednocześnie.

50 pozycji po 20 USD to 1,000 USD w grze. Jeśli win rate wynosi 55% przy ekonomii +3c/-4c, oczekiwane dzienne PnL to (0.55 × 3 − 0.45 × 4) × 50 × $0.20 = $1.50 expected, z ograniczoną wariancją. Ten sam expected return, znacznie niższy drawdown, w porównaniu z pojedynczą pozycją za 1,000 USD.

Ograniczenie: pozycje muszą być naprawdę nieskorelowane. 50 faworytów NFL w jeden weekend nie oznacza 50 niezależnych zakładów; to w dużej mierze jeden zakład na pogodę i faworyta, skorelowany między meczami. Dywersyfikuj między sport, typ wydarzenia i horyzont czasowy.

Ryzyko na rynek vs na portfel

Dwa limity ryzyka, oba są potrzebne.

  • Per-market: maksymalnie X USD na rynek, niezależnie od edge. Ogranicza katastrofalną stratę na pojedynczym rynku. Typowa wartość: 25-100 USD na rynek.
  • Portfolio: maksymalny łączny kapitał zaangażowany w dowolnym momencie. Ogranicza całkowity drawdown w słabsze, nieskorelowane dni. Typowa wartość: 50-70% salda walleta.

Limit per-market jest ważniejszy, bo ogranicza blast radius jednego błędu lub sytuacji, gdy edge znika. Limit portfela to sanity check; przy 50+ pozycjach prawo wielkich liczb zwykle utrzymuje Cię w granicach nawet bez niego.

Oba limity powinny być egzekwowane w kodzie, a nie „w głowie”. Bot bez wymuszonych limitów prędzej czy później znajdzie konfigurację, w której lokuje 90% kapitału w jednym rynku i wszystko traci.

Kod: skanowanie binarnych rynków i składanie zleceń kupna o odpowiedniej wielkości

Referencja: skanuj binarne rynki o najwyższym volume, filtruj poprawne setupy, składaj 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

Funkcja setup_qualifies to miejsce, w którym żyje Twoja strategia. Wrapper to tylko plumbing.

Najczęściej zadawane pytania

Czym jest binarny market na Polymarket?
Market z dokładnie dwoma wynikami - YES (1 USD, jeśli wydarzenie nastąpi, 0 USD, jeśli nie) oraz NO. Większość wydarzeń na Polymarket jest binarna: „Czy X wydarzy się do Y?” Każdy share wypłaca 1 USD po zwycięskiej stronie, 0 po przegranej, z limitem.
Czy mogę użyć dźwigni na binarnej pozycji Polymarket?
Nie z natywną dźwignią. Binarne rynki mają limit 1x - Twoja maksymalna strata równa się kosztowi zakupu. Syntetyczna dźwignia wynika z breadth portfela: prowadzenie 50 małych jednoczesnych pozycji binarnych z dodatnim expected value skaluje się szybciej niż jedna duża pozycja.
Dlaczego kupowanie po 0.99 jest ryzykowne?
Przy 0.99 upside to 1 cent (około 1% return), a downside to 99 centów (strata -99%, jeśli wydarzy się mało prawdopodobny scenariusz). Asymetria ryzyka do zysku jest brutalna - jedno black-swan wydarzenie kasuje 100 normalnych wygranych. Twarda zasada dla naszych botów: nie kupuj powyżej 0.95, chyba że Twoja expected value matematyka jest bezbłędna.
Jaki size powinienem handlować na jednym binarnym rynku?
1-5% bankrolla na rynek. Przy bankrollu 500 USD daje to 5-25 USD na pozycję. Kelly criterion daje teoretyczne maksimum (~edge / variance), ale większość retail bots powinna stosować fractional-Kelly na poziomie 25-50% pełnego Kelly, aby przetrwać wariancję.
Jak znaleźć dochodowe binarne rynki?
Trzy filtry: (1) Liquidity - 10K+ USD w volume z 24h, żeby dało się wejść i wyjść. (2) Klarowność resolution - rynki z niejednoznacznymi kryteriami niosą risk sporów. (3) Źródło edge - news, model statystyczny albo domain expertise. Bez jednego z tych trzech nie masz edge, masz nadzieję.
Czy binarne rynki są mniej ryzykowne niż wielo-wynikowe NegRisk?
Na rynku per-market - tak (prostsza mechanika, brak ryzyka między legami). Na poziomie portfela - to zależy od konstrukcji. Zdywersyfikowany portfel 30 binarnych rynków często ma niższą wariancję niż skoncentrowany zakład NegRisk multi-outcome.