पॉलीमार्केट Bot ट्यूटोरियल · अध्याय 25 / 32
पॉलीमार्केट पर sports market bots: NFL weekly games, NBA tag (745) microstructure, soccer (Premier League, Bundesliga, Champions League), tennis (864) - liquidity, edge sources, code patterns.
इस अध्याय में क्या शामिल है
NFL, NBA, Soccer, और Tennis, category के हिसाब से पॉलीमार्केट के सबसे बड़े sports volumes हैं। हर एक की data availability, cadence, और edge profile अलग है। यह chapter league-specific bot patterns और उन tag IDs को कवर करता है जिन पर आप filter करेंगे।
- NFL: साप्ताहिक लय, रविवार को पीक लिक्विडिटी
- NBA (tag 745): इन-गेम माइक्रोस्ट्रक्चर
- Soccer: इंटरनेशनल बनाम क्लब लीग
- Tennis (tag 864): टूर्नामेंट लय
- टिकने वाले बढ़त के स्रोत
- लाइव डेटा: ESPN, official APIs
- नमूना बॉट: प्री-गेम लाइन कैचर
NFL: साप्ताहिक लय, रविवार को पीक लिक्विडिटी
NFL में पॉलीमार्केट के किसी भी sport की तुलना में सबसे मजबूत weekly rhythm होता है। Markets पिछले हफ्ते के games के बाद Tuesday को खुलते हैं, line-shop Wednesday-Friday होता है, betting volume Saturday-Sunday को peak करता है। Resolution आमतौर पर early games के लिए Sunday night, और late one के लिए Monday night होती है।
Bot pattern: opening line set होने पर Tuesday-Wednesday line-catcher, peak volume के दौरान Sunday in-play। हर window के लिए अलग bots। Monday Night Football market में अक्सर दूसरे games की तुलना में volume पतला होता है - छोटे-size entries पर higher slippage risk के लिए तैयार रहें।
Volume peak Super Bowl में होता है: game week में सभी SB markets में $50M+ traded होता है। उस week में $100 का bot भी irrelevant noise होता है; उस scale पर market efficient होता है।
NBA (tag 745): इन-गेम माइक्रोस्ट्रक्चर
पॉलीमार्केट पर NBA सबसे high-frequency sport है - regular season के दौरान हफ्ते में 25-30 games, playoffs में 5-15। Tag ID 745 सिर्फ NBA events को filter करता है।
NBA में in-game microstructure इसलिए काम करती है क्योंकि: (1) ESPN हर ~10s में scoreboards update करता है, (2) games 2.5 घंटे की continuous action होते हैं, (3) major games के लिए पॉलीमार्केट books 4th quarter तक deep बने रहते हैं।
जो strategy काम करती है: game's WS book + ESPN feed subscribe करें, 10-15 seconds में imbalance + score events पर react करें। जो strategies काम नहीं करतीं: pre-game line catching (काफ़ी efficient है, इसलिए retail को ज़्यादा नहीं मिलता), late-game certainty arbitrage (0.99-trap territory)।
Soccer: इंटरनेशनल बनाम क्लब लीग
पॉलीमार्केट पर Soccer मोटे तौर पर तीन tiers में बंटता है।
- Top European leagues (EPL tag 739, La Liga, Bundesliga, Serie A) - moderate volume, बड़े matches पर deep books। Bot strategies NBA जैसी ही होती हैं।
- Champions League / Europa League (UCL tag 2186) - knockout stages पर peak volume। round-of-16 onward books सबसे deep होते हैं।
- International / smaller leagues (Saudi Pro League, MLS, J-League) - thin books, बड़े spreads। आमतौर पर bot territory नहीं।
Soccer की discrete scoring (0-1 goals बहुत बड़े events होते हैं) इसे NBA के continuous flow से अलग बनाती है। Soccer के लिए bot pattern है: goal score होने से पहले सही side पर रहें, और goal fire होते ही fast exit करें।
Tennis (tag 864): टूर्नामेंट लय
Tennis tag 864। ATP और WTA tours साल में 11 महीने खेलते हैं, और Grand Slams Jan (Australian Open), May-Jun (French Open), Jul (Wimbledon), और Aug-Sep (US Open) में होते हैं। Volume इन चार weeks plus Masters 1000 series में concentrate होता है।
Tennis में किसी भी sport की तुलना में सबसे साफ in-play price ladders होते हैं (chapter 15)। Mid-match prices set-and-break states से जुड़े predictable curves follow करते हैं। Tennis-specific price ladder model वाला bot real time में mispricing detect कर सकता है।
Quiet windows: Grand Slams के बीच, जिन weeks में केवल ATP 250 / ATP 500 tournaments होते हैं, books बहुत thin होते हैं। इन दौरान bot pause करें या किसी दूसरी sport पर shift करें।
टिकने वाले बढ़त के स्रोत
इन चारों sports में, लंबे समय तक टिकने वाले edges ये हैं:
- Pre-game line shop sharper venue के number के खिलाफ (Pinnacle, Betfair)। जब पॉलीमार्केट किसी sharp book से > 3c तक disagree करे, तो पॉलीमार्केट को fade करें।
- In-play overreaction किसी single play पर (interception, injury, momentum shift)। play के बाद 30-60 seconds wait करें, अगर market overshot हो तो fade करें।
- Late-game heavy favorites at 0.85-0.92 risk-managed sizing के साथ। 0.85 से नीचे = real risk; 0.92 से ऊपर = 0.99 trap।
जो edges टिकते नहीं: prices पर pure technical analysis, Twitter sentiment scraping, calendar-based seasonal effects।
लाइव डेटा: ESPN, official APIs
चारों sports के लिए data source matrix।
| खेल | प्राइमरी | बैकअप | Update cadence |
|---|---|---|---|
| NFL | ESPN scoreboard | NFL.com feed | खेल के दौरान ~10s |
| NBA | ESPN scoreboard | stats.nba.com | खेल के दौरान ~10s |
| Soccer (EPL/UCL) | ESPN scoreboard | SofaScore | ~15-30s |
| Tennis (ATP/WTA) | ESPN scoreboard | tennis.com live | ~30s (point-level) |
ESPN सभी चारों के लिए free और reliable है। sub-10s updates के लिए specialized feed (StatsPerform, GeniusSports) का भुगतान करें - लेकिन retail के लिए marginal latency improvement अक्सर cost justify नहीं करता।
नमूना बॉट: प्री-गेम लाइन कैचर
संदर्भ: pre-game line-catcher pseudocode.
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)
Caveats: Pinnacle / Betfair APIs के लिए accounts चाहिए; ये free नहीं हैं। sharp reference के बिना line-catching opinion vs opinion बन जाता है, और वह bot territory नहीं है।


