⚽ Tomulator
Overview
β—ˆDashboardπŸ“…Today's gamesβ—ŽState of play
Money
πŸ’·Bets & strategies
Explore
⊞Leagues & seasonsπŸ“Metricsβ–€Data sources
Engine room
🎲SimulationsπŸ§ͺLab≣Catalog?How this works

sweep of market-aware engine (v2)

← lab Β· 176 rules tested Β· 13 survived the unseen years Β· ran 7/3/2026

What this is: Tries thousands of betting rules on old seasons, then judges the winners ONLY on years they never saw. Survivors are candidate strategies; everything else was luck.
Rules are picked on seasons before 2015-16 and judged ONLY on the years after β€” in-sample winners are expected by luck alone; the verdict column is the real number. Flat 1-unit stakes.
RuleIn-sample ROInVerdict ROIn
1x2:D edge>0.15 when match.tempo high1.9%17016.8%291
1x2:D edge>0.1 when match.tempo high1.6%18112.6%324
1x2:D edge>0.15 when match.state_gap mid2.3%30311.8%398
1x2:D edge>0.06 when match.tempo low2.6%3017.6%412
1x2:D edge>0.1 when match.tempo low4.2%2805.1%377
1x2:D edge>0.15 when market.overround_1x2 low5.1%2464.5%429
1x2:D edge>0.03 when match.tempo low4.4%3094.0%433
1x2:H edge>0.03 when market.disagreement_home mid1.1%6603.3%851
1x2:H edge>0.1 when market.disagreement_home mid2.0%6173.2%721
1x2:H edge>0.06 when market.disagreement_home mid1.5%6452.8%800
1x2:D edge>0.1 when market.overround_1x2 low4.5%2652.5%468
1x2:H edge>0.15 when market.disagreement_home mid2.0%5691.7%623
1x2:H edge>0.15 when match.state_gap mid0.5%6180.8%547
1x2:A edge>0.03 when market.disagreement_home high2.3%453-0.1%684
1x2:A edge>0.1 when market.disagreement_home high3.6%425-0.3%608

Reading the columnswhat each number actually means

Rulea candidate betting rule: market + selection + edge threshold + regime filter
In-sample ROIreturn during the selection years β€” inflated by construction, ignore it
Verdict ROIreturn on the held-out years the rule never saw β€” the honest number
nnumber of bets behind each number; small n = noise
Spec Β· the reproducible recipe
{
  "kind": "strategy_sweep",
  "name": "sweep of market-aware engine (v2)",
  "split_season": "2015-16",
  "backtest_run_id": 4
}