آموزش 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.
| Sport | Primary | Backup | Update cadence |
|---|---|---|---|
| NFL | ESPN scoreboard | NFL.com feed | ~10s during play |
| NBA | ESPN scoreboard | stats.nba.com | ~10s during play |
| Soccer (EPL/UCL) | ESPN scoreboard | SofaScore | ~15-30s |
| Tennis (ATP/WTA) | ESPN scoreboard | tennis.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 نیست.





