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

ربات‌های sports market در Polymarket: بازی‌های هفتگی NFL، microstructure تگ NBA (745)، soccer (Premier League، Bundesliga، Champions League)، tennis (864) - liquidity، منابع edge، الگوهای code.

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

NFL، NBA، Soccer و Tennis بزرگ‌ترین volumeهای ورزشی Polymarket به تفکیک category هستند. هرکدام data availability، cadence و edge profile مخصوص خودشان را دارند. این فصل الگوهای bot مخصوص هر league و tag IDهایی را که باید روی آن‌ها filter کنید پوشش می‌دهد.

  • NFL: cadence هفتگی، peak liquidity در Sunday
  • NBA (tag 745): microstructure درون‌game
  • Soccer: لیگ‌های بین‌المللی در برابر club leagueها
  • Tennis (tag 864): cadence تورنمنت
  • منابع edge که دوام می‌آورند
  • data زنده: ESPN، official APIها
  • نمونه bot: pre-game line catcher

NFL: cadence هفتگی، peak liquidity در Sunday

NFL قوی‌ترین rhythm هفتگی را در میان تمام sportهای Polymarket دارد. marketها سه‌شنبه بعد از بازی‌های هفته قبل باز می‌شوند، line-shop از Wednesday تا Friday انجام می‌شود، و betting volume در Saturday-Sunday به اوج می‌رسد. settlement معمولاً برای بازی‌های زودهنگام Sunday night و برای بازی دیرهنگام، Monday night انجام می‌شود.

الگوی bot: line-catcher در Tuesday-Wednesday وقتی opening line تعیین می‌شود، و in-play در Sunday هنگام peak volume. برای هر window bot جداگانه لازم است. market بازی Monday Night Football اغلب volume کمتری نسبت به بازی‌های دیگر دارد - دقت کنید که روی entryهای کوچک slippage risk بالاتری دارد.

اوج volume مربوط به Super Bowl است: بیش از $50M در تمام marketهای SB در هفته بازی معامله می‌شود. حتی یک bot صد دلاری در آن هفته عملاً نویز بی‌اهمیت است؛ market در آن مقیاس efficient است.

NBA (tag 745): microstructure درون‌game

NBA پرفرکانس‌ترین sport در Polymarket است - 25 تا 30 بازی در هفته در فصل regular season، و 5 تا 15 بازی در playoffs. tag ID 745 eventهای فقط NBA را filter می‌کند.

microstructure درون‌game در NBA جواب می‌دهد چون: (1) ESPN scoreboardها را تقریباً هر 10 ثانیه update می‌کند، (2) بازی‌ها 2.5 ساعت action پیوسته دارند، (3) دفترهای Polymarket برای بازی‌های مهم تا quarter چهارم عمیق باقی می‌مانند.

استراتژی‌ای که کار می‌کند: subscribe به WS book یک بازی + ESPN feed، و واکنش به imbalance + رویدادهای score در 10 تا 15 ثانیه. استراتژی‌هایی که کار نمی‌کنند: line catching پیش از بازی (به‌اندازه‌ای efficient است که retail خیلی چیزی شکار نمی‌کند)، و arbitrage قطعیت در پایان بازی (قلمرو تله 0.99).

Soccer: لیگ‌های بین‌المللی در برابر club leagueها

Soccer در Polymarket به‌طور تقریبی به سه tier تقسیم می‌شود.

  • Top European leagues (EPL tag 739، La Liga، Bundesliga، Serie A) - volume متوسط، کتاب‌های عمیق برای بازی‌های بزرگ. استراتژی‌های bot مشابه NBA هستند.
  • Champions League / Europa League (UCL tag 2186) - اوج volume در مرحله knockout. کتاب‌ها از round-of-16 به بعد عمیق‌تر می‌شوند.
  • International / smaller leagues (Saudi Pro League، MLS، J-League) - bookهای کم‌عمق، spreadهای بزرگ. معمولاً territory مناسب bot نیستند.

گل‌زنی گسسته در soccer (0-1 گل رویدادهای بسیار مهمی هستند) آن را از جریان پیوسته NBA متفاوت می‌کند. الگوی bot برای soccer این است: قبل از اینکه گل زده شود در سمت درست باشید، و بعد از وقوع گل سریع خارج شوید.

Tennis (tag 864): cadence تورنمنت

تگ Tennis برابر 864 است. تور ATP و WTA در 11 ماه سال برگزار می‌شود، با Grand Slamها در Jan (Australian Open)، May-Jun (French Open)، Jul (Wimbledon)، و Aug-Sep (US Open). volume در همین چهار بازه و همچنین در سری Masters 1000 متمرکز می‌شود.

Tennis تمیزترین price ladder درون‌game را در میان همه sportها دارد (فصل 15). قیمت‌های mid-match از curveهای قابل‌پیش‌بینی بر اساس set و break state پیروی می‌کنند. یک bot با مدل price ladder مخصوص tennis می‌تواند mispricing را در لحظه تشخیص دهد.

بازه‌های خلوت: بین Grand Slamها، هفته‌هایی که فقط تورنمنت‌های ATP 250 / ATP 500 برگزار می‌شوند، bookها بسیار کم‌عمق هستند. در این دوره‌ها bot را متوقف کنید یا آن را به sport دیگری منتقل کنید.

منابع edge که دوام می‌آورند

