Friday, 13 November 2009

The flaw

The flaw is that the historical results have the benefit of being able to look into the future; a powerful tool if you are trying to predict horse races!

That's why the system is at its best when the day is higher than the month. On 12th January 2009, the program looks for each horse's previous runs in races before 12/01/2009, but it receives their runs prior to 01/12/2009, including the races on 12th January!.

I've been very lucky for two reasons. I made nearly £1000 on an unprofitable system over 6 weeks with more than 1000 bets. I was also lucky to have spotted the bug on one of the days where it had any effect.

So I've gone back to the drawing board, and I think the basis of my system is still good, but nowhere near as profitable as I had previously led myself to believe.

Wednesday, 11 November 2009

The analysis

I've now had a chance to analyse the effect of the bug.

Firstly, in deciding whether or not a horse is a selection, the program looks at all of the previous races relating to that horse. The bug is due to the default method that dates are handled. I ask it for all of the races before 07/11/2009, and instead of giving me the races before 7th November, it gives me the races before 11th July. It expects the American date format. However, it handles most dates correctly. It knows that 23/09/2009 has to be 23rd September, because there isn't a 23rd month.

The bug only effects 11 days every month; the days before the 13th, but not the day that is equal to the month. From the 13th onwards, the system is a loss maker. For those 11 days each month, the system (with the bug) is hugely profitable. Then I noticed something even more exciting; there is a large number of selections that are made by the system WITH the bug as well as the system WITHOUT the bug. By removing the bugless selections, the system is even more profitable.

That's not all though, I discovered that if I removed the selections that are made on days where the month is higher than the day, the system becomes even more profitable, because the others make a loss. So it makes big profits on 12th January, and big losses on 1st December.

I had discovered, by pure chance, the perfect system. I'd only have to place bets on about 70 days a year, and have fewer selections to lay on those days. I'd also be fantastically rich, and that would be useful as I would spend the second half of every month in a different sunny country, where I'd have my own apartment.

Then I spotted a flaw in my plan. Maybe you have too?

Monday, 9 November 2009

Oh dear!

The system is now on hold, and may even be finished.

I spotted that the selections made from historical data were not exactly the same as those being selected each day. It turns out that there was a bug in the program that makes the selections from historical data. I've fixed the bug, and it now shows the system to be a loss maker.

This is very disappointing, as well as embarrassing! All may not be lost though. I need to compare the selections from the buggy code with the selections from the debugged code, and try to work out how different they are. It sounds daft, but it's possible that I may end up adding the bug to the code that makes the daily selections.

Still, I've made almost £1000 in six weeks, so it's not all bad.

Will post again once I've analysed the data. Hopefully I'll be able to salvage something from it.

Sunday, 8 November 2009

Day 42

Win Lay System - Day 42
Today's starting bank: 3382.28
Today's profit: -418.47
Profit since 28/09/2009: 963.81
New bank: 2963.81
New stake liability: 74.10

The target graph now incorporates Maria's Laying System results in yellow. My lay results in blue and target in red.

Saturday, 7 November 2009

Day 41

Win Lay System - Day 41
Today's starting bank: 3849.15
Today's profit: -466.87 (corrected)
Profit since 28/09/2009: 1382.28
New bank: 3382.28
New stake liability: 84.56

Another worst day!

I suppose if the system is going to behave the way that the historical records suggest, then I should be having worst and best days regularly. Worst days are harder to take though because, while I'm living it, those days make me doubt if it is really going to work at all.

I take some comfort in having reduced my liability level to 2.5% of bank.

Friday, 6 November 2009

Saturday preview

Of today's 638 declared runners, I'll be laying 410.

At least they can't all win!

Day 40

Win Lay System - Day 40
Today's starting bank: 3108.38
Today's profit: 740.77
Profit since 28/09/2009: 1849.15
New bank: 3849.15
New stake liability: 96.23

I had my worst day earlier this week, and now my best. :0

Despite today's most welcome profits, I'm dropping the daily liability to 2.5% of bank. I feel I need to reduce the risk of going bust because a lot can happen in a day. When I automate the bet placement, I'll try to recalculate my bank and stake liability before each race.

Thursday, 5 November 2009

Day 39

Win Lay System - Day 39
Today's starting bank: 3030.04
Today's profit: 78.34
Profit since 28/09/2009: 1108.38
New bank: 3108.38
New stake liability: 93.25

And here's what you would have won...

Here's the adventures of my £2000 bank had I used the system, as it is now, from the beginning on 28th September 2009.

Wednesday, 4 November 2009

Day 38

Win Lay System - Day 38
Today's starting bank: 3204.41
Today's profit: -174.37
Profit since 28/09/2009: 1030.04
New bank: 3030.04
New stake liability: 90.90

The vastly increased number of selections (there were around 220 today) means that it would take too much time to produce strike rate and projection figures. I may be able to do this programatically in the future.

I've had another look at the historical data in relation to my current set of selections (set A) and the new set (B) that I identified recently. As well as that I've analysed those horses that are included in both sets (the intersection of A and B) as well as the combined set of horses (the union of A and B).

Here's how they performed in the 684 days from December 2007 with a fixed liability of £100 on each selection and commission decucted:

Set A
Average price: 12.05
Strike rate: 108745 wins from 117501 selections = 92.55%
Profit: £105,213 (£153.82 per day)
Winning days: 391 (57.16%)
Highest daily win: £2243
Highest daily loss: £940

Set B
Average price: 11.72
Strike rate: 111682 wins from 121035 selections = 92.27%
Profit: £105,522 (£154.27 per day)
Winning days: 395 (57.75%)
Highest daily win: £2867
Highest daily loss: £870

