Showing posts with label Bayes. Show all posts
Showing posts with label Bayes. Show all posts

Sunday, December 12, 2021

Bayes Stake Calculator

Bayes Stake Calculator

Kelly staking is a function of win probability (p = wins /events) but not of the magnitude of wins and events. So, in Kelly terms, (p=2652)(p = \frac {26}{52}) is equivalent to (p=260520)(p = \frac {260}{520}) but to the SportsTrader these historical records represent qualitatively different pieces of information. We have more confidence in the second proportion than in the first.

You can use our online Bayes Stake Calculator to evaluate your own betting strategies.

Canadian statistics professor - David Beaudoin - suggests a potentially profitable trading strategy for the NBA Playoffs based on a historical record of 271271 wins from 484484 events at decimal odds of 1.909091.90909 (110)(-110). Kelly recommends a stake of 7.58%7.58\% to capitalize on this edge. However, using the no-vig odds of 2.002.00 to generate a prior and using the historical record to create a likelihood, we can calculate a Bayes stake of 5.36%5.36\%.

This new Bayes stake reflects both the magnitude of the historical record and the probability of winning. By contrast, the Kelly stake only reflects the probability of winning.

In his excellent book, A Mathematician Plays The Stock Market, John Allen Paulos outlines a potentially disastrous trading strategy that on the surface suggests riches but in reality is likely to lead to poverty.

Once again, using our Bayesian approach, we calculate a stake of 4.49%4.49\% in constrast to a Kelly stake of 12.50%12.50\%. If, however, Paulos had 10 years of data (260520)(\frac {260}{520}) then we would recommend a stake of 10.50%10.50\% whereas the Kelly recommendation would remain unchanged.

We strongly advise that you read both Market Efficiency and Bayesian Probability Estimation via the Beta Distribution and Modified Kelly Criteria - both of which publications inspired this post.

Note, the Confidence option represents how confident you are in the quality of the historical record. Selecting a low confidence level will reduce the calculated stake. As ever, there is limited error handling - Enjoy!

Sunday, April 12, 2020

Kalman Filter Handicapping

Last Performance Or Median Performance

With respest to historical results, performance ratings and time ratings are routinely calculated, by various organizations, using proprietary formulae or algorithms that are unknown to the average handicapper. Given a track record of such past results, how should we evaluate a horse's latent ability:.
  • last performance, or
  • median performance.
Last performance captures current form but what if that last result was an unusually good or an unusually bad performance? In that context, we rely more heavily on median performance to better reflect latent ability!

As a guide to which is a better overall indicator (signal) of ability, we can adapt a Kalman Filter to track a dynamic model (changing ability of horse) using an error-prone, measurement process (time ratings: 67..115) to guide our intuitions. The filter predicts the next performance level (ratings: 90..116) beginning with an arbitrary starting-point (90), and proceeds through a series of predict-measure-update iterations using a Bayesian-like updating algorithm (predict=prior, measure=likelihood, update=posterior).
We are probably making unwarranted assumptions about the levels of process noise and measurement error in applying this filter to the current scenario. Plus, we are using a changing time interval between measurements that is non-standard. Nevertheless, we can see from the worked example that the last prediction (116) is a more accurate reflection of current ability than the median performance (108).
In order to experiment with the embedded worksheet, you may need to alter the parameters, as follows:
  • X0 = Initial estimated rating,
  • P = Average estimated rating error,
  • Q = Average rating change per race, and
  • R = Average calculated rating error.
Obviously, you will also have to provide the calculated ratings for all past performances of interest!

Friday, June 05, 2015

Euro-Style Handicapping

As a long-distance, handicapper of Euro races, I look for events in England, France, and Ireland (Grade 1 Horse-Racing Countries) with a high degree of chaos (I have entropy scores for all race-types). From this initial list, I have selected seven race-types that I focus on exclusively. Because of the high level of uncertainty in these races, the market (wisdom of crowds) is a less successful predictor. With a Bayesian-based, Elo-Class algorithm, I generate my own performance figures. Using the performance figures for all entrants in a chosen race, I run a Monte-Carlo simulation of 1000 races that automatically generates a realistic odds-line as final output. Critically, as long as there is at least one overlay (almost always) in the chosen race, I finally run a Haigh-like, Kelly-variant algorithm that selects the final contenders. (As I have stated elsewhere, this list may include both overlays and underlays).