آموزش Polymarket Bot · فصل 16 از 32

آربیتراژ آماری در Polymarket: جفت‌های cross-market (رویدادهای همبسته)، اسپردهای Polymarket در برابر Kalshi، mean reversion، و اینکه چگونه وقتی بازارها در نهایت resolve می‌شوند، موقعیت‌های stat-arb را اندازه‌گذاری کنیم.

این فصل چه چیزهایی را پوشش می‌دهد

آربیتراژ آماری در Polymarket از mispricingهای گذرا بین بازارهای همبسته بهره می‌برد - همان رویداد در Polymarket در برابر Kalshi، یا بازارهای مرتبط درون خود Polymarket. این edgeها کوچک‌اند (معمولاً 1 تا 3 سنت) و از نظر عملیاتی شکننده‌اند. این فصل صادقانه توضیح می‌دهد چه چیزی کار می‌کند، چه چیزی نه، و ریسک اجرای چند-لِگ که بیشتر تلاش‌ها را از بین می‌برد.

آربیتراژ آماری cross-market از ناسازگاری‌های موقتی قیمت‌گذاری بین Polymarket و Kalshi، Polymarket و Manifold، یا بین بازارهای همبسته درون Polymarket استفاده می‌کند. این edgeها کوچک‌اند (معمولاً 1 تا 3 سنت) و به اجرای سریع در هر دو لِگ نیاز دارند. این فصل یک playbook صادقانه است، شامل پیچیدگی‌های عملیاتی‌ای که بیشتر تلاش‌ها را از بین می‌برد.

  • stat-arb در prediction markets یعنی چه
  • نمونه‌های spread بین Polymarket و Kalshi
  • Pairs درون Polymarket (رویدادهای همبسته)
  • Mean reversion در برابر trend continuation
  • Sizing برای بازارهای resolve‌شونده (نه دائمی)
  • ریسک: divergence پس از resolution
  • کد: pairs monitor و threshold-trigger

stat-arb در prediction markets یعنی چه

آربیتراژ آماری در prediction markets یعنی معامله روی spread بین دو بازاری که باید به‌صورت سازگار قیمت‌گذاری شوند. در Polymarket سه شکل رایج وجود دارد.

  • Cross-venue: همان رویداد در Polymarket و Kalshi (یا Manifold، PredictIt). قیمت‌ها باید به هم نزدیک شوند؛ در عمل 2 تا 5 سنت drift می‌کنند.
  • Same-event-pair: parent در برابر مجموع legها در بازارهای چند-خروجی NegRisk. invariant مجموع به 1 به شما اجازه می‌دهد وقتی جمع legها کمتر از 1.0 است arbitrate کنید.
  • Correlated-event-pair: دو بازار درباره outcomes مرتبط (مثلاً «Trump president on Jan 1» در برابر «Trump president on Mar 1»). باید با اختلافی حدود 2 تا 3 سنت نسبت به هم قیمت‌گذاری شوند.

این edgeها کوچک‌اند. پیچیدگی عملیاتی واقعی است. بیشتر تلاش‌ها در مرحله اجرا شکست می‌خورند، نه در تئوری.

نمونه‌های spread بین Polymarket و Kalshi

بر اساس مشاهدات در 2025-26، Polymarket و Kalshi همان رویدادهای مهم آمریکا را لیست می‌کنند، اما به‌طور پایدار با اختلاف 1 تا 4 سنت قیمت می‌خورند. این شکاف به دلایل ساختاری وجود دارد که باید در هر arb مدل شوند.

عوامل ساختاری:

  • Fee asymmetry: Kalshi روی trades برنده 4 تا 7٪ کارمزد می‌گیرد (بسته به بازار متغیر است)؛ Polymarket هیچ taker fee ندارد. محاسبات arb باید اثر bite Kalshi را خالص‌سازی کنند.
  • Settlement risk premium: وقتی resolution یک بازار مبهم است، ممکن است UMA یک venue با داوران venue دیگر متفاوت resolve شود. بازار این ریسک را قیمت‌گذاری می‌کند.
  • Trader population: Polymarket بیشتر جوان و crypto-native است؛ Kalshi بیشتر حرفه‌ای / hedge. آن‌ها به‌صورت سیستماتیک با هم درباره همان رویدادها اختلاف‌نظر دارند.

