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 আলাদা। এই অধ্যায়ে league-specific bot patterns এবং যে tag IDs-গুলোতে আপনি filter করবেন, সেগুলো covered করা হয়েছে।
- NFL: weekly cadence, peak liquidity Sunday
- NBA (tag 745): in-game microstructure
- Soccer: international vs club leagues
- Tennis (tag 864): tournament cadence
- সময়ের সাথে টিকে থাকা edge sources
- Live data: ESPN, official APIs
- Sample bot: pre-game line catcher
NFL: weekly cadence, peak liquidity Sunday
NFL-এর weekly rhythm Polymarket-এর যেকোনো sport-এর মধ্যে সবচেয়ে শক্তিশালী। আগের সপ্তাহের games শেষ হওয়ার পর Tuesday-তে markets open হয়, Wednesday-Friday line-shop হয়, Saturday-Sunday betting volume peak করে। সাধারণত early games-এর জন্য Sunday night এবং late one-এর জন্য Monday night-এ resolution হয়।
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 হয়। এমনকি ওই সপ্তাহে $100 bot-ও কার্যত গুরুত্বহীন noise; সেই scale-এ market efficient।
NBA (tag 745): in-game microstructure
NBA হলো Polymarket-এ highest-frequency sport - regular season-এ প্রতি সপ্তাহে 25-30 games, playoffs-এ 5-15। Tag ID 745 NBA-only events filter করে।
NBA-তে in-game microstructure কাজ করে কারণ: (1) ESPN প্রায় প্রতি ~10s-এ scoreboards update করে, (2) games continuous action-এর 2.5 hours, (3) major games-এর Polymarket books 4th quarter পর্যন্ত deep থাকে।
যে strategy কাজ করে: game's WS book + ESPN feed subscribe করা, 10-15 seconds-এর মধ্যে imbalance + score events-এ react করা। যেসব strategy কাজ করে না: pre-game line catching (এতটা efficient যে retail খুব বেশি ধরতে পারে না), late-game certainty arbitrage (0.99-trap territory)।
Soccer: international vs club leagues
Polymarket-এ Soccer মোটামুটি তিনটি tier-এ ভাগ হয়।
- 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 huge events) এটিকে NBA-এর continuous flow থেকে আলাদা করে। Soccer-এর জন্য bot pattern হলো: goal হওয়ার আগে right side-এ থাকা, goal হলে দ্রুত 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 এই চার সপ্তাহে এবং Masters 1000 series-এ concentrated।
Tennis-এ যেকোনো sport-এর মধ্যে সবচেয়ে পরিষ্কার in-play price ladder থাকে (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-এর মাঝখানে, যখন শুধু ATP 250 / ATP 500 tournaments থাকে, তখন books খুব thin। এই সময় bot pause করুন বা অন্য sport-এ shift করুন।
সময়ের সাথে টিকে থাকা edge sources
এই চারটি sport জুড়ে, যে edges সময়ের সাথে টিকে থাকে সেগুলো হলো:
- Pre-game line shop sharper venue-এর number-এর বিরুদ্ধে (Pinnacle, Betfair)। Polymarket যদি sharp book-এর সঙ্গে > 3c mismatch করে, তাহলে Polymarket fade করুন।
- In-play overreaction একটি single play-এ (interception, injury, momentum shift)। play-এর 30-60 seconds পরে অপেক্ষা করুন, market overshoot করলে 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
চারটি sport-এর জন্য data source matrix।
| Sport | Primary | Backup | Update cadence |
|---|---|---|---|
| NFL | ESPN scoreboard | NFL.com feed | play চলাকালীন ~10s |
| NBA | ESPN scoreboard | stats.nba.com | play চলাকালীন ~10s |
| Soccer (EPL/UCL) | ESPN scoreboard | SofaScore | ~15-30s |
| Tennis (ATP/WTA) | ESPN scoreboard | tennis.com live | ~30s (point-level) |
ESPN সব চারটির জন্য free এবং reliable। 10s-এর কম updates চাইলে specialized feed (StatsPerform, GeniusSports) কিনতে হবে - তবে retail-এর জন্য marginal latency improvement প্রায়ই খরচ 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-এর জন্য account লাগে; free নয়। Sharp reference ছাড়া line-catching শেষ পর্যন্ত opinion বনাম opinion-এ নেমে আসে, যা bot territory নয়।





