Blog

Sports analytics, prediction markets, and building trading bots with Python.

2026-04-10 nba python machine-learning

Build an NBA Win Probability Model in Python: From Box Scores to Live Predictions

Complete tutorial for building an NBA live win probability model in Python using XGBoost. Covers data collection, feature engineering, training, calibration, and live prediction. Working code included.

2026-04-10 api comparison odds

Sports Odds API Comparison 2026: The Odds API vs ZenHodl vs Building Your Own

Comparing the top sports data APIs for prediction modeling and trading in 2026. Coverage, pricing, latency, and what each is best for.

2026-04-10 polymarket trading strategy

How We Made $2,400 on Polymarket: Verified On-Chain Results and the Strategy Behind Them

We run automated prediction bots on Polymarket across 7 sports. Here's our verified P&L, the strategy, and what we learned from 938+ live trades.

2026-04-07 multi-venue polymarket sportsbooks

Multi-Venue Edge Detection: How Polymarket Disagrees With DraftKings

The same NBA game is priced differently on Polymarket, DraftKings, FanDuel, and BetMGM. Here's the math, the architecture, and the actual disagreements we see.

2026-04-07 calibration ml debugging

Calibration Beats Accuracy: The NBA Model Bug That Lost Money at 65% Win Rate

Our NBA bot had 65% accuracy and was losing money. The problem wasn't the model — it was a calibration bug that left it confidently wrong. Here's how we found it.

2026-04-07 transparency debugging polymarket

How We Improved 5 Trading Bots in One Week

We audited every bot, found the gaps between backtest and live performance, and fixed them. CS2, NBA, MLB, LoL, and Tennis — five different problems, five different fixes.

2026-04-07 cs2 esports polymarket

Building a CS2 Betting Bot: Round Economy, Map Pools, and the Data Problem

Counter-Strike 2 has the widest mispricings on Polymarket. It also has the worst data infrastructure. Here's how we built a 4-tier model that handles both.

2026-04-07 infrastructure vps deployment

Running a Profitable Trading Bot for $13 a Month

You don't need a quant fund. Our complete trading infrastructure runs on a $7/month VPS plus $5/month for sportsbook odds. Here's the full breakdown.

2026-04-07 strategy discipline polymarket

Why We Reject 65% of Our Own Trading Signals

Our system finds dozens of trading signals per day. We trade 35% of them. The discipline to reject bad signals is worth more than the ability to find good ones.

2026-04-06 atp model analysis

Why Our ATP Model Found 12 Edges This Week

ATP prediction model results: 8W-4L, 66.7% win rate. ML-powered fair value vs Polymarket prices.

2026-04-06 cs2 model analysis

Why Our Counter-Strike 2 Model Found 44 Edges This Week

Counter-Strike 2 prediction model results: 19W-25L, 43.2% win rate. ML-powered fair value vs Polymarket prices.

2026-04-06 lol model analysis

Why Our League of Legends Model Found 16 Edges This Week

League of Legends prediction model results: 10W-6L, 62.5% win rate. ML-powered fair value vs Polymarket prices.

2026-04-06 nba model analysis

Why Our NBA Basketball Model Found 6 Edges This Week

NBA Basketball prediction model results: 2W-4L, 33.3% win rate. ML-powered fair value vs Polymarket prices.

2026-04-06 nhl model analysis

Why Our NHL Hockey Model Found 26 Edges This Week

NHL Hockey prediction model results: 16W-10L, 61.5% win rate. ML-powered fair value vs Polymarket prices.

2026-04-06 mlb model analysis

Why Our MLB Baseball Model Found 33 Edges This Week

MLB Baseball prediction model results: 21W-12L, 63.6% win rate. ML-powered fair value vs Polymarket prices.

2026-04-06 soccer model analysis

Why Our SOCCER Model Found 3 Edges This Week

SOCCER prediction model results: 2W-1L, 66.7% win rate. ML-powered fair value vs Polymarket prices.

2026-04-06 ncaamb model analysis

Why Our College Basketball Model Found 4 Edges This Week

