Polymarket Bot Tutorial · Bab 14 dari 32
News arbitrage di Polymarket: cara mengalahkan market pada headlines, source feeds (RSS/Twitter/AP), latency budgets, false-positive filters, dan kapan news edge mati menjadi market price.
Apa yang dibahas dalam chapter ini
News arbitrage adalah strategi trading berdasarkan public information lebih cepat daripada market melakukan repricing. Edge-nya nyata tetapi sempit - sebagian besar "news" sudah tercermin di price saat manusia sempat membacanya. Chapter ini membahas source mana yang benar-benar mengalahkan market, latency budget yang mendefinisikan strategi ini, dan false-positive filter yang tanpanya bot akan trading pada setiap retweet.
- Seperti apa information edge
- News sources: RSS, Twitter, AP, official feeds
- Latency budget: read-to-trade di bawah 2 detik
- False-positive filters
- Kapan news edge mati
- Code: polling news feed dan memasang FOK pada market yang relevan
- Risk: half-truths dan headline yang ditarik kembali
Seperti apa information edge
News arbitrage berarti trading berdasarkan public information lebih cepat daripada market melakukan repricing. Edge ini ada dalam jendela sempit - biasanya 30-300 detik - antara sebuah fakta menjadi publik dan Polymarket merefleksikannya.
Agar edge ini benar-benar nyata, tiga hal harus benar. Pertama, news source harus lebih cepat daripada median Polymarket trader (Twitter lebih cepat daripada mainstream press; AP wire lebih cepat daripada Twitter). Kedua, berita harus tidak ambigu (pengumuman cedera, putusan pengadilan) - interpretasi menghabiskan latency. Ketiga, market harus cukup lebar sehingga pergerakan price sepadan dengan spread tax.
Bot yang memburu edge ini terbagi menjadi dua kubu: mereka yang berlangganan direct source dan melakukan parsing, dan mereka yang mengamati pergerakan price yang tidak biasa di Polymarket lalu menyimpulkan bahwa berita telah terjadi. Keduanya valid; yang pertama memimpin, yang kedua mengikuti.
News sources: RSS, Twitter, AP, official feeds
Source diurutkan berdasarkan latency menuju public-information-status, tercepat dulu.
- Direct primary sources: filing pengadilan, press release pemerintah, pengumuman bank sentral. Sering memiliki public RSS atau API. Paling cepat, false-positive rate paling rendah.
- AP wire / Reuters Eikon (paid). Wire yang digunakan trader tradisional. Lead ~5-30 detik dibanding consumer Twitter.
- Twitter (X, paid API). Daftar verified accounts: official org accounts, beat reporters. Free API terlalu ketat rate limit-nya; bayar Pro tier atau gunakan relay service.
- Specialized newsletters / Discord: paid Substacks, industry feed yang di-embargo. Berguna untuk niche market (crypto, esports).
- Mainstream press websites: terlalu lambat untuk edge news-arb.
RSS untuk semua yang menyediakan RSS - gratis, polling interval-nya andal. Twitter untuk sisanya. AP untuk news desk yang serius soal production.
Latency budget: read-to-trade di bawah 2 detik
Bot perlu ingest, classify, decide, dan memasang order dalam total 1-2 detik. Budget:
- Ingest: 50-300ms (websocket feed, RSS poll, Twitter stream).
- Classify: 50-200ms (regex / keyword match, opsional LLM jika prompt di-cache).
- Decide: 50ms (rules table lookup; mapping dari news tag ke market slug).
- Place: 200-500ms (FOK signed order ke CLOB).
Pemakan budget terbesar adalah LLM classification. Panggilan GPT-4 500 token menambah 1-3 detik; itu berarti seluruh arb window hilang. Untuk production, lakukan classify dengan keyword rules; gunakan LLM hanya untuk offline calibration dari set keyword.
False-positive filters
News-arb bot yang tidak memfilter false positive akan trading pada setiap retweet dan bocor lewat spread tax. Tiga filter.
- Source whitelist: hanya bertindak pada account/feed dalam daftar yang sudah disetujui. Daftarnya kecil (10-30 source).
- Keyword + confirmation pair: satu keyword match saja adalah noise; match pada dua source independen dalam 30 detik adalah signal.
- Market-state guard: lewati market yang sudah bergerak > 5% dalam 60 detik terakhir - orang lain lebih dulu menangkap beritanya, edge-nya sudah hilang.
False-positive rate dari filter yang disetel dengan baik: sekitar 1 dari 5-10. False-positive rate 90% menghancurkan strategi; 50% masih bisa dijalankan dengan position size kecil.
Kapan news edge mati
Jendela dari "news publik" ke "price mencerminkan news" semakin cepat menutup tiap tahun. Pada 2020, market politik dengan harga menengah butuh beberapa menit untuk menyerap headline. Pada 2026, headline yang sama terkompresi menjadi 30-90 detik sebelum price benar-benar bergerak penuh.
Tanda-tanda edge sudah mati: per-trade PnL pada flagged trades turun dari +3c menjadi datar dalam window 30 trade; rate false positive yang ternyata sudah tercermin di price naik di atas 70%; market menyentuh ask FOK Anda dalam 200ms karena orang lain sudah lebih dulu sampai.
Pivot yang jujur saat edge mati: pindah ke news yang lebih lambat dan lebih interpretatif (putusan pengadilan, notulen rapat bank sentral) di mana memahami maknanya lebih lama daripada race latency. Atau hentikan strategi ini.
Code: polling news feed dan memasang FOK pada market yang relevan
Kerangka production: polling news source, menjalankan rule match, menembakkan order FOK pada hit.
import feedparser, time, re
from py_clob_client.client import ClobClient
RULES = [
{"regex": re.compile(r"out for season|torn ACL", re.I), "tag":"injury-fade"},
{"regex": re.compile(r"federal reserve.*(rate cut|rate hike)", re.I), "tag":"fed-move"},
]
seen = set()
while True:
feed = feedparser.parse("https://example.com/news.rss")
for entry in feed.entries[:20]:
if entry.id in seen: continue
seen.add(entry.id)
for rule in RULES:
if rule["regex"].search(entry.title + " " + entry.summary):
# Look up relevant Polymarket markets, place FOK
fire(rule["tag"], entry)
break
time.sleep(15)
Polling interval: 5-15 detik untuk RSS. Gunakan WebSocket jika tersedia (Twitter, AP wire). Selalu dedup berdasarkan ID yang disediakan source; jangan pernah menganggap polling berjalan exactly-once.
Risk: half-truths dan headline yang ditarik kembali
Hari terburuk untuk news-arb bot adalah ketika sebuah headline ternyata salah. Contoh: tweet Reuters berkata "Trump fires Yellen," market naik 8 cent, 12 menit kemudian tweet dihapus dan dikoreksi. Bot yang membeli di +8c sekarang memegang inventory di -3c tanpa jalan keluar.
Pertahanan:
- Two-source confirmation: jangan pernah trading berdasarkan satu tweet; minta sinyal pendukung dari source independen kedua dalam 60-180 detik.
- Position size scaled to source confidence: AP wire = full size; Twitter dari verified beat reporter = 50%; rumor source = 25%.
- Auto-exit on retraction signal: jika source yang Anda gunakan mengeluarkan koreksi dalam 30 menit, keluar pada market apa pun hasilnya terlepas dari PnL.
Masalah walk-back adalah batas keras untuk position sizing news-arb. Trading $50 per signal memungkinkan Anda bertahan dari false-positive rate 30%; trading $500 tidak.