این arb وقتی کار می‌کند که gap از premium ساختاری به‌علاوه feeها بیشتر باشد. یک gap پنج‌سنتی در بازاری که structural premium آن 1c و feeهای ترکیبی 1c است، یک edge واقعی 3c محسوب می‌شود.

Pairs درون Polymarket (رویدادهای همبسته)

درون Polymarket، pairs مربوط به رویدادهای همبسته معمولاً راحت‌تر از cross-venue قابل arb هستند. ساختار fee یکسان است، wallet یکی است، و اجرای atomic امکان‌پذیر است.

نمونه‌هایی که به‌طور مداوم ناسازگار قیمت می‌خورند:

  • Trump president on date A در برابر Trump president on date B (وقتی B کمتر از 90 روز بعد از A باشد).
  • Will Bitcoin hit $100k by July 31 در برابر $100k by August 31.
  • لگ‌های Yes در برابر No روی همان binary market (مجموع باید = 1.0 باشد؛ گاهی در order bookهای کم‌عمق تا 1.04 هم drift می‌کند).

arb مربوط به Yes+No=1 تمیزترین حالت است: هر دو leg را از همان market بخوانید، اگر مجموع زیر 0.97 آمد روی هر دو FOK بزنید (با درنظرگرفتن spread tax). سرمایه موردنیاز در هر leg تقریباً برابر است؛ اجرای atomic زمانی رخ می‌دهد که هر دو fill در همان response برگردند.

Mean reversion در برابر trend continuation

دو regime برای stat-arb وجود دارد. Mean reversion: pair از هم فاصله گرفته چون یک دلیل نویزی وجود داشته؛ شما روی convergence شرط می‌بندید. Trend continuation: pair به‌خاطر ورود اطلاعات جدید شروع به diverge کردن کرده؛ شما روی divergence بیشتر شرط می‌بندید.

تشخیص این دو سخت‌ترین بخش است. Heuristic: اگر divergence با volume قابل‌مشاهده رخ داده باشد (یک whale یک leg را از book عبور داده)، آن خبر است - فقط اگر model دارید آن را fade کنید. اگر به‌آرامی و با volume پایین drift کرده باشد، نویز است - با اطمینان روی reversion trade کنید.

برای سازندگان تازه: فقط mean reversion معامله کنید، آن هم روی pairهایی که divergence آن‌ها کمتر از 1 standard deviation از drift تاریخی است. Trend continuation به مدلی نیاز دارد که خبر را تشخیص دهد؛ بدون آن، دارید خلاف flow آگاهانه معامله می‌کنید.

Sizing برای بازارهای resolve‌شونده (نه perpetual)

Prediction markets resolve می‌شوند. جفت‌های crypto این‌طور نیستند. این موضوع math را عوض می‌کند.

یک موقعیت pair-arb در Polymarket برنامه پرداخت ثابت دارد: وقتی هر دو بازار resolve شدند، اختلاف بین spread پیش‌بینی‌شده و spread واقعی قفل می‌شود. هیچ rollingای وجود ندارد، هیچ holding بی‌نهایتی هم نیست.

پیامد sizing: حداکثر مقداری که می‌توانید نگه دارید با time-to-resolution محدود می‌شود، چون سرمایه تا آن زمان قفل است. یک pair که در 6 ماه resolve می‌شود می‌تواند به شما 3c به ازای هر share سود بدهد، اما اگر هر دو بازار fully sized باشند، در این فاصله نمی‌توانید سرمایه بیشتری به کار بگیرید.

چارچوب درست این است: stat-arb در Polymarket مجموعه‌ای از trades با زمان محدود است، نه یک strategy پیوسته. PnL به ازای هر واحد سرمایه قفل‌شده در روز را مقایسه کنید، نه gross PnL را.

ریسک: divergence پس از resolution

بدترین outcome در stat-arb این است که پیش‌بینیِ convergence شما اشتباه از آب دربیاید چون premise اصلی غلط بوده است. مثال‌ها:

  • شما «Trump president on Apr 1» را short کرده‌اید با این انتظار که به «Trump president on Mar 1» converge کند - اما market مربوط به date 1 روی YES resolve می‌شود و market مربوط به date 2 روی NO، به‌دلیل یک impeachment در ماه مارس. thesis شما که «spread باید تخت بماند» اشتباه بوده است.
  • شما روی همان NBA Finals winner بین Polymarket و Kalshi arb کرده‌اید. Polymarket به تیمی resolve می‌شود که سری رسمی را برده؛ Kalshi بر اساس تعریف کمی متفاوتی resolve می‌شود که tie-breakerهای overtime را متفاوت لحاظ می‌کند. هر دو طبق terms خودشان YES resolve می‌شوند، اما در جهت‌های مخالف.

