ljk1072911239 / betting_system

Semi-automatic football betting system.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is this?

It is a system that collects the following football data:

Based on the past results and individual performance ratings the system generates probabilities/odds for the future fixtures. Then it compares these odds against odds collected from "oddschecker.com". If discrepancy big enough is noticed (if odds generated by the system are lower than official ones), then the system suggests that it may be worth to place a bet, and that's the final result/output of the system. It indicates what bets are worth making.

Origin and purpose

It's a project I created in 2016 while learning the basics of python. The code is really ugly and I do not really recommend trying to use this project. I share it because:

  • I'm going to mention creating it in application for an internship (and would like to provide option to view it as a courtesy).
  • I believe the idea itself was not bad. In particular the use of whoscored.com performance ratings that were generated by very detailed information about players performance provided to it by Opta company. If used appropriately, I think it could give an edge when calculating win/lose probabilities (as compared to "official" odds provided by bookmakers).

More information

It was my research project for 2nd year of HND in Sport, the project outline document is available in this repository.

It worked with 9 different leagues and collected data from 3 different sources. It was a challenge to link information from these sources with each other because each website/service used slightly different team names or date formats. In the end I got it working and evaluated its' performance by making large number of small bets (around 200, see bets_log.txt) suggested by the system, but unfortunately it did not generate profit.

Before the practical/manual evaluation of system performance was undertaken, the system did self-evaluation by using historical data and pretending that results of games past specific date are not known yet. This way the system could check if it would make any profit if it sticked to placing bets suggested by itself. This type of evaluation was used by me to adjust parameters used to generate odds.

Various parameters were taken into account when generating odds:

  • results of the last 19 games (optionally putting more weight on the more recent games)
  • averaged individual player ratings in the last 19 games (again, optionally weighted)
  • results of the games between the same teams
  • home advantage multiplier (defined by how often home teams won/lost/drew in the specific league)

About

Semi-automatic football betting system.


Languages

Language:Python 100.0%