Skip to main content

Novel Conversion of Betting Odds to Probabilities

Project description

goto_conversion (Novel Conversion of Betting Odds to Probabilities)

The most common method used to convert betting odds to probabilities is to normalise the inverse odds (Multiplicative conversion). However, this method does not consider the favourite-longshot bias.

To the best of our knowledge, there are two existing methods that attempt to consider the favourite-longshot bias. (i) Shin conversion [1,2,3] maximises the expected profit for the bookmakers assuming a small proportion of bettors have inside information. (ii) Power conversion [4] raises all inverse odds to the same constant power. However, both of these methods require iterative computation to convert betting odds to probabilities.

Our proposed method (goto_conversion) is significantly more efficient than Shin and Power conversion because it converts betting odds to probabilities directly without iterative computation.

The goto_conversion reduces all inverse odds by the same units of standard error. This attempts to consider the favourite-longshot bias by utilising the proportionately wider standard errors implied for inverses of longshot odds and vice-versa.

Furthermore, our tables of experiment results below show that the goto_conversion converts betting odds to probabilities more accurately than all three of these existing methods.

Installation

Requires Python 3.7 or above.

pip install goto-conversion

Usage

Decimal Odds

import goto_conversion
goto_conversion.goto_conversion([1.2, 3.4, 5.6])
[0.7753528189788175, 0.17479473292721065, 0.04985244809397199]

American Odds

import goto_conversion
goto_conversion.goto_conversion([-500, 240, 460], isAmericanOdds = True)
[0.7753528189788175, 0.17479473292721065, 0.04985244809397199]

Pseudo Code

alt text

Experiment Results

The experiment results table directly below is based on the same 6,000 football matches' betting odds (home win, draw or away win) across four different bookmakers.

alt text

Kaggle notebook to reproduce the table directly above: https://www.kaggle.com/code/kaito510/novel-conversion-of-football-betting-odds

The experiment results table directly below is based on 6,348 horse races' betting odds for the win and place markets.

alt text

Kaggle notebook to reproduce the table directly above: https://www.kaggle.com/code/kaito510/novel-conversion-of-horse-racing-odds

References

[1] H. S. Shin, “Prices of State Contingent Claims with Insider traders, and the Favorite-Longshot Bias”. The Economic Journal, 1992, 102, pp. 426-435.

[2] E. Štrumbelj, "On determining probability forecasts from betting odds". International Journal of Forecasting, 2014, Volume 30, Issue 4, pp. 934-943.

[3] M. Berk, "Python implementation of Shin's method for calculating implied probabilities from bookmaker odds"

[4] S. Clarke, S. Kovalchik, M. Ingram, "Adjusting bookmaker’s odds to allow for overround". American Journal of Sports Science, 2017, Volume 5, Issue 6, pp. 45-49.

Contact Me

LinkedIn Message: https://www.linkedin.com/in/goto/

Kaggle Message: https://www.kaggle.com/kaito510/competitions

Or fire an issue on this repo.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

goto_conversion-0.1.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

goto_conversion-0.1.1-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file goto_conversion-0.1.1.tar.gz.

File metadata

  • Download URL: goto_conversion-0.1.1.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.3

File hashes

Hashes for goto_conversion-0.1.1.tar.gz
Algorithm Hash digest
SHA256 33212bcb37660d400cbdc8903eac967502582827accec4c8d51d0e54571ef516
MD5 2e4b1f1e36005f1c16d2b6dfe9563b5a
BLAKE2b-256 9591ed8dd2fb4e2d0f623cf733e59ddf589c840f58d3d8f6e09c6fa0839a5132

See more details on using hashes here.

File details

Details for the file goto_conversion-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for goto_conversion-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9fb60ee04552d5dc6d4503e1f116c75de468056345b91171e7cf6d1625926757
MD5 59280fe756611eb5bdb246cfc4e1928d
BLAKE2b-256 268c6ad64d82df816ed832c67e828ecb9a303622804d6f1abdb60a6986135a5b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page