Bina bot Polymarket: seni bina untuk pengimbas, saiz, pelaksanaan
Panduan pembangun untuk membina bot Polymarket: pengimbas, pengiraan saiz risiko, pelaksana, dan pemantauan. Seni bina praktikal dan rujukan API.
Bina bot Polymarket: pengimbas, saiz, pelaksanaan, pemantauan
Panduan ini menerangkan cara membina bot Polymarket yang sentiasa mengimbas pasaran, mengira saiz peluang, melaksanakan melalui CLOB, dan memantau prestasi. Ia menumpukan pada seni bina dan corak pembangun yang boleh anda laksanakan menggunakan API awam Polymarket dan model Relayer.
Perkara utama
- Bentukkan bot sebagai empat perkhidmatan bebas: pengimbas (scanner), pengira saiz (sizer), pelaksana (executor), dan pemantau (monitor).
- Gunakan Gamma dan CLOB APIs Polymarket untuk penyenaraian dan penempatan pesanan; gunakan WebSocket untuk kemas kini buku masa nyata.
- Utamakan pesanan pasaran FAK untuk pelaksanaan berkelajuan tinggi tetapi sentiasa ambil kira slippage dan yuran.
- Pasang pemantauan dan suis hentian pantas untuk pertikaian oracle, kelewatan penyelesaian, atau isian tidak dijangka.
Mengapa struktur ini
Sistem dagangan lebih mudah difahami apabila tanggungjawab dipisahkan. Pengimbas mencari tepi calon, sizer menukar tepi kepada posisi, executor meletakkan pesanan melalui CLOB, dan monitor memastikan ketepatan dan keselamatan. Pemisahan ini membolehkan anda menskala, menguji, dan menilai latensi serta risiko secara berasingan.
H2: Sumber data dan API
Mula dengan menyambungkan titik akhir Polymarket ini ke perkhidmatan anda:
- Gamma (metadata pasaran): https://gamma-api.polymarket.com — markets, events, tags, series. Gunakan pagination dengan after_cursor; elakkan offset.
- CLOB (buku pesanan & dagangan): https://clob.polymarket.com — bacaan orderbook adalah awam; dagangan memerlukan API key + HMAC. SDK CLOB mengendalikan penempatan pesanan.
- Market WebSocket (buku masa nyata): wss://ws-subscriptions-clob.polymarket.com/ws/market — langgan untuk book, price_change, best_bid_ask, dan tick_size_change. PING setiap 10s.
- Data API (posisi, open interest): https://data-api.polymarket.com untuk analitik pasca-dagang.
Nota reka bentuk: gabungkan penyenaraian Gamma dengan feed WebSocket untuk pengimbasan langsung yang cekap. Hormati had kadar Gamma (contohnya, /markets caps) dan keperluan kunci CLOB untuk penempatan pesanan.
H2: Scanner — mencari peluang calon
Fungsi
Pengimbas menemui peluang yang sepadan dengan strategi anda: spread intra-market binari, jumlah multi-outcome, atau corak endgame. Ia harus tanpa keadaan (stateless), mudah diskala secara horizontal, dan memberi tumpuan kepada pengiraan edge mentah.
Input dan kekerapan
- Langgan Market WebSocket dengan custom_feature_enabled: true untuk menerima best_bid_ask dan perubahan tick.
- Backfill dengan Gamma /markets apabila anda pertama kali menemui instrumen baru untuk mendapatkan metadata dan outcome.
- Kekalkan pandangan kecil dalam memori tentang best asks/bids untuk setiap outcome.
Pengiraan edge
- Binari intra-market: kira edge = 1.00 - (bestAsk(YES) + bestAsk(NO)). Edge positif adalah calon.
- Multi-outcome: edge = 1.00 - sum(bestAsk(outcomes)).
Ambang dan penapis
- Ambang edge minimum (contohnya, > beberapa sen yang dikonfigurasikan) untuk menampung yuran taker dan risiko pelaksanaan.
- Semakan kecairan minimum: kedalaman pada best ask mesti memenuhi saiz isian minimum.
- Kesedaran saiz tick: ambil kira tick_size_change — granulariti harga boleh berubah kepada $0.001 di dekat ekstrem.
H2: Sizing — risiko dan peruntukan modal
Matlamat
Sizing menukar edge mentah kepada pelan pesanan: berapa banyak saham untuk dibeli setiap outcome, dan bagaimana membahagi merentasi pesanan untuk mengehadkan slippage.
Komponen
- Had pendedahan: had pUSD per-pasaran dan global.
- Saiz terhad-kedalaman: kira jumlah volum kumulatif yang tersedia pada tahap harga berturut-turut di sisi ask; hanya saiz sehingga volum yang mengekalkan slippage yang dijangka dalam toleransi.
- Peruntukan yuran: tolak jangkaan yuran taker (berubah-ubah, sehingga 1.8% dalam beberapa kategori) daripada edge kasar sebelum membuat keputusan untuk berdagang.
Corak praktikal
- Mulakan dengan isian konservatif: utamakan beberapa pesanan pasaran FAK kecil berbanding satu pesanan besar kecuali anda mengawal buku.
- Jika anda membeli set lengkap melalui aliran CTF split/merge, sertakan kos split/merge gas (ditangani oleh Relayer) dan pembulatan yang mungkin disebabkan saiz tick.
H2: Executor — meletakkan pesanan dan mengendalikan isian
Jenis pesanan dan kekangan
- Gunakan titik akhir trading CLOB untuk penempatan pesanan: https://clob.polymarket.com. SDK CLOB dan Relayer mengurus pengeluaran dompet, kelulusan, dan penandatanganan pesanan.
- Untuk kelajuan, gunakan pesanan pasaran FAK (Fill-And-Kill) apabila sesuai. FAK mengeksekusi serta-merta atau membatalkan; ia membantu mengelakkan pendedahan berpanjangan tetapi boleh isian separa.
Aliran pelaksanaan
- Sediakan niat dagangan: senarai token outcome ids dan kuantiti sasaran yang dikembalikan oleh sizer.
- Jika melaksanakan set lengkap multi-outcome, anda mungkin melakukan CTF split (mint set lengkap) dan kemudian menjual kaki — Relayer dan SDK mengabstrakkan operasi CTF.
- Hantar pesanan melalui API trading CLOB dengan header atribusi yang betul jika anda sebahagian daripada Builder Program.
- Perhatikan isian daripada WebSocket last_trade_price dan kemas kini best_bid_ask atau daripada respons dagangan CLOB.
Keselamatan dan perimbangan semula
- Jejaki isian separa dan batalkan baki atau ubah harga segera.
- Selaraskan baki CTF on-chain (melalui Data API) selepas isian untuk memastikan anda benar-benar memegang token outcome yang dijangka.
- Laksanakan kunci idempotensi dan pengendalian nonce untuk percubaan semula pesanan.
H2: Pemantauan dan keselamatan operasi
Apa yang perlu dipantau
- Kadar isian, slippage purata berbanding jangkaan, edge direalisasikan selepas yuran.
- Latensi antara kemas kini WebSocket dan penghantaran pesanan.
- Peristiwa luar biasa: pertikaian UMA, tick_size_change, gangguan meluas pasaran.
Amaran dan suis hentian
- Henti lembut automatik: jedakan penempatan pesanan baru apabila P&L terrealiasi bersih jatuh di bawah ambang atau apabila slippage isian melebihi had.
- Henti keras: hentikan semua trafik serta-merta jika UMA melaporkan pertikaian untuk pasaran yang anda pegang posisi, atau jika Relayer memberi isyarat isu penyelesaian.
Log audit dan kebolehlihatan
- Simpan semua niat pesanan, snapshot pasaran mentah, dan isian yang dilaksanakan. Gunakan log ini untuk post-mortem dan backtesting.
- Tag log dengan market id, condition_ids, dan request ids untuk memadankan rekod Gamma dan CLOB.
H2: Builder Program, kelayakan, dan had kadar
Jika anda merancang untuk menghala pesanan dengan atribusi, sertai Builder Program dan urus kunci melalui tetapan Polymarket. Tier Builder mengawal had relayer harian dan ganjaran. Untuk berdagang melalui CLOB anda akan memerlukan API key + HMAC dan mesti menghormati had kadar dan kuota relayer.
H2: Risiko biasa dan mitigasi
Jangan anggap edge matematik adalah terjamin. Risiko yang perlu diambil kira:
- Risiko resolusi: pertikaian UMA boleh menggantung atau mengubah pembayaran.
- Slippage dan isian separa: FAK boleh isian separa; rancangkan untuk pendedahan baki.
- Yuran: yuran taker berubah mengikut kategori dan boleh menghakis edge kecil (Geopolitics adalah tanpa yuran).
- Masa penyelesaian: masa redeem/merge dan kelewatan resolusi oracle boleh mengikat modal.
- Kegagalan kontrak pintar atau Relayer: sediakan fallback dan amaran manusia.
Bagaimana ini mempengaruhi dagangan anda
Reka bot anda supaya setiap unit dagangan adalah kecil, boleh diperhatikan, dan boleh dibalikkan dalam had risiko anda. Saiz konservatif, pemantauan pantas, dan syarat hentian yang jelas mengurangkan risiko ekor. Gunakan endpoint Gamma dan CLOB untuk keadaan pasaran yang deterministik dan utamakan pesanan FAK untuk pelaksanaan pantas, tetapi sentiasa ukur slippage terrealiasi berbanding jangkaan.
Penutup
Seni bina di atas memberikan cetak biru pragmatik untuk membina bot dagangan Polymarket: pengimbas berkelajuan tinggi, sizer konservatif, executor teguh menggunakan CLOB dan Relayer, dan pemantauan berlapis. Mulakan dengan kecil, pasang instrumen pemantauan yang kuat, dan ulang tambah pada saiz dan penapis semasa anda mengumpul data langsung.
Soalan lazim
API mana yang patut saya gunakan untuk mendapatkan penyenaraian pasaran dan data buku langsung?
Gunakan https://gamma-api.polymarket.com untuk metadata pasaran (/markets) dan wss://ws-subscriptions-clob.polymarket.com/ws/market untuk buku pesanan masa nyata dan acara best_bid_ask. Gunakan https://clob.polymarket.com untuk bacaan order-book dan dagangan; bacaan adalah awam tetapi dagangan memerlukan API key + HMAC.
Adakah saya patut menggunakan limit orders atau pesanan pasaran (FAK) untuk arbitrage?
FAK (Fill-And-Kill) pesanan pasaran biasa digunakan untuk kelajuan dan untuk mengelakkan pendedahan berpanjangan. Mereka boleh isian separa, jadi reka saiz dan perimbangan semula dengan sewajarnya. SDK CLOB mendedahkan pembantu untuk membuat pesanan pasaran FAK.
Bagaimana saya mengira yuran apabila menukar saiz dagangan?
Tolak jangkaan yuran taker daripada edge kasar sebelum berdagang. Yuran taker berubah mengikut kategori (0% hingga 1.8% pada masa ini). Gunakan ambang edge bersih yang menampung yuran ditambah jangkaan slippage dan penimbal pemantauan.
Apakah pemantauan yang penting untuk bot langsung?
Pantau kadar isian, slippage terrealiasi, latensi, notis pertikaian UMA, acara tick_size_change, dan kesihatan Relayer. Laksanakan suis hentian lembut dan keras untuk slippage besar, kejatuhan P&L, atau pertikaian oracle.
Bolehkah saya menghala pesanan melalui Builder Program?
Ya. Builder Program membolehkan pihak ketiga menghala pesanan dengan atribusi dan memperoleh yuran builder. Tier mengawal had relayer harian dan ganjaran; kelayakan diperoleh di polymarket.com/settings.
Istilah dirujuk
Panduan berkaitan
Untuk tujuan pendidikan sahaja. Bukan nasihat kewangan, undang-undang atau cukai. Polymarket mungkin tidak tersedia di bidang kuasa anda.