We have $3$ horses: $A$, $B$, $C$. For every dollar I wager, I get $\$2$, $\$4$, or $\$6$ if $A$, $B$, or $C$ wins the race, respectively. Design a strategy that never loses money.

I'm stuck on this question. I know the winning strategy is to bet \$6 on A, \$3 on B and \$2 on C so that you always end up paying \$11 but winning \$12, but I was wondering what the general strategy to approach this question is. I have seen something similar to this question on reddit but I don't think I understood it quite enough, unfortunately. Thank you.

  • $\begingroup$ These are quite common in American competition math. My usual approach is to wager $\$ A_s$ on A, $\$B_s$ for B, and $\$C_s$ for C. From there, it is playing around with the problem until there is new insight. $\endgroup$ Oct 19, 2020 at 2:22

2 Answers 2


Rephrasing, let the $3$ horses be denoted by $h_1, h_2, h_3$. Let $x_i \in [0,1]$ be the fraction of one's budget bet on horse $h_i$. Note that $x_1 + x_2 + x_3 = 1$ and that the profit is

$$ \text{profit} = \begin{cases} 2 x_1 - 1 & \text{if } h_1 \text{ wins}\\ 4 x_2 - 1 & \text{if } h_2 \text{ wins}\\ 6 x_3 - 1 & \text{if } h_3 \text{ wins}\end{cases} $$

Since we want an arbitrage bet, the profit should be positive regardless of which horse wins. Thus,

$$x_1 > \frac12, \qquad x_2 > \frac14, \qquad x_3 > \frac16$$

Since $\frac12 + \frac14 + \frac16 = \frac{11}{12} < 1$, let us make

$$\begin{aligned} x_1 &= \left(\frac{12}{11}\right) \frac12 = \color{blue}{\frac{6}{11}}\\ x_2 &= \left(\frac{12}{11}\right) \frac14 = \color{blue}{\frac{3}{11}}\\ x_3 &= \left(\frac{12}{11}\right) \frac16 = \color{blue}{\frac{2}{11}}\end{aligned}$$

With this allocation, no matter which horse wins, the profit is always $\frac{1}{11}$.

Of course, there are other ways of allocating the remaining $\frac{1}{12}$. However, this particular allocation maximizes the worst-case scenario, which can be seen by introducing optimization variable $y$ and solving the following linear program.

$$\begin{array}{ll} \underset{x_1, x_2, x_3, y}{\text{maximize}} & y\\ \text{subject to} & x_1 + x_2 + x_3 = 1\\ & 2 x_1 - 1 \geq y\\ & 4 x_2 - 1 \geq y\\ & 6 x_3 - 1 \geq y\\ & x_1, x_2, x_3 \geq 0\end{array}$$


from cvxpy import *

x1 = Variable()
x2 = Variable()
x3 = Variable()
y  = Variable()

objective = Maximize(y)
constraints = [   x1 +   x2 +   x3     == 1,
                2*x1               - y >= 1,
                       4*x2        - y >= 1,
                              6*x3 - y >= 1,
                  x1                   >= 0,
                         x2            >= 0,
                                x3     >= 0 ]
prob = Problem(objective, constraints)

print("Status    ",     prob.status)
print("Maximum = ",     prob.value )
print("     x1 = ", float(x1.value))
print("     x2 = ", float(x2.value))
print("     x3 = ", float(x3.value))

which outputs the following

Status     optimal
Maximum =  0.09090909097169302
     x1 =  0.5454545454546641
     x2 =  0.27272727272899333
     x3 =  0.18181818181634327


Let us introduce binary variables $\theta_1, \theta_2, \theta_3 \in \{0,1\}$, where

$$ \theta_i = \begin{cases} 1 & \text{if } h_i \text{ wins}\\ 0 & \text{otherwise}\end{cases} $$

Since only one horse can win, $\theta_1 + \theta_2 + \theta_3 = 1$. Hence, the profit is

$$ \begin{aligned} \text{profit} &= (2 \theta_1 - 1) x_1 + (4 \theta_2 - 1) x_2 + (6 \theta_3 - 1) x_3 \\ &= 2 \theta_1 x_1 + 4 \theta_2 x_2 + 6 \theta_3 x_3 - ( \underbrace{x_1 + x_2 + x_3}_{=1} ) = \begin{cases} 2 x_1 - 1 & \text{if } h_1 \text{ wins}\\ 4 x_2 - 1 & \text{if } h_2 \text{ wins}\\ 6 x_3 - 1 & \text{if } h_3 \text{ wins}\end{cases} \end{aligned} $$

  • $\begingroup$ Hi Rodrigo, can I ask why is $2x_{1}-1$ when $h_{1}$ wins? Why do you minus one? Also why did you pick $\frac{12}{11}?$ And from here you did you deduce that the profit is always $\frac{1}{11}?$ Can you also explain how you maximize the equations? For example, how do you know that $2x_{1}-1 ≥ y$? Why is it greater and equal to $y$? Sorry for firing so many questions at you but I hope you can help me to understand this. $\endgroup$
    – CountDOOKU
    Nov 29, 2022 at 8:45
  • $\begingroup$ Hi Rodrigo, I hope you are feeling better. Thanks I think I understand the $-1$ now, the addendum is very helpful. So for the $\frac{12}{11}$, did you get this value from solving $\frac{11}{12} z = 1$ and then solving for $z$ or something like that? $\endgroup$
    – CountDOOKU
    Dec 1, 2022 at 5:19
  • $\begingroup$ @CountDOOKU Yes, I just expanded all fractions by $\frac{12}{11}$ such that they add up to $1$. The interesting part is that this intuitive approach actually yields the best worst-case. $\endgroup$ Dec 1, 2022 at 8:12

