Updated Oct 4, 2026 10:22 PM ET.

Rung 6: backtest your agent against settled markets

A rule that cannot clear zero closing-line value on a few hundred settled markets is a tout, however it feels. This harness grades a rule the way we grade ourselves: enter at T-6h, compare with the close, report CLV with a bootstrap band, and refuse a verdict below n=30.

curl -O https://ipredictsport.com/agent_backtest.py
curl -O https://ipredictsport.com/sports_sample.json
python agent_backtest.py --data sports_sample.json --strategy opening --min-edge 5
python agent_backtest.py --data sports_sample.json --fair-csv my_fairs.csv   # ticker,fair
1
Built-in null rules. market: your fair equals the price (you cannot beat what you pay; CLV should be ~0). opening: your fair is the opening price (bets the open was right and the market drifted; it usually was not).
2
Your rule. Produce a CSV of ticker,fair from anything (a model, an LLM, a hunch) and pass --fair-csv. The output is n, mean CLV, a 95% band, share beating the close, Brier of your fairs, and paper PnL per contract after the maker fee.
3
Read the verdict line. "band straddles zero" means keep collecting, not "almost". The sample is 150 NFL and college football game markets with hourly bid/ask paths; the full archive behind it is 33,000 settled markets across NFL, CFB, golf and UFC.

Where can an agent actually trade? Only where there is an API, and only the exchanges have one. See which platforms let an AI agent trade for you before you go live. Humans open accounts; agents trade. Never automate account creation or identity checks.

Disclosure: the Kalshi link is a partner link; we may earn a referral credit at no cost to you. 18+ on exchanges, 21+ at sportsbooks, state rules apply. Gambling problem? 1-800-GAMBLER. Paper first; the ledger, not the win rate, is the score.

Tennis board Contact