در هر چهار sport، edgeهایی که در طول زمان دوام می‌آورند عبارت‌اند از:

  • Pre-game line shop در برابر number یک venue sharp‌تر (Pinnacle، Betfair). وقتی Polymarket بیش از 3c با یک sharp book اختلاف دارد، Polymarket را fade کنید.
  • Overreaction درون‌game به یک play واحد (interception، injury، momentum shift). 30 تا 60 ثانیه بعد از play صبر کنید، و اگر market بیش‌ازحد حرکت کرده بود fade کنید.
  • Late-game heavy favorites در بازه 0.85 تا 0.92 با sizing مدیریت‌شده. زیر 0.85 = risk واقعی؛ بالای 0.92 = تله 0.99.

Edgeهایی که دوام نمی‌آورند: pure technical analysis روی priceها، sentiment scraping از Twitter، اثرهای فصلی مبتنی بر calendar.

data زنده: ESPN، official APIها

matrix منبع data برای این چهار sport.

SportPrimaryBackupUpdate cadence
NFLESPN scoreboardNFL.com feed~10s during play
NBAESPN scoreboardstats.nba.com~10s during play
Soccer (EPL/UCL)ESPN scoreboardSofaScore~15-30s
Tennis (ATP/WTA)ESPN scoreboardtennis.com live~30s (point-level)

ESPN برای هر چهار sport رایگان و قابل‌اعتماد است. برای updateهای زیر 10 ثانیه باید برای یک feed تخصصی هزینه کنید (StatsPerform، GeniusSports) - اما بهبود حاشیه‌ای latency به‌ندرت برای retail هزینه را توجیه می‌کند.

نمونه bot: pre-game line catcher

Reference: pseudocode مربوط به pre-game line-catcher.

def line_catcher():
    # Find games starting in the next 2-12 hours
    events = gamma_events(tag_id=745, hours_ahead=12)
    for ev in events:
        for m in ev["markets"]:
            polymarket_prob = float(json.loads(m["outcomePrices"])[0])
            sharp_prob = fetch_pinnacle_implied(ev["slug"])  # 3rd-party feed
            if sharp_prob - polymarket_prob > 0.04:
                # Polymarket has the YES side cheap vs sharp
                tok = json.loads(m["clobTokenIds"])[0]
                place_fok(tok, "BUY", polymarket_prob + 0.01, size=10)
            elif polymarket_prob - sharp_prob > 0.04:
                # Polymarket has the NO side cheap vs sharp
                tok = json.loads(m["clobTokenIds"])[1]
                place_fok(tok, "BUY", 1 - polymarket_prob + 0.01, size=10)

نکات احتیاطی: APIهای Pinnacle / Betfair نیاز به account دارند؛ رایگان نیستند. بدون reference از یک sharp book، line-catching به opinion در برابر opinion تبدیل می‌شود، که territory مناسب bot نیست.

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

کدام sport بیشترین volume را در Polymarket دارد؟
بسته به season متفاوت است. NFL در Sunday game dayها پیشتاز است. NBA (tag_id 745 تأییدشده) در weeknightهای فصل regular season پیشتاز می‌شود. Soccer (بدون یک tag واحد) در هفته‌های Champions League و World Cup پیشتاز است. Tennis (tag_id 864 تأییدشده) در دو هفته Grand Slam جهش می‌کند. botهای چند-sport از این چرخش دائمی سود می‌برند.
marketهای ورزشی pre-game سودآورترند یا in-game؟
Pre-game: قیمت‌گذاری آسان‌تر است (زمان بیشتر برای research، نویز in-game کمتر)، اما spreadها تنگ‌ترند و در برابر oddsهای sportsbook رقابتی‌اند. In-game: سخت‌تر است، به data زنده نیاز دارد، اما در نوسان‌های احساسی mispricingهای بزرگ‌تری رخ می‌دهد (بعد از touchdown، یا پس از یک shot از دست‌رفته).
برای bot، data زنده ورزشی را از کجا سریع بگیرم؟
endpointهای JSON غیررسمی ESPN.com برای major sportهای آمریکایی. The-odds-api.com چندین bookmaker را aggregate می‌کند اما rate limit دارد. Sofascore.com برای soccer و tennis مناسب است. برای data زیر 1 ثانیه: feedهای پولی از Sportradar یا BetGenius حرفه‌ای هستند اما گران‌اند. بیشتر botهای retail با ESPN + خبرنگاران beat در Twitter دوام می‌آورند.
آیا باید به Twitter خبرنگاران beat برای خبرهای زنده اعتماد کنم؟
بیشتر اوقات بله، با caveat. خبرنگاران beat injuryها و lineupها را سریع‌تر از ESPN منتشر می‌کنند. اما rate limitهای Twitter و suspension حساب‌ها، شکاف‌های reliability ایجاد می‌کند. best practice: 5 تا 10 حساب خبرنگار را subscribe کنید، deduplicate انجام دهید، و قبل از trigger شدن روی injuryها حداقل 2 source لازم داشته باشید.
Polymarket sports در مقایسه با sportsbookهای سنتی چه وضعی دارد؟
بدون vig است (در برابر حدود 5 تا 10 درصد در FanDuel/DraftKings) اما liquidity کمتر و spreadها در marketهای کوچک‌تر wider هستند. برای NFL/NBA mainstream، sportsbookهای سنتی معمولاً fill quality بهتری دارند. برای sportهای niche (cricket، rugby، esports)، Polymarket اغلب edge دارد چون کتاب‌های سنتی آن‌ها را underprice می‌کنند.
می‌توانم botهای sports + crypto + politics را هم‌زمان اجرا کنم؟
بله، و این از نظر portfolio construction خوب است. sports، politics و crypto correlation پایینی دارند - diversification بین آن‌ها نوسان روزانه PnL را هموار می‌کند. نکته: هر strategy به risk budget جداگانه نیاز دارد، نه یک budget مشترک.