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.

Pertanyaan yang sering diajukan

Bisakah saya melakukan arbitrase antara Polymarket dan Kalshi?
Ya, ketika event yang sama diperdagangkan di keduanya. Spread 2-5 cent bertahan antara dua exchange karena perbedaan regulasi, struktur fee, dan perbedaan audiens. Kendalanya: Kalshi hanya untuk AS dan gated KYC, jadi Anda butuh akun di keduanya - lihat /id/guide/polymarket-vs-kalshi/ untuk setup. Spread arbitrage itu nyata tetapi berat secara operasional.
Apa itu pairs trade dalam konteks Polymarket?
Dua market berkorelasi di mana rasio harga mean-revert. Contoh: "Trump wins 2028" dan "Republicans win 2028 House" - jika trade Trump naik 5% tetapi trade House belum bergerak, bot membeli House dan menjual Trump (atau sebaliknya) dengan asumsi rasio akan revert. Edge kecil tetapi konsisten di market politik yang likuid.
Bagaimana cara menentukan ukuran posisi stat-arb ketika kedua market resolve?
Sesuaikan dengan divergensi terbesar yang Anda harapkan - jika model Anda mengatakan spread bisa melebar 8 cent sebelum revert, atur ukuran sehingga pelebaran 8 cent tidak melebihi batas kerugian Anda. Perlakukan setiap pair sebagai trade independen dengan batas rugi yang keras. Stat-arb yang berpura-pura jadi uang gratis adalah cara akun meledak.
Apakah arb Polymarket-Kalshi bersifat persisten?
Ya, tetapi semakin menyusut seiring lebih banyak bot menemukannya. Sepanjang 2026 kami masih melihat spread 1-3 cent pada market politik yang likuid bertahan selama berjam-jam. Market sports memiliki spread yang lebih sempit. Tail market (volume rendah) memiliki spread yang lebih lebar tetapi tidak ekonomis untuk diperdagangkan.
Bagaimana jika kedua market divergen sampai resolution?
Pairs trade berjalan ke PnL penuhnya berdasarkan outcome aktual - itulah sebabnya pairs trading pada prediction markets pada dasarnya terbatas (tidak seperti perpetuals di mana divergensi bisa tumbuh selamanya). Kerugian bersih pada pairs trade dibatasi oleh selisih harga saat entry, bukan tak terbatas.
Alat apa yang membantu menemukan pair Polymarket?
Correlation matrix di seluruh market aktif adalah titik awal. Bangun dari histori harga 30 hari yang diambil dari gamma+CLOB. Cari pair dengan rho > 0.7 secara historis yang saat ini mispriced relatif terhadap rasio biasanya. Perbarui matrix setiap minggu - correlation bisa menurun.