Polymarket Bot Tutorial · अध्याय 25 of 32
Polymarket पर 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 के हिसाब से Polymarket के सबसे बड़े sports volumes हैं। हर एक की data availability, cadence, और edge profile अलग है। यह chapter league-specific bot patterns और उन tag IDs को कवर करता है जिन पर आप filter करेंगे।
- NFL: weekly cadence, peak liquidity Sunday
- NBA (tag 745): in-game microstructure
- Soccer: international vs club leagues
- Tennis (tag 864): tournament cadence
- Edge sources that survive
- Live data: ESPN, official APIs
- Sample bot: pre-game line catcher
NFL: weekly cadence, peak liquidity Sunday
NFL में Polymarket के किसी भी 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): in-game microstructure
Polymarket पर 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 के लिए Polymarket 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: international vs club leagues
Polymarket पर 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): tournament cadence
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 करें।
Edge sources that survive
इन चारों sports में, लंबे समय तक टिकने वाले edges ये हैं:
- Pre-game line shop sharper venue के number के खिलाफ (Pinnacle, Betfair)। जब Polymarket किसी sharp book से > 3c तक disagree करे, तो Polymarket को 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।
Live data: ESPN, official APIs
चारों sports के लिए data source matrix।
| 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 सभी चारों के लिए free और reliable है। sub-10s updates के लिए specialized feed (StatsPerform, GeniusSports) का भुगतान करें - लेकिन retail के लिए marginal latency improvement अक्सर cost justify नहीं करता।
Sample bot: pre-game line catcher
Reference: 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 नहीं है।