College Basketball prediction model results: 4W-0L, 100.0% win rate. ML-powered fair value vs Polymarket prices.

2026-04-06 ncaawb model analysis

Why Our NCAAWB Model Found 3 Edges This Week

NCAAWB prediction model results: 3W-0L, 100.0% win rate. ML-powered fair value vs Polymarket prices.

2026-04-06 results weekly trading

Week 15 Results: 85W-62L, +$69.01

ZenHodl week 15 live trading results across 9 sports. 57.8% win rate on 147 trades.

2026-04-02 strategy polymarket settlement

Hold to Settlement: Why We Never Sell Our Prediction Market Positions

Every one of our bots holds to settlement instead of actively trading. Here's why patience crushes activity on Polymarket — and the failed strategies that taught us.

2026-04-02 multi-venue edges polymarket

How to Find Mispriced Lines Across Polymarket, DraftKings, and FanDuel

The same game is priced differently on Polymarket, DraftKings, FanDuel, and BetMGM. Here's how to systematically find and exploit the differences.

2026-04-02 results transparency polymarket

We Run 5 Bots Across 8 Sports — Here's What's Actually Profitable

Real P&L from 5 live Polymarket bots trading NBA, MLB, NHL, NCAAMB, CS2, LoL, Tennis, and Soccer. Honest about what works and what doesn't.

2026-03-30 execution microstructure backtest

99% of Your Backtested Edge Doesn't Exist: Execution Quality on Prediction Markets

We backtested 237 trade signals with and without execution constraints. 99% of theoretical profit vanished. Here's what actually kills your trades — and the narrow windows where execution works.

2026-03-30 results weekly trading

Week 14 Results: 9W-2L, -$0.91

ZenHodl week 14 live trading results across 5 sports. 81.8% win rate on 11 trades.

2026-03-30 tennis model analysis

Why Our Tennis Model Found 6 Edges This Week

Tennis prediction model results: 6W-0L, 100.0% win rate. ML-powered fair value vs Polymarket prices.

2026-03-30 polymarket python api

Polymarket API Python Tutorial: Connect, Fetch Orderbooks, and Place Trades

Step-by-step guide to using the Polymarket CLOB API in Python. Covers authentication, reading orderbooks, fetching market data, and placing limit orders programmatically.

2026-03-28 strategy model feature engineering

Why Simple Models Beat Complex Ones in Sports Betting

A 6-feature model outperforms a 50-feature model at making money — even with a worse accuracy score. Here's why, and what it means for how you should think about feature selection.

2026-03-28 calibration model python

Sports Betting Model Calibration: Why It Matters More Than Accuracy

A well-calibrated model makes money even with lower accuracy. Learn how to measure calibration with Brier score and ECE, and fix it with isotonic regression — with full Python code.

2026-03-27 websocket python data

Stream Live Sports Data with WebSockets in Python

How to get real-time sports scores using WebSockets in Python. Compares HTTP polling vs WebSocket streaming, with working code for building a live data feed.

2026-03-26 elo python tutorial

Build an Elo Rating System from Scratch in Python

A complete step-by-step tutorial to implement an Elo rating system in Python for sports prediction. Covers the math, K-factor tuning, season resets, and evaluation against real NBA data.

2026-03-25 backtest python strategy

How to Backtest a Sports Betting Strategy in Python (Without Fooling Yourself)

A practical guide to backtesting sports betting and prediction market strategies in Python. Covers the common pitfalls — survivorship bias, look-ahead bias, execution assumptions — that make backtests lie.

2026-03-24 sports betting bot beginner

How Prediction Market Bots Work (And How to Build One)

A beginner's guide to automated trading on Polymarket. Learn how bots find edges using win probability models, and how to build your own.

2026-03-24 espn python scraping

ESPN API with Python: Scrape 60,000+ Games for Sports Analytics

How to use Python to scrape live scores, play-by-play data, and win probabilities from ESPN's hidden API. Complete tutorial with working code.

2026-03-24 elo python model

Elo Ratings for Sports Betting: A Complete Python Guide

How to implement Elo ratings from scratch in Python for sports prediction. Covers home advantage, K-factor tuning, and season resets.