Jump to content

Introduction and my code based odds predictor


montekaleb

Recommended Posts

Hi all, My first post here. I'm not 100% sure that this shouldn't be in the 'Punters Tools' forum, but as its a system I'm building rather than a tool I'm making available, I'm going with here. I'm builidng a program that takes historical data and attempts to estimate odds from it. It's far from finished, but there's enough there to be able to make early tests. It currently goes by the uninspiring name of 'FootyCalculator'. I'm writing my code in C#, because it makes GUIs fun and the LINQ processing is kind of handy for all that data-trawling. And with the object model, I can use interfaces for my odds and rating components and make them pluggable for easy experimentation. Forgive me my terminology; I've been doing this by myself without a background in betting so I don't know the technical terms for the betting side of what I'm talking about. So, to details - I'm getting my data on odds and performance from the CSV files freely availabe at http://www.football-data.co.uk/data.php For each team In a division I generate a rating for each date. This is straight-foward; it's an average of the previous X games ( usualy 4 each home and away, but it's not hardcoded ) where the stats have been summed with a weight table. Over the last 3-5 seasons, I use the weight differences for each game to place it in a table of results ( win, lose, draw ), and then use a smoothing calclulation to create a mapping from rating-differences to the historical probabilities of different outcomes for that rating difference. I'm using a genetic alogrithm to select a weight set that gives me good gains on the historical data, where I simulate a bet whenever my calculated odds are better than the bookie odds. This lead to poorer live performance than I expected, and I realised that despite the large dataset, the GA was overtraining so that the rating system used created a very spiky graph where the spikes encoded data about past anomalies. So I adjusted the GA to select not only on performance, but also on the relative 'smoothness' of the graph. I've been building this in the odd hour here or there since June, and have started betting at the start of this season. The first couple of weeks I didn't have the GA running and had to hand-select the weights by a process of trial and error. Currently I bet a full stake if I have and edge of 7%+, and a half stake if the edge is 5-6% OR the team is new to the division and so my data is suspect. I'm working on small stakes, at least until I can gain some confidence that it is working and that I have some bankroll-management system in place. So far variance is wild; on a days betting I can be between -40% and +80% on my stake. Unfortunately the -40% was on the day I got cocky and bet my entire bankroll. There's a lesson worth learning :p Whats next ? 1) At the moment, there is no bet-recording. The program doesn't even know I'm making bets, it just gives me its estimated odds. So I need to get it to store all the bets that I make in a session. This has got three main advantages;

  • I get to keep a record, that I can analyse later
  • I can get it to calculate relative bet-sizes, and give me an estimate of variance
  • It can output a form that I can use to post my picks here.
2) I have to load each division seperately with a restart of the program. I want to get it to load them all at once. Uses -
  • Easier to use !
  • I can calculate the average ratiing-difference between divisions, which will help for relegated/promoted team predictions

3) Odds-loading - currently, I'm hand-entering the odds of the matches that I want to play. Given how many betting sites provide XML files of their current odds, this is just stupid. So, plenty to work on ... And are any of you working on something similar ?

Link to comment
Share on other sites

Re: Introduction and my code based odds predictor Hi, montekaleb, :welcome to the forum! :)

So, plenty to work on ... And are any of you working on something similar ?
Indeed, from you decription, it seems very ambitious work! I'm not aware of many so sofisticated systems on this forum; most of the systems found here rely on research and match selection rather than complete automatization. One of rare systems that relied on machine (literally... ;) ) rather than human research was Machine's system based on artificial intelligence; unfortunatelly, it seems he abandoned the system due to lack of interest, althogh previous season showed its potential; anyway, if you want to see the idea, here are the links: http://forum.punterslounge.com/threads/119849-A-I-Football-27-yield http://forum.punterslounge.com/threads/133484-A-I-D-E-s-Back
My first post here. I'm not 100% sure that this shouldn't be in the 'Punters Tools' forum, but as its a system I'm building rather than a tool I'm making available, I'm going with here.
Well, that's not crucial issue, and there are pretty simple rules; if you intend to post here bets generated by your FootyCalculator, and to record its profit/loss, you're in the right place; if you don't want to post any bets, but just want to discuss about your software and share ideas, then "Punters Tools" forum is sutiable place; as I said, it's not crucial issue, and we can move the thread between forums, if needed. Enjoy the forum, and good luck with FootyCalculator's development! :ok
Link to comment
Share on other sites

This thread has more posts. To see them, you'll need to sign up or sign in.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...