Polymarket Bot Tutorial · Rozdział 23 z 32
Wzorce bota dla 5-minutowych rynków BTC/ETH up-down na Polymarket: 288 wygaszeń dziennie, execution krytyczny dla latency, źródła edge, dlaczego większość retail botów przegrywa i szkielet kodu dla tej strategii.
Co obejmuje ten rozdział
5-minutowa seria BTC up/down na Polymarket rozlicza się 288 razy dziennie, wzmacniając każdy edge przez wiele powtórzeń. Większość retail botów przegrywa tutaj mimo wolumenu, ponieważ próg latency i edge wyznaczają firmy profesjonalne. Ten rozdział pokazuje to, co faktycznie przetrwa.
To jest rozdział 23 z naszej 32-częściowej serii o budowie Polymarket trading bota. Temat omawiamy szczegółowo w sekcjach poniżej. Treść główna dla każdej sekcji jest pisana i publikowana rozdział po rozdziale; odpowiedzi FAQ i referencje są już kompletne i odzwierciedlają doświadczenie produkcyjne z uruchamiania naszego własnego tradera.
- Czym są 5-min crypto markets
- 288 wygaszeń dziennie = efekt składania powtórzeń
- Dlaczego retail boty tutaj przegrywają
- Źródła edge, które przetrwają
- Budżet latency
- Ryzyko: małe na trade, duże na dzień
- Kod: szkielet strategii 5-min
Czym są 5-min crypto markets
5-minutowe rynki crypto na Polymarket to binarne pytania up/down o cenę BTC (i ETH). Nowe rynki otwierają się co 5 minut; każdy rozlicza się na podstawie ceny zamknięcia 5 minut po otwarciu, pobieranej z opublikowanego oracle.
To daje 288 rynków na aktywo dziennie. Możliwość compoundingu dla dowolnego edge jest ogromna: nawet niewielka przewaga na trade staje się istotna, gdy można wykorzystać ją ponad 100 razy dziennie.
Druga strona medalu: poprzeczkę wyznaczają firmy profesjonalne. Mid porusza się niemal w ścisłej zgodzie z underlying price feed, a books zwykle są cienkie na nogę przeciwstawną.
288 wygaszeń dziennie = efekt składania powtórzeń
Jeśli Twój edge wynosi 0.5c na trade przy 55% win rate i możesz wykonać 60 tradeów dziennie, oczekiwany dzienny PnL to 60 × 0.5c = $0.30 na pozycjach 10-share = $3/dzień. Brzmi skromnie, ale się kumuluje: 252 dni tradingowe × $3 = $750/rok przy niemal zerowej ekspozycji kapitałowej (pozycje rozliczają się w ciągu 5 minut).
Aby ten sam edge wygenerował $750/rok na binary, który rozlicza się raz na kwartał, potrzebowałbyś znacznie większego rozmiaru na trade i dużo szerszych ogonów strat.
5-min rynki to jedyny segment na Polymarket, gdzie małe, ale częste edge sumują się do sensownego rocznego dochodu.
Dlaczego retail boty tutaj przegrywają
Trzy tryby awarii, które konsekwentnie eliminują retailowych uczestników.
- Latency: profesjonalne firmy składają zlecenia w 50-100 ms; retail boty potrzebują 1-3 sekund. Zanim wyślesz zlecenie, cena jest już w nowym mid.
- Asymetria informacji: underlying CEX (Binance, Coinbase) publikuje trade tape szybciej niż price feed Polymarket. Boty bez bezpośrednich subskrypcji CEX handlują na przestarzałych danych.
- Spread tax: przy częstotliwości 5-min nawet spread 0.5c × 60 tradeów = 30c dziennie nieuniknionego kosztu. Edge musi to przebić, zanim stanie się rentowny.
Retail boty zwykle wychodzą na zero albo tracą, bo nie są w stanie wyprzedzić prosów i nie potrafią uciec od spread tax. Strategie, które działają dla retail, nie polegają na edge przeciwko prosom; to strategie wolniejszego podejmowania decyzji ze specyficznymi przewagami informacyjnymi.
Źródła edge, które przetrwają
Co działa dla retail na 5-min rynkach.
- Funding-rate-driven directional bias: ekstremalnie dodatni funding na futures perp prognozuje mean reversion; graj przeciwko funding rate.
- Open-interest-clearing windows: na początku każdej godziny likwidacje na perp futures są bardziej prawdopodobne; fade ekstremalne ruchy w tym oknie.
- Late-window resolution arbitrage: w ostatnich 30 sekundach 5-min okna cena rozliczenia staje się coraz bardziej przewidywalna; book często oferuje cienką płynność przy prawdopodobieństwach, które nie zgadzają się z live tape.
Co nie działa: czyste sygnały techniczne (RSI, moving averages), proste kopiowanie momentum, wszystko, co wymaga, by bot był szybszy niż profesjonaliści.
Budżet latency
Dla sensownej strategii 5-min budżet wygląda mniej więcej tak:
- Odczyt źródła sygnału (CEX trade tape, funding rate): 100-300 ms
- Obliczenie decyzji: 50 ms
- Wysłanie zlecenia FOK: 200-500 ms
- Otrzymanie potwierdzenia fill: 200 ms
Łącznie: 550-1050 ms. Osiągalne na VPS z płatnym RPC i bezpośrednią subskrypcją CEX WebSocket. Nieosiągalne na domowym laptopie ani przy free-tier APIs.
Strategie wymagające łącznego czasu < 500 ms to teren prosów; retail nie powinien tam konkurować.
Ryzyko: małe na trade, duże na dzień
Pozycjonowanie dla 5-min rynków: małe na trade, z dziennym limitem.
- Na trade: 5-15 shares ($1-6) na rynek. Poniżej 5 uniemożliwia sensowne GTC sells; powyżej 15 powoduje przesuwanie booka przy wejściu.
- Łącznie dziennie: 50-100 tradeów. Więcej tworzy skorelowaną ekspozycję na pojedynczy oracle quirk.
- Dzienny kill switch PnL: wstrzymaj handel, jeśli skumulowany PnL spadnie o > $10 (lub 5% przydzielonego kapitału). Złe dni na 5-min rynkach zwykle wynikają z tego, że założyłeś coś, co przestało działać; przetrwaj dzień, zdebuguj, wdroż ponownie.
Asymetria między rozmiarem na trade a dzienną liczbą transakcji jest celowa. Grasz breadth, nie depth.
Kod: szkielet strategii 5-min
Reference: pętla tradingowa dla bota opartego o funding rate na 5-min.
def five_min_loop():
while True:
wait_for_next_window_open() # blocks until xx:x0:00 or xx:x5:00
markets = find_open_5min_markets("btc")
if not markets: continue
funding = fetch_perp_funding_rate("BTCUSDT")
bias = "DOWN" if funding > 0.001 else "UP" if funding < -0.001 else None
if bias is None: continue
market = markets[0]
token = market["clobTokenIds"][0 if bias == "UP" else 1]
book = fetch_book(token)
if not book.best_ask or book.best_ask > 0.55: continue
place_fok(token, "BUY", book.best_ask + 0.01, 10)
Rozszerzenia w wersji produkcyjnej: śledź pozycje w obrębie 5-min okna dla dokładnego timingu wyjścia, paper-trade przez 30 okien przed live, zatrzymuj się po kolejnych stratach.











