Books_20170913

Read up!

As described in previous post I went back to the drawing board and redesigned my models. To get some inspiration and motivation I bough a few books and read them carefully. I did not anticipate to get complete “+110% ROI MEGA DELUXE MODELS” but my hope was to get some inspiration which I could use when creating my own models and strategies. The books I read were by James Butler and Joseph Buchdahl and I can certainly recommend them if you are into the game of betting .

 

“Programming for Betfair” & “Betfair trading techniques” by James Butler, “Squares & Sharps, Suckers & Sharks” by Joseph Buchdahl.

Some of the new things in my models would not have been there without these books, thanks James and Joseph!

 

 

Books_20170913

Update of Results YTD

The last months have been a real roller coaster ride! As mentioned in previous post my ROI started to decline in February/March, but I stayed with my models all the way into July. There I took the decision to accept that my models had lost their edge, and I went back to my analysis tools and after some hard work came up with a new set of models to implement. They were implemented in the middle of August.

It might sound like a trivial thing to determine when your models are without edge, but it is not! Betting volatility is hard to see through, and my models had served me well for a couple of years (with only minor changes during that time). Betting is a long term game, but in retrospective I held on to my models to long. Lesson learned: Update and improve models more frequent!

My new models are in many ways much better than previous – They contain more pricing variables (and hopefully a more accurate odds calculation)  and they are estimated on more recent data. Now I need to wait and follow them for a while before optimizing them.

I have updated some graphs which contains accumulated figures of turnover, profit/loss and yield for 2016 and 2017 YTD.

 

I have exactly the same behavior 2017 as I did in 2016, it starts great and then it  declines from February/March. My yield now 2017 YTD is 0.45%, for 2016 same time (week 36) was 0.65%.

The turnover is much bigger than 2016, the only reason for this is that my bank has grown and therefor also my stakes. I just passed 7.000.000 SEK in 2017, and at the same time in 2016 I had staked around 3.000.000 SEK. Due to the fact that I am using new models I decided to change my requested stake size from 3% to 2%. Therefor I expect the accumulated turnover to grow slower for the rest of the year.

Thanks to the higher turnover I also have a higher PL (31.000 SEK 2017 YTD) compared with 20.000 SEK at the same time in 2016.

In 2016 I had a real good 4th quarter, it will be very exciting to see if my new models will continue to perform for the rest of the year.

Books_20170913

Edge gone to hell, or seasonality?

It’s been some time since the last post, reason is that I had to put some time into my betting models… My problems started in march when my bank started to slowly decrease instead of increase AS SUPPOSED to.

First I kept calm and let the bots run unchanged (AS SUPPOSED),  but the bad trend continued into April and from there into May. In this period there were now quite many bets generated ( 2616 in the period 1.March to 15.May).

As seen in the table above I have been seriously hurt in the Draw and Away models, and the yield is -1.3% which is exactly my long term yield target BUT WITH THE WRONG SIGN.

I am getting older and older and my memory might not be as sharp as earlier (!), but I had a hunch that my models performed real bad in the same period last year. So I dived into my old betting history and took out the performance for the same period in 2016:

OK, my hunch was correct – I had shitty performance in the same period last year (-1.08% yield).

As a final check I plotted the accumulated yield% as a function of week to see if there is some kind similar behavior:

It is now getting quite obvious that I have a repeating pattern between 2016 and 2017. Great performance in January and February, terrible in March, April. If this pattern continues I will see better performance for the rest of the year.

I am still not sure what generates this “problem”, my guess is that its related to the mix of leagues (some starts and stops in March and April), and I don’t take that fact into my current models. So, as a start to address this issue (and hopefully avoid the same pattern in 2018) I have now developed a “League classification rating” which I intend to implement for the third quarter this year.

Some details about my new rating model will be presented in a later post.

 

Books_20170913

Betting results of 2017Q1

Another quarter has passed and it is time to check how the models are performing. The result for the first quarter of 2017:

I am happy to see that it is now my ninth quarter in a row with positive yield! This quarter my bot managed to get matched at least partially in 2316 unique markets. It turned about 2.700.000 SEK (approximately 284.000 EURO or 244.000 GBP) to a yield of 1.20%, bringing a profit of 32.691 SEK (approximately 3420 EURO or 2930 GBP).

My target for 2017 is to turn 10.000.000 SEK to a yield of 1.3%, I can conclude that I am a little ahead of the amount turned but a little behind on the yield. The bad apple of this quarter is the performance of the Away bets with a yield of -2.28%.

I only update my models when the long term performance seems to be falling, some models are updated more frequently than other…  My current models with lifetime and performance:

 

