<% Option Explicit %> <% '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' ' Main ' ' Purpose: ' ' Directs the action. ' ' Revisions: ' ' [TDB 06.Apr.2002] Code written. ' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Sub Main() Call WriteStandardHeader("Betting System", _ "Description of betting system that " & _ "involves betting on every 'runner' that has a chance of winning", _ "Betting system, multiple runners, many bets in one race") Response.Write "

Betting System

" Call ShowBettingSystem() Call WriteStandardFooter() End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' ' ShowBettingSystem ' ' Purpose: ' ' Displays the text of the page. ' ' Revisions: ' ' [TDB 06.Apr.2002] Code written. ' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Sub ShowBettingSystem() %>

You might not want to read my witterings but just want to get the program that performs the calculations for you

Disclaimer

You can't make money gambling. I know this. You know this. Bookmakers hire legions of very smart guys to work out how to screw the punter over. There's nothing you can do about that

How It Works

A betting system that always made sense to me (or at least, more than many others) was the system whereby you bet on every runner in a race (or league or whatever it is you are betting on) that could possibly win so that you make a uniform profit whichever of them wins

Of course, this can mean having to pass up a lot of races but the reward (in theory) is near-guaranteed winnings on those races where it does make sense to bet. I can tell you need an example

Examples

Take this Summer's football World Cup (soccer for you Americans). Perhaps you believe that only France, Argentina, Brazil or Italy can win. Today (6th August 2002) their odds at bluesq.com are as follows

Team Odds
France 4/1
Argentina 4/1
Italy 6/1
Brazil 7/1

So, we want to see if we can bet on all these teams and still make a profit if any one of them wins. We could just put a pound on each of them and some simple maths will tell you that we make a profit (one pound if France or Argentina win, 3 pounds if Italy win and four if Brazil win). But better than that is to organize it so that the profit is the same whichever team wins

If we total the reciprocal of each of the odds we get a total from which we can work out the proportions as follows

Team Odds Percentage of total stake
France 4/1 30%
Argentina 4/1 30%
Italy 6/1 21%
Brazil 7/1 19%

So if we bet 100 pounds total stake it would be 30 pounds on France, 30 pounds on Argentina, 21 pounds on Italy and 19 pounds on Brazil (rounded off to the nearest pound). If any of these teams win we stand to make 50 pounds profit. For example, if France win we get 120 pounds winnings plus 30 pound stake back, less the 100 pounds outlay gives us 50 pounds profit (120 + 30 - 100 = 50). Of course if we were wrong about who could win and Germany pops up and wins it again, we've lost the whole 100

Sometimes the system insists we pass on a bet. For example, we might think that Spain, England and Germany also have a chance of winning the World Cup

Team Odds Percentage of total stake
France 4/1 20%
Argentina 4/1 20%
Italy 6/1 14%
Brazil 7/1 12%
Spain 9/1 10%
England 10/1 9%
Portugal 11/1 8%
Germany 14/1 7%

We can still calculate the percentage of our stake that should go to each team but when we calculate our profit we will see that its a non-starter. For example, if we bet 100 pounds again we would bet 9 pounds (9% of 100 pounds) on England which would return 90 pounds winning plus 9 pounds stake minus 100 pounds total outlay makes a loss of a pound (9 * 10 = 90, 90 + 9 - 100 = -1). So there would be no point in making these bets

Java Program

I have written BettingSystem a tiny Java program that performs these calculations for you

<% End Sub Call Main() %>