I'm having trouble managing to implement Kelly Criterion for wagers that are correlated such as Basic Strategy Teasers. If I bet Kelly units... How would I allocate my bankroll from ranging from 2-6 teamers each weekend?
Kelly Criterion for Correlated Wagers
Collapse
X
-
ThrempSBR MVP
- 07-23-07
- 2067
#1Kelly Criterion for Correlated WagersTags: None -
tacomaxSBR Hall of Famer
- 08-10-05
- 9619
#2I've just paged Ganchrow for you.Originally posted by pags11SBR would never get rid of me...ever...Originally posted by BuddyBearI'd probably most likely chose Pags to jack off too.Originally posted by curioustaco is not a troll, he is a bubonic plague bacteria.Comment -
ThrempSBR MVP
- 07-23-07
- 2067
#3Heh. Maybe I should've just PMed him.
I've looked into it a shade. Would be interested in any ideas for approximations as well. I came up with some rough figures, but would atleast like a second opinion before I move forward with my bastardized math.Comment -
GanchrowSBR Hall of Famer
- 08-28-05
- 5011
#5
In the case of 3 candidates, with win probabilities p<sub>1</sub>, p<sub>2</sub>, and p<sub>3</sub>, and teasers that payout at decimal odds of o<sub>2</sub> for 2-team parlays and o<sub>3</sub> for 3-team parlays, utility as a function of the weightings of the three 2-team teasers (x<sub>12</sub>, x<sub>13</sub>, x<sub>23</sub>) and the one 3-team teasers would look like this:
U(x<sub>12</sub>,x<sub>13</sub>,x<sub>23</sub>,x<sub>123</sub>) =
p<sub>1</sub>*p<sub>2</sub>*p<sub>3</sub>*log(1+(o<sub>2</sub>-1)*(x<sub>12</sub>+x<sub>13</sub>+x<sub>23</sub>) + (o<sub>3</sub>-1)*x<sub>123</sub>) +
p<sub>1</sub>*p<sub>2</sub>*(1-p<sub>3</sub>)*log(1+(o<sub>2</sub>-1)*x<sub>12</sub> - x<sub>13</sub> - x<sub>23</sub> - x<sub>123</sub>) +
p<sub>1</sub>*p<sub>3</sub>*(1-p<sub>2</sub>)*log(1+(o<sub>2</sub>-1)*x<sub>13</sub> - x<sub>12</sub> - x<sub>23</sub> - x<sub>123</sub>) +
p<sub>2</sub>*p<sub>3</sub>*(1-p<sub>1</sub>)*log(1+(o<sub>2</sub>-1)*x<sub>23</sub> - x<sub>13</sub> - x<sub>12</sub> - x<sub>123</sub>) +
[p<sub>1</sub>*(1-p<sub>2</sub>)*(1-p<sub>3</sub>) + p<sub>2</sub>*(1-p<sub>1</sub>)*(1-p<sub>3</sub>) + p<sub>3</sub>*(1-p<sub>1</sub>)*(1-p<sub>2</sub>) + (1-p<sub>1</sub>)*(1-p<sub>2</sub>)*(1-p<sub>3</sub>)]
*log(1-x<sub>12</sub> - x<sub>13</sub> - x<sub>23</sub> - x<sub>123</sub>)
U is then of course maximized with respect to (x<sub>12</sub>, x<sub>13</sub>, x<sub>23</sub>, x<sub>123</sub>) ≥ 0 subject to the budget constraint of x<sub>12</sub> + x<sub>13</sub> + x<sub>23</sub> + x<sub>123</sub> ≤ 1. Similar logic would be used given a larger number of underlyings and larger teaser sizes.
It bears mentioning that this process is identical to that which would be used to determine any simultaneous bet staking with fixed parlay odds and the weightings on 1-team parlays constrained to zero.
As I said, there's no simple closed-form solution to the problem, but a numeric solution can be easily obtained computationally using an optimization package such as Excel Solver.
Using Excel Solver and assuming a 72% win probability for each teaser leg and payout odds for 2-6 team teasers of +100, +180, +300, +465, +750, respectively, one finds that the full-Kelly stake for each of the fifteen 2-team teasers would be 0.5666% of bankroll, the full-Kelly stake for the one 6-team teaser would be 1.3224% of bankroll, with all other full-Kelly teaser stakes at zero. For fifth-Kelly, the 2-team and 6-team stakes would be 0.1160% and 0.2322%, respectively, with all other stakes zero. Results were identical (and much more quickly obtained) using both MINOS and IPOPT, two considerably more robust (and freely available) nonlinear optimization engines.Comment -
rjpSBR Rookie
- 07-17-06
- 39
#6
Lets say 10 simultaneous wagers... how long does it take to maximize the growth function?Comment -
GanchrowSBR Hall of Famer
- 08-28-05
- 5011
#7Just how fast do these run? I'm using a library with built in optimization algorithms that seem to converge quickly, and I only run into trouble if I've got a large number of bets such that it takes a long time to build the function to maximize.
Lets say 10 simultaneous wagers... how long does it take to maximize the growth function?
11 or 12 wagers is where it tends to really slow down, to the point where I can't even get it to run with the available memory (without making numerous dubious approximations in the utility curvce) for 13 or more simultaneous events.Comment -
rjpSBR Rookie
- 07-17-06
- 39
#8Interesting. Any idea what they're using to perform the optimization?
The algorithms I was using to maximize the growth function are terrible when I try to apply something other than an even money bet, so I'm now working on a solution using simulated annealing to see if I have more success.Comment -
GanchrowSBR Hall of Famer
- 08-28-05
- 5011
#10Interesting. Any idea what they're using to perform the optimization?
The algorithms I was using to maximize the growth function are terrible when I try to apply something other than an even money bet, so I'm now working on a solution using simulated annealing to see if I have more success.
"For problems with nonlinear constraints, MINOS uses a sparse SLC algorithm (a projected Lagrangian method, related to Robinson's method). It solves a sequence of sub problems in which the constraints are linearized and the objective is an augmented Lagrangian (involving all nonlinear functions). Convergence is rapid near a solution."Comment -
RickySteveRestricted User
- 01-31-06
- 3415
#12The original post is talking about related simultaneous wagers, not correlated parlays.Comment -
Micturition ManSBR Rookie
- 04-14-09
- 10
#13Bump.
I understand the method Ganchrow provides here, but I find simply writing up the function in Excel (OpenOffice actually) to be really tough. Even a test case using 4 teams with different cover probabilities and allowing only for 3 team teasers took me forever to correctly input. Getting it right for 9 teams with 3 and 4 team teasers available seems like a nightmare.
Does anyone have some solver functions written up they would be willing to share?Comment -
Pancho sanzaSBR Sharp
- 10-18-07
- 386
#14Bump.
I understand the method Ganchrow provides here, but I find simply writing up the function in Excel (OpenOffice actually) to be really tough. Even a test case using 4 teams with different cover probabilities and allowing only for 3 team teasers took me forever to correctly input. Getting it right for 9 teams with 3 and 4 team teasers available seems like a nightmare.
Does anyone have some solver functions written up they would be willing to share?
You can make 4 different 3 team teasers, each team will appear 3 times.
What you want to figure out is what bet size for each teaser maximizes the log growth of your bankroll.
List all the possible scenarios for the 4 different teasers and theyre payoff, one would be all teams cover the teaser (all teasers win) and another would be 2 or more teams lose (all teasers lose). The other scenarios would be where 3/4 teams cover , in which case 1 teaser would win.
All the probablities will add to 1, list the ending bankroll under each scenario, calculate the log under each, (probability scenario 1 X log X ending bankroll), sum all these, then have solver maximize this # by filling in bet size amounts.Comment -
Micturition ManSBR Rookie
- 04-14-09
- 10
#15That shouldn't be that hard.
You can make 4 different 3 team teasers, each team will appear 3 times.
What you want to figure out is what bet size for each teaser maximizes the log growth of your bankroll.
List all the possible scenarios for the 4 different teasers and theyre payoff, one would be all teams cover the teaser (all teasers win) and another would be 2 or more teams lose (all teasers lose). The other scenarios would be where 3/4 teams cover , in which case 1 teaser would win.
All the probablities will add to 1, list the ending bankroll under each scenario, calculate the log under each, (probability scenario 1 X log X ending bankroll), sum all these, then have solver maximize this # by filling in bet size amounts.
Yeah I know how to solve the problem, the difficulty is just managing all the inputs when you have say 10 teaser legs, each of which has a different cover rate. I may just be bad at using spreadsheets but I find it to be a huge chore.Comment -
ThrempSBR MVP
- 07-23-07
- 2067
#16MM,
I spoke to TomG about this this past weekend. He advised using the King Yao method. YMMV.Comment -
Micturition ManSBR Rookie
- 04-14-09
- 10
#17Thrempster -
I scoured 2+2 for posts by King Yao including "teaser*" and posts by Thremp including "King Yao".
Quality reading but I still haven't figured out what the King Yao method is. Please to explain?
Comment -
RickySteveRestricted User
- 01-31-06
- 3415
#18He's a feel player.Comment -
ThrempSBR MVP
- 07-23-07
- 2067
#19
RickySteve is correct. He position sizes based on his whims and personal feelings. Though to be fair I do this for teasers to a degree as I don't have the resources to quantify each leg, nor would I bother to do this. Much less plug them all into a formula and then scour the internetz to pick up every 9 or 8.5 I could find.
You can do some quick and dirty assumptions with half Kelly and go from there.Comment -
pharlapSBR Rookie
- 09-19-12
- 1
#20The weightings for 2-6 team parlays (or teasers) make intuitive sense. One would never trade "up" from a n to an n+k team parlay unless one got better odds on the individual legs. So, we can reject the 3 and 5 team parlays. The 2 and 4 team parlays have the same odds for individual legs, so it's variance reducing to do them as a set of 2-team parlays. Finally, the 6 team parlays offer the best odds for the individual legs, so it's optimal to have some weight on those.
My questions is: is the algorithm faster with large numbers of wagers if you assign zero weights to n-team parlays where there is an n-k team parlay that has equal or better odds for the individual legs? So in the 6-team case, you could just solve for 6c2+1 weights (setting the rest to zero).Comment -
MonkeyF0ckerSBR Posting Legend
- 06-12-07
- 12144
#21The weightings for 2-6 team parlays (or teasers) make intuitive sense. One would never trade "up" from a n to an n+k team parlay unless one got better odds on the individual legs. So, we can reject the 3 and 5 team parlays. The 2 and 4 team parlays have the same odds for individual legs, so it's variance reducing to do them as a set of 2-team parlays. Finally, the 6 team parlays offer the best odds for the individual legs, so it's optimal to have some weight on those.
My questions is: is the algorithm faster with large numbers of wagers if you assign zero weights to n-team parlays where there is an n-k team parlay that has equal or better odds for the individual legs? So in the 6-team case, you could just solve for 6c2+1 weights (setting the rest to zero).
Eliminating combinations would not be applicable to teasers at most places, however.Comment
SBR Contests
Collapse
Top-Rated US Sportsbooks
Collapse
#1 BetMGM
4.8/5 BetMGM Bonus Code
#2 FanDuel
4.8/5 FanDuel Promo Code
#3 Caesars
4.8/5 Caesars Promo Code
#4 DraftKings
4.7/5 DraftKings Promo Code
#5 Fanatics
#6 bet365
4.7/5 bet365 Bonus Code
#7 Hard Rock
4.1/5 Hard Rock Bet Promo Code
#8 BetRivers
4.1/5 BetRivers Bonus Code