Polymarket Bot Tutorial · Chương 16/32

Statistical arbitrage trên Polymarket: các cặp cross-market (sự kiện tương quan), spread Polymarket-vs-Kalshi, mean reversion, và cách sizing stat-arb positions khi các market cuối cùng cũng resolve.

Chương này bao gồm gì

Statistical arbitrage trên prediction markets khai thác các mispricing tạm thời giữa những market có tương quan - cùng một sự kiện trên Polymarket và Kalshi, hoặc các market liên quan ngay trong Polymarket. Biên lợi nhuận rất nhỏ (thường 1-3 cent) và dễ bị tổn thương về mặt vận hành. Chương này nói thẳng về cái gì hiệu quả, cái gì không, và rủi ro thực thi nhiều leg có thể làm hỏng hầu hết mọi nỗ lực.

Cross-market statistical arbitrage khai thác các bất nhất tạm thời về giá giữa Polymarket và Kalshi, Polymarket và Manifold, hoặc giữa các market tương quan trong Polymarket. Biên lợi nhuận rất nhỏ (thường 1-3 cent) và đòi hỏi thực thi nhanh ở cả hai leg. Chương này là playbook thẳng thắn, bao gồm cả độ phức tạp vận hành có thể phá hỏng hầu hết nỗ lực.

  • Stat-arb nghĩa là gì trong prediction markets
  • Ví dụ spread Polymarket-vs-Kalshi
  • Các cặp trong Polymarket (sự kiện tương quan)
  • Mean reversion so với trend continuation
  • Quy mô vị thế cho market sẽ resolve (không phải perpetual)
  • Rủi ro: divergence kéo dài đến tận lúc resolution
  • Code: pairs monitor và threshold-trigger

Stat-arb nghĩa là gì trong prediction markets

Statistical arbitrage trong prediction markets có nghĩa là giao dịch spread giữa hai market lẽ ra phải được định giá nhất quán. Trên Polymarket, có ba dạng phổ biến.

  • Cross-venue: cùng một sự kiện trên Polymarket và Kalshi (hoặc Manifold, PredictIt). Giá nên hội tụ; trên thực tế, nó thường lệch 2-5 cent.
  • Same-event-pair: parent so với tổng các leg trong NegRisk multi-outcome market. Bất biến tổng bằng 1 cho phép bạn arb khi tổng các leg nhỏ hơn 1.0.
  • Correlated-event-pair: hai market về các outcome liên quan (ví dụ: “Trump là tổng thống vào ngày 1/1” và “Trump là tổng thống vào ngày 1/3”). Lý tưởng là giá của chúng chênh nhau trong khoảng 2-3 cent.

Biên lợi nhuận rất nhỏ. Độ phức tạp vận hành là có thật. Hầu hết các nỗ lực thất bại ở khâu thực thi, không phải ở lý thuyết.

Ví dụ spread Polymarket-vs-Kalshi

Theo quan sát trong giai đoạn 2025-26, Polymarket và Kalshi niêm yết cùng các sự kiện lớn ở Mỹ nhưng thường có giá lệch nhau 1-4 cent một cách ổn định. Khoảng cách này tồn tại vì các nguyên nhân cấu trúc mà bạn cần mô hình hóa trong bất kỳ arb nào.

Các yếu tố cấu trúc:

  • Fee asymmetry: Kalshi thu 4-7% trên các giao dịch thắng (tùy market); Polymarket không thu taker fee. Công thức arb phải trừ hết phần “cắn” của Kalshi.
  • Settlement risk premium: khi điều kiện resolution của một market mơ hồ, UMA của một venue có thể resolve khác với judges của venue kia. Market đã phản ánh phần rủi ro này vào giá.
  • Trader population: Polymarket có xu hướng trẻ hơn và thiên về crypto-native; Kalshi thiên về professional / hedge. Họ thường bất đồng có hệ thống về cùng một sự kiện.

