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 normalize 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] maximizes 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 margin of error. This attempts to consider the favourite-longshot bias by utilizing the wider margin of 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]

Experiment Results

The experiment results table directly below is based on the same 6,000 football matches' betting odds 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.

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.0.6.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

goto_conversion-0.0.6-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: goto_conversion-0.0.6.tar.gz
  • Upload date:
  • Size: 4.0 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.0.6.tar.gz
Algorithm Hash digest
SHA256 dc9fceebce0010d3e2bf6e92626a94a7b3a19b79d7f706fef620236659684df3
MD5 8862915a0faf869dfd419fe8f23ecff6
BLAKE2b-256 ff7a2dddf5d4de7d4a5eed0dc80480c49f317e5be62bc29125fb32cb41c8b33c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goto_conversion-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e744484db1c96ae3d6bfb38d0cb8dd68d94d7f519d5249aab3630d630c092947
MD5 8865692f8c57c39a29d86545494e3de4
BLAKE2b-256 27adfe301f9dc959bad8e60f5957085a8a8557b7d54afe6cf65ef881f7a7c6b3

See more details on using hashes here.

Supported by

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