The Home model is the jewel in my portfolio – is has been unchanged for a year (exactly today), during that period it has generated 2118 bets with a yield of 2.33%.  The bad apple is the Away model which now is performing below expectation also when looking at its total lifetime! Unfortunately I haven’t found anything that could improve the model, so I decide to keep it running for a little longer (0.78% is still money in my pocket). When looking at the Draw and O/U models I have found some “low hanging fruits” that can improve the models with only a small reduction in expected number of bets, so even if they are performing above expectation I will launch these changes (or I actually did a couple of days ago). The jewel is unchanged and worshiped for another quarter!

Finally, summing up my total betting career since 2008:

55.523 bets (counting bets and not markets) with a lifetime P/L of 111.302 SEK (approximalety 11.600 EURO or 9980 GBP), most of the profit made in the last 18 months.

Books_20170913

Betfair Premium Charge simulation

As my bot now has a track record of 2 years in profitability I decided to do some research in the topic of Premium Charge on Betfair. As of today I am not paying any kind of additional charges, but I guess that if my bot keeps moving money to my account I will sooner or later reach the PC limit? Is there some strategy that I could use to optimize my model between profit and charges?

This will be a two part post. This first post will focus on the behavior of PC charges in the context of my model, the second post will focus on optimizing the model with charges as one of the factors.

Right now my total commission to gross profit ratio is 37.8%. All those years turning over money for a small loss are finally paying off! But the ratio is declining and if I have understood everything correct the first magic limit is 20%, when hitting that limit I will always need to pay the difference up to 20% in PC charge.

If I should be even more successful (that is my plan) I could eventually hit the Super Premium Charge (I need to have net profit of £250.000, which is far from my current profit…). In that case I could be eligible to pay the difference up to somewhere between 40-60% based on my actual ratio.

It is hard to get a grip of what that would mean to my kind of betting, so to clarify I created a small simulation where I simulate the behavior of my model (same kind of odds and tested it for different gross ROI%) and this is what I came up with:

The above chart shows which kind of commission/profit ratio (from now C/P Ratio) my model would generate for different edges.

A. This is the current expected yield of my model right now (1.3%). At this point I expect my C/P Ratio to be around 28 %.

B. This is the point to where I can adjust my model without reaching the Premium Charge (around 2% yield).

C. If I ever reach the level of Super Premium Charge (£250.000), I will need to hold my model up to max 0.9 % yield to avoid paying that charge.

The above chart show how my model would be effected by Premium Charge (PC) and Super Premium Charge (SPC). As an example I have plotted the line to show the effect of a model returning a gross yield of 3%. The PC would bring it down to 2.7 %, and finally when hitting SPC it would be brought down to 2.1 %.

How to conclude on this?

I now know that I can calibrate my model up to a gross yield of 2 % without paying the PC, and if I reach the SPC limit I must keep the model below 0.9% yield to avoid SPC.

In the next post I will apply these curves to my own models, calibrate them at different yield% and see how many bets are generated at different levels and finally calculate my expected monetary win (yes, I prefer to maximize money and not minimize charges!).

 

 

Books_20170913

A beautiful view!

Usually I only take a quick look at my bot once or twice a day to make sure that it is up and running. Often I just see a quite boring screen with no action, but when I looked yesterday I saw this:

Following 45 markets, with live bets on at least 13 of them. Most of them still being green at the end of the match, and a total exposure of around 36000 SEK. Did some reflecting yesterday: It would be impossible for me to manually trade all these markets, bot betting makes it possible for me to follow huge amount of markets and therefor it is also sufficient to only have a small edge to see some actual positive change on my bank. I calibrate my models to hit around ROI 101%, a target which I achieve because I have great data and I have excluded markets and situation when building my models. My models are niche models, and they are really good in their niche. I consider this to be the only possibility for me to build successful models, if I would try to model all markets and all live situations I would probably have a poor losing model (being an amateur with limitations in time and money I would be outperformed by the bigger syndicates).

If I were to give you a few tips how to be successful in your model building:

  1. Model one or few markets, and focus on a certain events/situations there.
  2. Settle with a low ROI, and maximize number of bets instead.
  3. Keep your costs low, don’t pay a lot of money for data, software or other. Your profit will vanish!

 

Books_20170913

Evaluating my bot bets with hit-rate

During the last few weeks I have noticed a drop in turnover and especially in number of bets placed by my bot. Is my edge vanishing? What is the problem?!

To answer these questions I needed to create three KPI’s that describes how my models are performing in terms of generating bets and turnover; Hit-rate%, Try-rate% and Model%. I define them as:

Hit-rate = # Matched markets / # Potential markets
Try-rate = # Amt req markets / # Potential markets
Model-rate = # Potential markets / # Followed markets

The gross number of markets followed by the bot is labeled “Followed markets”, the number of markets that are within my risk appetite (meaning a betting situation can occur) is labeled “Potential markets”, “Amt req markets” are the number of markets where I asked for a bet and finally the “Matched markets” is the number of markets where I at least got a bet partially matched.