Arb hoạt động khi khoảng cách vượt quá phí premium cấu trúc cộng với fees. Một gap 5 cent trên market mà structural premium là 1c và tổng fees là 1c thì lợi thế thực là 3c.

Các cặp trong Polymarket (sự kiện tương quan)

Trong Polymarket, các cặp sự kiện tương quan dễ arb hơn cross-venue. Cùng cấu trúc phí, cùng wallet, có thể thực thi atomic.

Ví dụ thường xuyên định giá không nhất quán:

  • Trump là tổng thống vào ngày A so với Trump là tổng thống vào ngày B (trong đó B muộn hơn A < 90 ngày).
  • Bitcoin có chạm $100k trước ngày 31/7 so với trước ngày 31/8.
  • Leg Yes và No của cùng một market nhị phân (tổng phải = 1.0; đôi khi lệch đến 1.04 trong order book mỏng).

Arb Yes+No=1 là sạch nhất: đọc cả hai leg từ cùng một market, bắn FOK cho cả hai nếu tổng xuống dưới 0.97 (để tính spread tax). Vốn yêu cầu gần như bằng nhau ở mỗi leg; thực thi là atomic khi cả hai fill trả về trong cùng một response.

Mean reversion vs trend continuation

Có hai regime stat-arb. Mean reversion: cặp đã tách ra vì nhiễu; bạn đặt cược vào việc hội tụ lại. Trend continuation: cặp bắt đầu diverge vì thông tin mới xuất hiện; bạn đặt cược vào việc tiếp tục divergence.

Điều khó là phân biệt chúng. Heuristic: nếu divergence xảy ra với khối lượng thấy rõ (một whale đã quét một leg của book), đó là news - chỉ fade nếu bạn có model. Nếu nó trôi từ từ với volume thấp, đó là nhiễu - giao dịch reversion với sự tự tin.

Với người mới xây bot: chỉ giao dịch mean reversion, trên các cặp mà divergence nhỏ hơn 1 độ lệch chuẩn của drift lịch sử. Trend continuation đòi hỏi một model bắt được news; nếu không có, bạn đang giao dịch ngược lại informed flow.

Sizing cho market sẽ resolve (không phải perpetual)

Prediction markets sẽ resolve. Crypto pairs thì không. Điều này làm thay đổi công thức.

Một vị thế pair-arb trên Polymarket có lịch thanh toán cố định: khi cả hai market resolve, chênh lệch giữa spread dự đoán và spread thực tế sẽ được khóa lại. Không có rolling, không có thời gian nắm giữ vô hạn.

Hệ quả về sizing: mức tối đa bạn có thể giữ bị giới hạn bởi thời gian tới lúc resolution, vì vốn bị khóa cho đến khi đó. Một cặp resolve trong 6 tháng có thể kiếm cho bạn 3c mỗi share nhưng trong thời gian chờ đợi bạn không thể đưa thêm vốn vào nếu cả hai market đã được size đầy đủ.

Cách hiểu đúng: stat-arb trên Polymarket là một chuỗi giao dịch có thời hạn, không phải một chiến lược liên tục. Hãy so sánh PnL trên mỗi đơn vị vốn bị khóa mỗi ngày, không phải gross PnL.

Rủi ro: divergence kéo dài đến tận lúc resolution

Kịch bản xấu nhất của stat-arb là dự đoán về hội tụ của bạn sai vì giả định nền tảng đã sai. Ví dụ:

  • Bạn short “Trump là tổng thống vào ngày 1/4” với kỳ vọng nó sẽ hội tụ về “Trump là tổng thống vào ngày 1/3” - nhưng market ngày 1 resolve YES và market ngày 2 resolve NO vì một vụ luận tội vào tháng 3. Thesis “spread phải phẳng” của bạn là sai.
  • Bạn arb Polymarket và Kalshi trên cùng một người thắng NBA Finals. Polymarket resolve theo đội thắng theo series chính thức; Kalshi resolve theo một định nghĩa hơi khác, có bao gồm overtime tie-breakers theo cách khác. Cả hai đều resolve YES theo điều khoản của riêng chúng, nhưng theo hai hướng ngược nhau.

