⚽ 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

line movement study: is steam fully priced? (5 leagues, 20yr)

← lab · 78,279 selections · does steam beat the close? · ran 7/3/2026

What this is: Compares opening and closing odds over 20+ years: when a price shortens (steam), is that information already fully absorbed by kickoff, or does following the move still pay?
Selections bucketed by how much their probability moved between opening and closing. If the “actual” column matches “close implied” in every bucket, the market absorbs its own moves — no free lunch in following them.
Move bucketnAvg moveClose impliedActual wonResidual
big drift2,023-5.48pts37.11%36.09%-1.02pts
drift5,026-2.81pts33.35%34.2%+0.86pts
flat64,1700pts32.27%32.23%-0.05pts
steam5,028+2.8pts39.89%39.12%-0.77pts
big steam2,032+5.5pts46.79%49.11%+2.32pts
Rule (flat stakes)nROI
Follow steam at the close7,060-3.15%
Fade drift at the close7,049-1.93%
Bet everything at the close (margin baseline)78,279-5.55%
Bet steamers at the OPEN (perfect-foresight bound)7,060+7.29%

Reading the columnswhat each number actually means

Move buckethow much the selection's implied probability moved open → close
Close impliedwin rate the closing price predicts
Actual wonwhat actually happened in that bucket
Residualactual − implied; 0 everywhere = the market absorbs its own moves
Spec · the reproducible recipe
{
  "kind": "line_movement",
  "market": "1x2",
  "competitions": [
    "EPL",
    "ELC",
    "EL1",
    "EL2",
    "SPL"
  ]
}