| Market | Group | Selection | Side | Odds | Stake |
|---|---|---|---|---|---|
| Reach R16 | Belgium | yes | 1.650 | 28 | |
| Reach R16 | United States | yes | 2.250 | 28 | |
| Reach R16 | Türkiye | yes | 2.350 | 26 | |
| Reach R16 | Ecuador | yes | 2.750 | 23 | |
| Reach R16 | Japan | no | 1.606 | 14 | |
| Reach R16 | Bosnia and Herzegovina | yes | 4.000 | 11 | |
| Reach QF | Germany | yes | 2.650 | 11 | |
| To Qualify | H | Saudi Arabia | no | 1.620 | 10 |
| Reach R16 | Switzerland | yes | 1.727 | 9 | |
| Reach Final | Germany | yes | 8.000 | 8 | |
| Reach R16 | Morocco | no | 1.671 | 7 | |
| Reach QF | Switzerland | yes | 4.200 | 7 | |
| Reach R16 | Czechia | yes | 3.450 | 6 | |
| Group Last | C | Scotland | 7.000 | 5 | |
| Reach QF | Czechia | yes | 11.000 | 5 | |
| Group Last | C | Morocco | 19.100 | 5 | |
| Reach SF | Switzerland | yes | 12.000 | 5 | |
| Group Winner | C | Scotland | 12.610 | 4 | |
| Group Last | A | Czechia | 4.950 | 3 | |
| Reach QF | Netherlands | yes | 2.750 | 3 | |
| Group Last | D | United States | 8.950 | 3 | |
| Group Last | H | Uruguay | 21.280 | 3 | |
| Group Winner | E | Ivory Coast | 8.000 | 3 | |
| Reach QF | Austria | yes | 8.000 | 3 | |
| Winner | Germany | 15.000 | 3 | ||
| Winner | England | 9.000 | 3 | ||
| Group Last | G | Belgium | 51.000 | 2 | |
| Group Last | L | Ghana | 3.250 | 2 | |
| Group Winner | L | Panama | 40.000 | 2 | |
| Reach SF | Belgium | yes | 7.000 | 2 | |
| Reach QF | Türkiye | yes | 5.000 | 2 | |
| Winner | Belgium | 46.000 | 1 |
World Cup 2026
Trading the 2026 World Cup with Arrow-Debreu states and Portfolio Kelly to maximise expected log bankroll growth.
Here we go again
Just like I did for Euro 2020, I’m gonna trade the World Cup outrights using my simulation engine and Kelly, hopefully for some nice profits. Back then it all took a lot of time to collect market odds and re-optimise positions each day, time I do not have now. What drew me back was FIFA’s decision to extend the tournament to 48 teams and include the oh-so-chaotic best-third-place qualification for the knockout stages. It simply makes for a fantastically crazy and volatile tournament in terms of pricing. Prime trading conditions.
So I’ve automated most of the process (including posting daily updates here). The machinery fetches fresh outright odds from a few bookies I can still bet with and easily scrape, including Pinnacle but sadly excluding Betfair which isn’t available in Sweden anymore (yes I know that’s not exactly true), then runs the simulation engine off recent scores and finally spits out the recommended bets and stakes to re-optimise my portfolio. Just like last time I’m not gonna bore you with details on how the simulation engine works or even what my projected probabilities are, I’m just gonna show how I use them for actual betting. So that’s what each daily update is gonna look like: a summary of how my portfolio of bets have changed since the day before.
Something that was sub-optimal in my process the last time around was that I traded group outrights and the winner outright individually. It’s sub-optimal because they are highly correlated. It still worked out in the end but it’s something I have always wanted to fix so this time I have rebuilt the betting flow to use something called Arrow-Debreu which allows me to actually take the correlations into account in a very neat way. More on that below.
New for this time is also that I’ve expanded the number of markets to trade. With a fully automated process and the Arrow-Debreu addition I can now basically add any outright market my underlying simulation engine can support. And that is a lot, given how bookies tend to spew out betting options for tournaments like this. I could even have included any type of match betting like 1X2, Asian Handicap and Over/Under - anything related to how many goals teams score is doable - but I’ve limited myself to some fairly general markets available at my bookies:
- Winner
- Group Winner
- To Finish Last in the Group
- To Qualify (From the Group, i.e., Reach R32)
- To Reach R16/Quarter Final/Semi Final/Final
Most of these are available in Yes/No format which makes the portfolio optimiser very happy as it will have a smörgåsbord of betting options and possible ways to back or lay a certain team.
Arrow-Debreu Primer
So what is Arrow-Debreu?
The short version is that it’s a way to think about bets as claims on future states of the world. Sounds fancy, but for a World Cup group it’s very intuitive. Take a normal four-team group. There are 24 possible final finishing orders. Brazil-Morocco-Haiti-Scotland is one possible state. Morocco-Brazil-Scotland-Haiti is another. And so on.
An Arrow-Debreu bet, in its purest form, would pay out only if one exact state happens and lose otherwise. Most books might not offer those bets in that clean form, but that doesn’t matter. The useful trick is that every normal outright market can be broken down into a bundle of these states.
Brazil to win the group? That’s all states where Brazil finishes 1st.
Brazil to qualify? That’s all states where Brazil finishes 1st, 2nd, or maybe 3rd if they sneak through as one of the best third-place teams.
Brazil to reach the Quarter Final? That’s all full tournament paths where Brazil gets that far.
So instead of treating every bet as its own little thing, the model looks at the whole tournament as a big map of possible futures. Each available bet is then just a payoff pattern across those futures. That’s the important bit. Because once everything is expressed this way, the correlations are no longer some annoying side problem. They are baked into the payoff map.
Brazil winner, Brazil to reach the Final, and Brazil to qualify from the group are obviously related. If Brazil has a great tournament, several of them win together. If Brazil bombs out, several of them die together. A normal bet-by-bet Kelly approach handles that badly. It can easily overbet the same underlying opinion in five different disguises.
With the Arrow-Debreu setup, the portfolio optimiser sees that overlap directly. It knows which bets pay in the same futures and which bets protect against different futures. Then Kelly can do its actual job: choose the set of stakes that gives the best expected bankroll growth across the full tournament state space, not just the best-looking standalone edge.
That’s why I rebuilt the process this way. The point is not to sound clever. The point is to stop pretending that 200 correlated outrights are 200 independent bets. They are not. They are different ways of buying and selling pieces of the same World Cup future.
Day 1: The Initial Portfolio
Before revealing the portfolio as it stands just before kickoff, let’s go over the rules the optimiser is working with:
- The starting bankroll is set at 1000 units
- Stakes are whole units only, with a one-unit minimum
- The optimiser only ever considers a selection the model gives at least a 2% chance of landing
- We bet quarter Kelly, i.e., 1/4 of the stakes full Kelly would advise
- The available odds come from a set composite of bookies
Full Kelly is brutal when your probabilities are even slightly off, and a tournament model has no shortage of room to be off, so quarter-sizing trades away some potential growth for a far shallower drawdown. How much of the bankroll that leaves working is a consequence, not a setting: full Kelly here wants almost the whole bankroll in play right from the start, so 1/4 Kelly happens to land near a quarter deployed - that’s the prices talking, not a cap I set.
That scaling also interacts with the one-unit minimum. Once every stake is quartered, the long tail of tiny longshot bets that full Kelly likes to sprinkle around drops below a unit and is cut, with the freed money re-solved across what remains. What’s left is a shorter portfolio of whole-unit positions sitting where the edge per unit of risk is best.
Maybe surprisingly, the portfolio is light on outright Winner bets - they are just a few, all small. Winner currently have the highest bookie margin, so the edge there is the thinnest to begin with; winner outcomes are also rare even for the favourites, so any single Kelly stake is small and mostly prunes away under the quarter-sizing and the one-unit floor; and, in the spirit of the Arrow-Debreu picture above, backing a team to win is a thin, highly correlated slice of a future you can buy more cheaply and at higher probability through the qualify and reach-round markets. When the model likes a team’s run it has usually already expressed that earlier in the bracket, and the optimiser sees the overlap and declines to stack a redundant winner bet on top. I expect the optimiser to load up on more winner bets as we progress from the group stages.
I think the above table is pretty self-explanatory, so I won’t comment any further on the individual selections in the portfolio for now. The real fun starts when the results begin to roll in. Below is what the optimiser expects our current portfolio to do to the bankroll: the expected log bankroll - the quantity Kelly is actually maximising - alongside the same figure in plain units, before any bets and after our initial optimisation.
| Log | Real | |
|---|---|---|
| Before | 6.908 | 1000 |
| After | 6.963 | 1057 |
| Change | 0.055 | 57 |