Plotting these KPI’s for the last couple of years:

 

From the above chart we can see at least three important things:

a. The difference between my Try-rate and Hit-rate is constant => I still get at least partially matched in 90 % of my bets.
b. There seem to be a lift in hit-rate/try-rate in January 2017, which is contrary to what my intuition says. A rise from around 10 % to 15 %, which can be explained by the new strategies I have added for 2017 (they are only tested with minimum stakes and therefor their presence is only visible here and not in turnover).
c. The Model-rate is also constant at around 85%, meaning that my risk appetite have the same impact in relative terms as previous years.

In the above chart we see the absolute number of markets followed and markets within my risk appetite. We can clearly see two things:

a. The cyclic nature of soccer markets, with many markets played in April and October and less markets in December/January/June.
b. The increase of markets followed by the bot during the last years, explained mainly by improving my code and therefor making it possible to follow more markets simultaneously.

From these two charts I conclude that the low in bets generated is simply a problem with few markets played. When a market is followed I still have the same probability to find a betting opportunity and the same probability to get a bet through. I am also positive surprised that the test strategies lifts my hit-rate from 10 % to 15 %, now I only hope that they also will deliver a ROI of +101%.

Books_20170913

Top10 supported soccer teams – Looking for edges – Part 3 of 3

This is the third post in the following series:

1. If many “play-for-fun” supporters bet on their favorite team, can laying them pre-game be a winning strategy?
2. What if one of these teams take a one goal lead in-play. Should I back or lay?
3. What if their opponent takes the lead by one goal. Should I back or lay?

In this last exercise we examine the situation where the Top10 team suddenly is trailing by one goal. This doesn’t happen often so there is only a small amount of data.


There seem to be value in laying the Top10 team if it is the home team, and the match is a domestic league match. It seems like the market overestimates the comeback potential in those cases!

Now we have mined through some data and found a few angles that could be interesting to exploit, so in the next blog post I intend to create some strategies from these insights for 2017 – and will follow up on them during the year. So check back in a few days!

Books_20170913

Summing up 2016 and prognosis for 2017

It has been a fantastic year for the bot! Looking back for my 2016 prognosis one year ago, I wrote:

“So what do I hope for 2016? Its not of any value to have financial goals, I will just try to improve the model, bot and risk management as much as possible and hope for the best… But walking into 2016 with much better starting point than in 2015, a reasonable guess would be to turn at least 4 MSEK, and reach a ROI of 1 %. If that’s the case it would mean a profit around 40000 SEK.”

The actual performance for 2008-2016:

post_20170101_1

I managed to increase both turnover and ROI, instead of the prognosis to turn 4 MSEK I turned 6.1 MSEK and instead of 1 % yield I got 1.2%. Increasing both of them gave me a profit of 75 865 SEK (instead of the anticipated 40 000 SEK).

Breaking down the bets for 2016 on bet types:

post_20170101_2

I am happy to see that I am “green all over”, although the Draw and Over/Under models are performing below expectations.

The plan for 2017 is to keep the good models for Home and Away, and do some minor changes to Draw and Over/Under to slightly improve their yield. I aim to get all models +1.0% yield. My total yield goal is to improve from 1.24% to 1.30%.  A bigger wallet for 2017 will also mean bigger stakes and more turnover. Projecting the turn for the last few months indicates that 2017 could turn around 10 MSEK in total. If both these conditions hold I guess that the bot will generate around 130 000 SEK. That would be very satisfying!

I have also implemented two new models, one for Home and one for Over/Under. These are non-competitive with the other models (meaning that they wont ever bet on the same market). I will start these models with very small stakes, and evaluate during the year. If I could get these models going on full stakes later this year it would increase turnover a lot….

Finally, happy new year to you all and let us make 2017 a magic betting year!

 

 

Books_20170913

Top10 supported soccer teams – Looking for edges – Part 2 of 3

This is the second post in the following series:

1. If many “play-for-fun” supporters bet on their favourite team, can laying them pre-game be a winning strategy?
2. What if one of these teams take a one goal lead in-play. Should I back or lay?
3. What if their opponent takes the lead by one goal. Should I back or lay?

The data is from in-play match-odds from 2013, and the bet is calculated from the first recording after the first goal that also has an over-round of maximum 2 %.

I mined through the data and found something interesting when I separated league matches from other matches (cups, champions league etc). Domestic league are marked as “Y” and others as “N” in the table:

post20161203

Backing the top10 teams in other matches but league-matches has been a good profitable strategy the latest years, and has worked well both when the top10 team is playing home and when playing away.

The league matches show the opposite trend, backing the top10 team would have been something similar to setting fire to your money. On the other hand, laying them would have been profitable (including the negative yield laying away in 2016).

In the next post I will deep into the situation where the opponent to the top10 team takes a one goal lead…