Intersection of A and B
Average price: 12.78
Strike rate: 61470 wins from 65849 selections = 93.35%
Profit: £84,268 (£123.20 per day)
Winning days: 402 (58.77%)
Highest daily win: £1705
Highest daily loss: £800

Union of A and B
Average price: 11.56
Strike rate: 158957 wins from 172687 selections = 92.05%
Profit: £132,749 (£194.08 per day)
Winning days: 400 (58.48%)
Highest daily win: £2703
Highest daily loss: £1025

As you might expect, the quality selections are in the intersection, but quality seems to be far less important than quantity, and the union comes out tops on profit. It's likely that I'll now start laying horses from both A and B. That could be an average of 230 per day, in which case I really need to start work on automating the bet placements.

These figures look extremely impressive; in fact they seem almost too good to be true. I plan to put some checks in place that will help to highlight any errors I'm making in producing these figures.

The figures produced by using 3% of bank rather than a fixed liability of £100 are astronomical and would be impossible to achieve in real life.

It appears I increased the number of selections a few days too late, as I just missed out on a day where I would have made about £700.

Tuesday, 3 November 2009

Day 37

Win Lay System - Day 37
Today's starting bank: 3558.28
Today's profit: -353.87
Profit since 28/09/2009: 1204.41
New bank: 3204.41
New stake liability: 96.13

Today's strike rate: 68 wins from 78 selections = 87.18%
Strike rate since start: 840 wins from 906 selections = 92.72%

Projections for 27/09/2010
Strike rate: 8965 wins from 9707 selections = 92.36%
Profit: £41,380.89

My worst day so far. I estimate that it would have been a small profit with the system as it was before yesterday's change. I did think it would be more risky, but the upside is that it should be more profitable in the long run.

Monday, 2 November 2009

A sets maniac

You see what I did there?

In yesterday's post I said something that at best was very ambiguous, and at worst, complete nonsense. To paraphrase, I said that all of the horses I'm laying are underpriced. On my way to expressing my thoughts on where I might be going with my systems, I wish to clarify on two matters.

Firstly, when I say "horses", what I mean is an "entry"; a particular horse entered in a particular race, eg Red Rum in today's 2:30 at Plumpton might fit the requirements for my system, but Red Rum in tomorrow's 3:50 at Kempton could possibly not. So when I refer to a "horse", please replace it with "entry".

Secondly, when I say that they are all underpriced, what I mean is that they all belong to a set of horses with a common characteristic. I believe I've identified that laying every horse in that set (I'll call it set A) produces a profit. However, that is not to say that each individual horse in set A is underpriced.

A couple of nights ago, I identified another set (B), with different characteristics to A, which also appear to be worth laying. This has got me thinking. I've still to check, but I expect there will be horses that are included in both A and B, as well as horses that are included in neither A nor B. I could create a number of sets of horses, and categorise each set as underpriced, overpriced or correctly priced, based on past results.

A set of horses could be, for example:
Templegate's tips
Winners last time out
Horses beaten by less than half a length last time out
Winners at course and distance
Horses that have previously worn some sort of face furniture
The daily newspaper nap selections
Horses stepping up in distance for the first time

If a horse fits into only underpriced category sets, then would that suggest that the horse is actually underpriced? Probably not, but I would expect those horses that fit several underpriced categories to be very profitable to lay. Likewise, those horses in several overpriced sets should be very profitable to back. In addition, it may be worth considering increasing or decreasing stakes depending on the number and categories of sets a horses appears in.

Juat a thought.

Day 36

Win Lay System - Day 36
Today's starting bank: 3748.80
Today's profit: -190.52
Profit since 28/09/2009: 1558.28
New bank: 3558.28
New stake liability: To be confirmed! (112.46 today)

Today's strike rate: 65 wins from 74 selections = 87.84%
Strike rate since start: 840 wins from 906 selections = 92.72%

Projections for 27/09/2010
Strike rate: 8512 wins from 9186 selections = 92.66%
Profit: £372,028.49

I've made radical changes to the system. Firstly I've made a change that should greatly increase the number of selections. This is in the belief that all of these selections are underpriced. Historical data suggests that they are. Secondly, I've reduced the liability from 4% of bank to 3% of bank. This is for two reasons; the increased number of selections adds a lot of risk to the profits for each race, and I also think 4% was too high in the first place.

These changes should increase overall profit as well as reduce risk of busting my bank. Well, at least that's the theory. Again, with more selections, I should earn a lot more Betfair points to help reduce my commission rate.

I'm going to have a think about whether or not to reduce the daily liability figure after a loss.

Today showed a bad loss, but I'm comforted by the fact that I would have lost a lot more had I not made these changes today.

Sunday, 1 November 2009

Day 35

Win Lay System - Day 35
Today's starting bank: 3698.79
Today's profit: 50.01
Profit since 28/09/2009: 1748.80
New bank: 3748.80
New stake liability: 153.72 (unchanged)

Today's strike rate: 16 wins from 17 selections = 94.12%
Strike rate since start: 775 wins from 832 selections = 93.15%

Projections for 27/09/2010
Strike rate: 8079 wins from 8677 selections = 93.11%
Profit: £998,322.37

Place Lay System - Day 15
Today's starting bank: 1351.03
Today's profit: -65.38
Profit since 18/10/2009: -214.35
New bank: 1285.65
New stake liability: 15.00 (unchanged)

Maria's Laying System after 5 weeks
Strike rate: 306 wins from 365 selections = 83.84%
Profit: £648.21

I've decided to give the Place Lay System a break until around January. It's not performing as I'd hoped, and the stats show that November and December are poor months for the system.

The Win Lay System is still going strong though, and here's the profits v. target graph.