شرایط resolution هر market را با دقت بخوانید. Cross-venue arb فقط یک mismatch در resolution فاصله دارد تا هر دو leg کاملاً از دست بروند.

کد: pairs monitor و threshold-trigger

مرجع: دو token همبسته را monitor کنید و وقتی spread از threshold عبور کرد arb را اجرا کنید.

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 حیاتی است. بدون آن، اجرای ناقص bot را به‌صورت directional در معرض ریسک قرار می‌دهد، که دقیقاً خلاف هدف stat-arb است.

سؤالات متداول

آیا می‌توانم بین Polymarket و Kalshi آربیتراژ کنم؟
بله، وقتی همان رویداد در هر دو معامله می‌شود. اختلاف‌های 2 تا 5 سنتی بین این دو exchange به‌خاطر تفاوت‌های regulatory، ساختار feeها، و تفاوت مخاطبان باقی می‌ماند. نکته این است: Kalshi فقط برای US است و KYC-gated، بنابراین به حساب در هر دو نیاز دارید - برای setup به /fa/guide/polymarket-vs-kalshi/ مراجعه کنید. این spread arbitrage واقعی است اما از نظر عملیاتی سنگین است.
pairs trade در context Polymarket چیست؟
دو بازار همبسته که نسبت قیمت آن‌ها mean-revert می‌کند. مثال: «Trump wins 2028» و «Republicans win 2028 House» - اگر trade مربوط به Trump پنج درصد جهش کند اما trade مربوط به House تکان نخورده باشد، bot با این فرض که نسبت دوباره برمی‌گردد House را می‌خرد و Trump را می‌فروشد (یا برعکس). edge کوچک است اما در بازارهای سیاسی نقدشونده پایدار است.
چطور یک موقعیت stat-arb را وقتی هر دو market resolve می‌شوند size می‌کنید؟
بر اساس بزرگ‌ترین divergence مورد انتظار size کنید - اگر model شما می‌گوید spread می‌تواند قبل از reversion تا 8 سنت بیشتر باز شود، size را طوری تنظیم کنید که 8 سنت widening از loss limit شما عبور نکند. هر pair را یک trade مستقل با یک loss limit سخت در نظر بگیرید. stat-arb که وانمود می‌کند پول مجانی است، همان چیزی است که حساب‌ها را نابود می‌کند.
آیا arb بین Polymarket و Kalshi پایدار است؟
بله، اما با گسترش تعداد botهایی که آن را کشف می‌کنند در حال کوچک‌تر شدن است. تا 2026 هنوز هم spreadهای 1 تا 3 سنتی روی بازارهای سیاسی نقدشونده برای ساعت‌ها باقی می‌مانند. بازارهای sports spreadهای باریک‌تری دارند. tail marketها (کم‌حجم) spreadهای عریض‌تری دارند اما معامله‌کردن‌شان از نظر اقتصادی به‌صرفه نیست.
اگر هر دو market تا زمان resolution از هم دور شوند چه می‌شود؟
pairs trade بر اساس outcomeهای واقعی به full PnL خود می‌رسد - به همین دلیل pair trading در prediction markets ذاتاً bounded است (برخلاف perpetuals که divergence می‌تواند برای همیشه بزرگ‌تر شود). ضرر خالص روی یک pairs trade به اختلاف قیمت در لحظه ورود محدود می‌شود، نه بی‌نهایت.
چه ابزارهایی به پیدا کردن Polymarket pairs کمک می‌کنند؟
یک correlation matrix روی بازارهای فعال نقطه شروع است. آن را از price historyهای 30 روزه که از gamma+CLOB گرفته‌اید بسازید. به‌دنبال pairهایی باشید که در تاریخچه rho > 0.7 دارند و در حال حاضر نسبت به ratio معمول خود mispriced هستند. matrix را هفتگی به‌روزرسانی کنید - correlations decay می‌کنند.