Polymarket Bot Tutorial · Bab 16 dari 32
Statistical arbitrage di Polymarket: cross-market pairs (correlated events), spread Polymarket-vs-Kalshi, mean reversion, dan cara menentukan ukuran posisi stat-arb ketika market akhirnya resolve.
Apa yang dibahas di bab ini
Statistical arbitrage di Polymarket memanfaatkan mispricing sementara antara market yang berkorelasi - event yang sama di Polymarket vs Kalshi, atau market terkait di dalam Polymarket itu sendiri. Edge-nya kecil (biasanya 1-3 cent) dan rapuh secara operasional. Bab ini jujur tentang apa yang berhasil, apa yang tidak, dan risiko eksekusi multi-leg yang menggagalkan sebagian besar percobaan.
Cross-market statistical arbitrage memanfaatkan inkonsistensi harga sementara antara Polymarket dan Kalshi, Polymarket dan Manifold, atau antara market yang berkorelasi di dalam Polymarket. Edge-nya kecil (biasanya 1-3 cent) dan membutuhkan eksekusi cepat di kedua leg. Bab ini adalah playbook yang jujur termasuk kompleksitas operasional yang menggagalkan sebagian besar percobaan.
- Apa arti stat-arb di prediction markets
- Contoh spread Polymarket-vs-Kalshi
- Pairs di dalam Polymarket (correlated events)
- Mean reversion vs trend continuation
- Menentukan ukuran untuk market yang resolve (bukan perpetual)
- Risiko: divergensi melewati resolution
- Kode: pairs monitor dan threshold-trigger
Apa arti stat-arb di prediction markets
Statistical arbitrage di prediction markets berarti memperdagangkan spread antara dua market yang seharusnya dihargai secara konsisten. Ada tiga bentuk yang umum di Polymarket.
- Cross-venue: event yang sama di Polymarket dan Kalshi (atau Manifold, PredictIt). Harga seharusnya konvergen; pada praktiknya bisa bergeser 2-5 cent.
- Same-event-pair: parent vs jumlah leg dalam market NegRisk multi-outcome. Invarian jumlah ke 1 memungkinkan Anda melakukan arb ketika total leg kurang dari 1.0.
- Correlated-event-pair: dua market tentang outcome yang terkait (misalnya "Trump president on Jan 1" vs "Trump president on Mar 1"). Seharusnya diperdagangkan dalam selisih 2-3 cent satu sama lain.
Edge-nya kecil. Kompleksitas operasionalnya nyata. Sebagian besar percobaan gagal di eksekusi, bukan di teori.
Contoh spread Polymarket-vs-Kalshi
Berdasarkan observasi pada 2025-26, Polymarket dan Kalshi mencantumkan event besar AS yang sama tetapi secara konsisten berbeda harga 1-4 cent. Kesenjangan ini ada karena faktor struktural yang perlu Anda modelkan dalam setiap arb.
Pendorong struktural:
- Fee asymmetry: Kalshi mengambil 4-7% pada trade yang menang (bervariasi حسب market); Polymarket mengenakan 0 taker fee. Perhitungan arb harus memperhitungkan potongan Kalshi.
- Settlement risk premium: ketika resolution sebuah market ambigu, UMA di satu venue bisa resolve berbeda dari judge di venue lain. Market mem-price-in hal ini.
- Populasi trader: pengguna Polymarket cenderung lebih muda dan lebih crypto-native; pengguna Kalshi cenderung profesional / hedge. Mereka secara sistematis berbeda pendapat pada event yang sama.
Arb bekerja ketika gap melebihi premium struktural plus fees. Gap 5 cent pada market dengan premium struktural 1c dan total fee 1c adalah edge nyata 3c.
Pairs di dalam Polymarket (correlated events)
Di dalam Polymarket, pairs correlated-event lebih mudah di-arb daripada cross-venue. Struktur fee sama, wallet sama, eksekusi atomic memungkinkan.
Contoh yang konsisten tidak konsisten harganya:
- Trump president pada tanggal A vs Trump president pada tanggal B (di mana B lebih lambat dari A sebesar < 90 hari).
- Apakah Bitcoin akan mencapai $100k pada 31 Juli vs $100k pada 31 Agustus.
- Leg Yes vs No pada market binary yang sama (jumlah seharusnya = 1.0; kadang melenceng sejauh 1.04 di buku yang tipis).
Arb Yes+No=1 adalah yang paling bersih: baca kedua leg dari market yang sama, kirim FOK pada keduanya jika jumlahnya turun di bawah 0.97 (memperhitungkan spread tax). Modal yang dibutuhkan kira-kira sama di tiap leg; eksekusi bersifat atomic ketika kedua fill kembali dalam respons yang sama.
Mean reversion vs trend continuation
Ada dua rezim stat-arb. Mean reversion: pair sudah menjauh karena noise; Anda bertaruh pada konvergensi. Trend continuation: pair mulai divergen karena informasi baru masuk; Anda bertaruh pada divergensi lebih lanjut.
Membedakan keduanya adalah bagian tersulit. Heuristiknya: jika divergensi terjadi pada volume yang terlihat (whale menggeser buku salah satu leg), itu berita - lawan hanya jika Anda punya model. Jika pergeserannya pelan dengan volume rendah, itu noise - trade reversion dengan percaya diri.
Untuk builder baru: trade mean reversion saja, pada pairs di mana divergensi < 1 standar deviasi dari drift historis. Trend continuation membutuhkan model yang menangkap berita; tanpa itu, Anda sedang trading melawan informed flow.
Menentukan ukuran untuk market yang resolve (bukan perpetual)
Prediction markets resolve. Crypto pairs tidak. Ini mengubah matematikanya.
Posisi pair-arb di Polymarket memiliki jadwal payout yang tetap: ketika kedua market resolve, selisih antara spread yang diprediksi dan spread aktual terkunci. Tidak ada rolling, tidak ada holding tanpa batas.
Implikasi sizing: maksimum yang bisa Anda tahan dibatasi oleh time-to-resolution, karena modal terkunci sampai saat itu. Pair yang resolve dalam 6 bulan bisa memberi Anda 3c per share, tetapi Anda tidak bisa menaruh modal tambahan untuk bekerja di meantime jika kedua market sudah terisi penuh.
Kerangka yang tepat: stat-arb di Polymarket adalah rangkaian trade berdurasi terbatas, bukan strategi kontinu. Bandingkan PnL per unit locked capital per hari, bukan gross PnL.
Risiko: divergensi melewati resolution
Hasil stat-arb terburuk adalah prediksi Anda tentang konvergensi salah karena premis dasarnya ternyata salah. Contoh:
- Anda short "Trump president on Apr 1" dengan harapan akan konvergen ke "Trump president on Mar 1" - tetapi market tanggal 1 resolve YES dan market tanggal 2 resolve NO karena ada impeachment di bulan Maret. Thesis Anda bahwa "spread seharusnya datar" ternyata salah.
- Anda melakukan arb Polymarket vs Kalshi pada pemenang NBA Finals yang sama. Polymarket resolve ke tim yang memenangkan seri resmi; Kalshi resolve berdasarkan definisi sedikit berbeda yang memasukkan overtime tie-breakers secara berbeda. Keduanya resolve YES menurut ketentuan masing-masing, tetapi hasil akhirnya berlawanan arah.
Baca kriteria resolution setiap market dengan cermat. Cross-venue arb hanya selangkah dari mismatch resolution yang berujung full loss pada kedua leg.
Kode: pairs monitor dan threshold-trigger
Referensi: monitor dua token yang berkorelasi, jalankan arb ketika spread melewati threshold.
def pairs_monitor(token_a, token_b, threshold_cents=3, size=10):
"""Buy A and Sell B when (1 - ask_A) + bid_B > 1 + threshold."""
while True:
book_a = fetch_book(token_a)
book_b = fetch_book(token_b)
if not (book_a.best_ask and book_b.best_bid):
time.sleep(2); continue
# implied: cost of buying A at ask + value of selling B at bid
edge = (1 - book_a.best_ask) + book_b.best_bid - 1
if edge > threshold_cents / 100:
print(f"ARB edge={edge:.3f}; firing")
r_a = fok_buy(token_a, price=book_a.best_ask, size=size)
if r_a.status != "matched": continue
r_b = fok_sell(token_b, price=book_b.best_bid, size=size)
if r_b.status != "matched":
# leg A filled, B failed -- unhedged, exit A
fok_sell(token_a, price=book_a.best_bid, size=size)
time.sleep(3)
Pembersihan saat partial-fill itu kritis. Tanpa itu, eksekusi parsial membuat bot terekspos arah, yang justru kebalikan dari tujuan stat-arb.