Hãy đọc kỹ tiêu chí resolution của từng market. Cross-venue arb chỉ cần lệch một điểm trong logic resolution là có thể thành thua lỗ toàn phần ở cả hai leg.

Code: pairs monitor và threshold-trigger

Tham khảo: theo dõi hai token tương quan, kích hoạt arb khi spread vượt ngưỡng.

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)

Cleanup-on-partial-fill là cực kỳ quan trọng. Nếu không có nó, việc khớp một phần sẽ khiến bot bị phơi exposure theo directional, hoàn toàn ngược với mục đích của stat-arb.

Các câu hỏi thường gặp

Tôi có thể arbitrage giữa Polymarket và Kalshi không?
Có, khi cùng một sự kiện được giao dịch trên cả hai. Các spread 2-5 cent vẫn tồn tại giữa hai exchange vì khác biệt về regulatory, cấu trúc phí và tệp người dùng. Điểm cần lưu ý: Kalshi chỉ dành cho US và yêu cầu KYC, nên bạn cần tài khoản ở cả hai nơi - xem /vi/guide/polymarket-vs-kalshi/ để thiết lập. Spread arbitrage là có thật nhưng nặng về vận hành.
Pairs trade trong bối cảnh Polymarket là gì?
Hai market tương quan mà tỷ lệ giá có xu hướng mean reversion. Ví dụ: “Trump thắng năm 2028” và “Đảng Cộng hòa thắng Hạ viện năm 2028” - nếu trade Trump tăng 5% nhưng trade Hạ viện chưa chạy, bot mua Hạ viện và bán Trump (hoặc ngược lại) với giả định tỷ lệ sẽ quay về. Biên lợi nhuận nhỏ nhưng khá ổn định trong các market chính trị có thanh khoản cao.
Bạn sizing một stat-arb position như thế nào khi cả hai market đều resolve?
Hãy size theo độ divergence lớn nhất mà bạn kỳ vọng - nếu model của bạn nói spread có thể nới rộng thêm 8 cent trước khi quay lại, thì hãy size sao cho kịch bản rộng thêm 8 cent vẫn không vượt quá giới hạn thua lỗ của bạn. Coi mỗi cặp là một trade độc lập với hard loss limit. Stat-arb mà giả vờ là tiền miễn phí thì tài khoản sẽ nổ tung.
Arb Polymarket-Kalshi có tồn tại bền vững không?
Có, nhưng nó đang thu hẹp dần khi nhiều bot phát hiện ra. Trong suốt năm 2026, chúng tôi vẫn thấy các spread 1-3 cent trên những politics market có thanh khoản cao kéo dài hàng giờ. Sports market có spread hẹp hơn. Các tail market (volume thấp) có spread rộng hơn nhưng không kinh tế để giao dịch.
Nếu cả hai market diverge xuyên qua lúc resolution thì sao?
Pairs trade sẽ đi đến PnL đầy đủ dựa trên outcome thực tế - đó là lý do vì sao pair trading trên prediction markets về bản chất là có giới hạn (khác với perpetuals nơi divergence có thể tăng mãi). Net loss của một pairs trade bị giới hạn ở mức chênh lệch giá khi vào lệnh, không phải vô hạn.
Công cụ nào giúp tìm Polymarket pairs?
Một correlation matrix trên các market đang active là điểm khởi đầu. Hãy xây nó từ lịch sử giá 30 ngày lấy từ gamma+CLOB. Tìm những cặp có rho > 0.7 trong quá khứ nhưng hiện đang bị định giá sai so với tỷ lệ điển hình của chúng. Cập nhật matrix hàng tuần - correlations sẽ suy giảm theo thời gian.