Polymarket Bot Tutorial · Chương 14 trên 32
News arbitrage trên Polymarket: cách đánh bại thị trường trên các headline, nguồn feed (RSS/Twitter/AP), latency budgets, false-positive filters, và khi news edge chết dần vào giá thị trường.
Chương này bao gồm những gì
News arbitrage là chiến lược giao dịch dựa trên public information nhanh hơn tốc độ thị trường repricing nó. Edge là có thật nhưng rất hẹp - phần lớn "news" đã nằm trong giá vào thời điểm con người đọc xong. Chương này sẽ đề cập những nguồn nào thực sự beat thị trường, latency budget định nghĩa chiến lược, và false-positive filter mà thiếu nó thì bot sẽ trade trên mọi retweet.
- Information edge trông như thế nào
- News sources: RSS, Twitter, AP, official feeds
- Latency budget: từ đọc đến trade trong dưới 2 giây
- False-positive filters
- Khi news edge chết
- Code: poll news feed và đặt FOK trên các thị trường liên quan
- Risk: half-truths và walked-back headlines
Information edge trông như thế nào
News arbitrage nghĩa là trade trên public information nhanh hơn tốc độ thị trường repricing nó. Edge tồn tại trong một cửa sổ hẹp - thường 30-300 giây - giữa lúc một факт trở thành công khai và lúc Polymarket phản ánh nó.
Để edge là thật, ba điều phải đúng. Thứ nhất, nguồn tin phải nhanh hơn median Polymarket trader (Twitter nhanh hơn mainstream press; AP wire nhanh hơn Twitter). Thứ hai, news phải rõ ràng, không mơ hồ (một thông báo chấn thương, một phán quyết của tòa án) - phần diễn giải sẽ ngốn latency. Thứ ba, thị trường phải đủ rộng để biến động giá đủ bù phí spread.
Bot săn edge này thường rơi vào hai nhóm: nhóm subscribe trực tiếp vào nguồn và parse, và nhóm theo dõi một cú move bất thường trên Polymarket rồi suy ra là đã có news. Cả hai đều hợp lý; nhóm thứ nhất đi trước, nhóm thứ hai đi sau.
News sources: RSS, Twitter, AP, official feeds
Sources được xếp hạng theo latency đến trạng thái public-information, nhanh nhất trước.
- Direct primary sources: hồ sơ tòa án, press release của chính phủ, thông báo của central bank. Thường có public RSS hoặc API. Nhanh nhất, false-positive rate thấp nhất.
- AP wire / Reuters Eikon (trả phí). Kênh wire mà traditional traders sử dụng. Nhanh hơn consumer Twitter khoảng ~5-30 giây.
- Twitter (X, API trả phí). Danh sách các tài khoản verified: tài khoản chính thức của tổ chức, beat reporters. API miễn phí bị giới hạn rate quá nhiều; hãy trả phí gói Pro hoặc dùng relay service.
- Specialized newsletters / Discord: paid Substacks, industry feeds có embargo. Hữu ích cho niche markets (crypto, esports).
- Mainstream press websites: quá chậm để tạo news-arb edge.
RSS cho mọi thứ có xuất RSS - miễn phí, polling intervals ổn định. Twitter cho phần còn lại. AP cho news desks nghiêm túc với production.
Latency budget: đọc đến trade trong dưới 2 giây
Bot cần ingest, classify, quyết định và đặt lệnh trong tổng cộng 1-2 giây. Budget:
- Ingest: 50-300ms (websocket feed, RSS poll, Twitter stream).
- Classify: 50-200ms (regex / keyword match, có thể dùng LLM nếu bạn cache prompt).
- Decide: 50ms (rules table lookup; mapping từ news tag sang market slug).
- Place: 200-500ms (FOK signed order tới CLOB).
Thứ ngốn budget nhiều nhất là LLM classification. Một lệnh GPT-4 500 token sẽ thêm 1-3 giây; thế là toàn bộ arb window biến mất. Trong production, hãy classify bằng keyword rules; chỉ dùng LLM để calibration offline cho bộ keyword.
False-positive filters
News-arb bot không lọc false positive sẽ trade trên mọi retweet và mất tiền qua spread tax. Ba filter.
- Source whitelist: chỉ hành động với các account/feed trong danh sách được phê duyệt trước. Danh sách này nhỏ (10-30 nguồn).
- Keyword + confirmation pair: một keyword match đơn lẻ chỉ là noise; match trên hai nguồn độc lập trong vòng 30 giây mới là signal.
- Market-state guard: bỏ qua các market đã move > 5% trong 60 giây gần nhất - người khác đã bắt được news trước, edge đã mất.
False-positive rate của filter được tinh chỉnh tốt: khoảng 1 trên 5-10. False-positive rate 90% sẽ phá hỏng chiến lược; 50% vẫn có thể dùng được nếu position size nhỏ.
Khi news edge chết
Khoảng thời gian từ lúc "news public" đến lúc "giá phản ánh news" ngày càng ngắn hơn mỗi năm. Năm 2020, các political markets giá trung bình mất vài phút để hấp thụ một headline. Đến năm 2026, cùng những headline đó nén xuống còn 30-90 giây trước khi giá di chuyển hoàn toàn.
Dấu hiệu edge đã chết: PnL mỗi trade trên các trade được đánh dấu giảm từ +3c xuống ngang hòa trong một cửa sổ 30 trade; tỷ lệ false positive hóa ra đã được priced-in trước đó tăng lên trên 70%; market chạm lệnh ask FOK của bạn trong 200ms vì người khác đã vào trước.
Cách pivot trung thực khi edge chết: chuyển sang news chậm hơn, mang tính diễn giải nhiều hơn (court rulings, central bank meeting minutes) nơi việc hiểu ý nghĩa mất thời gian hơn cuộc đua latency. Hoặc ngừng chạy chiến lược.
Code: poll news feed và đặt FOK trên các thị trường liên quan
Production skeleton: poll một news source, chạy rule match, bắn FOK orders khi có 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 intervals: 5-15 giây cho RSS. WebSocket khi có sẵn (Twitter, AP wire). Luôn dedup theo ID do source cung cấp; đừng bao giờ giả định polling là exactly-once.
Risk: half-truths và walked-back headlines
Ngày tệ nhất của news-arb bot là khi một headline hóa ra sai. Ví dụ: một tweet của Reuters nói "Trump fires Yellen," market tăng 8 cents, 12 phút sau tweet bị xóa và sửa lại. Một bot đã mua ở +8c giờ đang giữ inventory ở -3c mà không có đường thoát tốt.
Phòng vệ:
- Two-source confirmation: đừng bao giờ trade chỉ dựa trên một tweet; yêu cầu tín hiệu xác nhận từ nguồn độc lập thứ hai trong vòng 60-180 giây.
- Position size scaled to source confidence: AP wire = full size; Twitter từ một beat reporter verified = 50%; rumor source = 25%.
- Auto-exit on retraction signal: nếu một source bạn dùng phát hành correction trong vòng 30 phút, thoát lệnh theo thị trường bất kể PnL.
Vấn đề walk-back là giới hạn cứng đối với position sizing của news-arb. Trade $50 mỗi signal có thể giúp bạn sống sót qua false-positive rate 30%; trade $500 thì không.