Suppose the initial bet is $\$P$, and that we are betting on three horses $A,B,C$ with payouts $\$a, \$b, \$c$, and I buy $\alpha, \beta, \gamma$ tickets of each respectively. Assume $a<b<c$.

Then, my total bet is simply $\$(\alpha+\beta+\gamma)P$, and we want that $$a\alpha >(\alpha+\beta+\gamma)P\implies\frac{\alpha}{\beta+\gamma}>\frac{P}{a-P}$$

$$b\beta >(\alpha+\beta+\gamma)P\implies\frac{\beta}{\alpha+\gamma}>\frac{P}{b-P}$$ $$c\gamma >(\alpha+\beta+\gamma)P\implies\frac{\gamma}{\alpha+\beta}>\frac{P}{c-P}$$ The triple $(\alpha,\beta,\gamma)$ which solves this triad of inequalities meets the criteria. Let's apply this to your scenario, where we have $P=1, a=2, b=4, c=6$. We get: $$\frac{\alpha}{\beta+\gamma}>1\implies \alpha>\beta+\gamma\tag1$$ $$\frac{\beta}{\alpha+\gamma}>\frac13\implies \alpha<3\beta-\gamma\tag2$$ $$\frac{\gamma}{\alpha+\beta}>\frac 15\implies \alpha<5\gamma-\beta\tag3$$

The third equation makes resolving this remarkably easy, since we know $\alpha\geq\beta\geq\gamma> 0$. Let me explain why it is $>0$ not $\geq 0$:

Set $\gamma=0$ and we get $\alpha<-\beta$ which is impossible. No solution like this exists (and it shouldn't, because if you didn't bet on horse C at all and it won, you'd have lost money).

Let's now test $\gamma=1$. $(3)$ tells us $5-\beta>\beta\to\beta<\frac52\to \beta=1,2$. Note also that $\alpha<\frac 52$ is necessary, I used that $\alpha\geq \beta$ to say $\beta<5-\beta$.

For each, $(2)$ gives $\alpha<2$ (i.e $\alpha=1$) and $\alpha<5$, while $(1)$ yields $\alpha>2$ and $\alpha>3$ respectively. Both cases are complete contradictions, and neither work.

We now test $\gamma=2$. Comparing $(1)$ and $(3)$ gives us $\beta+2<10-\beta\to\beta<4$, so $\beta=2,3$. With $\beta=2$ we get the set: $\alpha>4, \alpha<4, \alpha<8$ which is complete nonsense, but with $\beta=3$ we get the set: $\alpha>5, \alpha<7, \alpha<7$ which is satisfied by $\alpha=6$ and gives us $(6,3,2)$

  • $\begingroup$ A rather remarkable result from a little experimentation is that a setup with initial bet $P$, two horses $A,B$ with payouts $a,b$ is only solvable (i.e. able to be exploited to never lose money) if $P<\frac{ab}{a+b}$. (I used the exact same method as my answer to prove this, see if you can do it too). I'll try to find a similar expression for three horses. $\endgroup$ Oct 19, 2020 at 2:34
  • 1
    $\begingroup$ It shouldn't depend on the initial bet because the payouts should scale with the bet. You are really saying that you can win if $1 \lt \frac {ab}{a+b}$ which is $1 \lt \frac 1{\frac 1a +\frac 1b}$ Now just put a $\frac 1c$ in and you are there. $\endgroup$ Oct 19, 2020 at 3:05
  • $\begingroup$ Interesting, thank you. I used an initial bet $P$ specifically to keep $a,b,c\in\Bbb N$ for use when dealing with ratios/odds that are in $\Bbb Q^+/\{\Bbb N\}$ $\endgroup$ Oct 19, 2020 at 3:13
  • $\begingroup$ @RhysHughes Hi Rhys, how do you know which values of $\gamma$ to test? You tested $\gamma$ for $0,1,2$ $\endgroup$
    – CountDOOKU
    Nov 29, 2022 at 7:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .