user@nba-model : ~/paper_trading $ ./watch --live
SYNCING… ·
 ███╗   ██╗██████╗  █████╗    ███╗   ███╗ ██████╗ ██████╗ ███████╗██╗
 ████╗  ██║██╔══██╗██╔══██╗   ████╗ ████║██╔═══██╗██╔══██╗██╔════╝██║
 ██╔██╗ ██║██████╔╝███████║   ██╔████╔██║██║   ██║██║  ██║█████╗  ██║
 ██║╚██╗██║██╔══██╗██╔══██║   ██║╚██╔╝██║██║   ██║██║  ██║██╔══╝  ██║
 ██║ ╚████║██████╔╝██║  ██║   ██║ ╚═╝ ██║╚██████╔╝██████╔╝███████╗███████╗
 ╚═╝  ╚═══╝╚═════╝ ╚═╝  ╚═╝   ╚═╝     ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝
    

> paper-trading XGBoost player-props on Polymarket. bankroll seeded at $1,000 on .
> edge < 5% = PASS. 2% flat stake. everything below is simulated cash.

BANKROLL
 
TOTAL P&L
 
ROI
on $0 staked
WIN RATE
0-0
CLOSED
settled trades
ACTIVE
awaiting tip-off

// EQUITY_CURVE.log

settled trade

// FUTURE_BETS.tbl

0 open · awaiting tip-off
DATEPLAYERSTATLINESIDE PRICE P(MODEL) EDGE STAKESTATUS

// CLOSED_TRADES.tbl

DATEPLAYERSTATLINESIDE PRICE EDGE ACTUAL STAKEP&LRESULT

// MODEL.spec

what you're watching

> model Three XGBoost binary classifiers — one each for points, rebounds, assists — predicting whether a player goes OVER their Polymarket line. Gradient-boosted decision trees with Optuna-tuned hyperparameters and isotonic calibration on top so the output probabilities line up with observed hit-rates. ~123 engineered features per prop: 10-game rolling averages for the stat, rest days / back-to-backs, home vs away, opponent defensive rating by stat, and regime flags (is_playoffs, is_final_week, days_until_reg_end). Bets only placed when model edge ≥ 5% vs the market price; flat 2% of bankroll per bet.

> data 23,761 labeled Polymarket NBA player-prop markets from the 2025-26 season (Polymarket has only listed NBA props since Dec 2025). Training window Dec 2025 → Feb 2026, held-out validation on March 2026. Box-score ground truth pulled from nba_api; settlement in prod uses the ESPN public API. > accuracy test-set AUC 0.676 (assists, best), 0.569 (points), 0.554 (rebounds); calibrated log-loss 0.668 / 0.678 / 0.694. > caveat the backtest's headline ROI is mostly a late-regular-season OVER bias — the model does not beat a naive "always OVER in the last 2 weeks" baseline. this dashboard tracks live paper performance precisely so that claim gets tested honestly, slate by slate.