Saturday, December 22, 2018

Automatic Trading Using WCMI

Explore And Exploit

On which sports-trading events should we risk our capital? A good starting point is to ask the fundamental question of sports markets:

"Is the public market well-informed with respect to a specific event (Wisdom of Crowd)?"

Our proxy for identifying such events is to calculate the Wisdom of Crowd Market Index (WCMI) for all markets and to select only those events for which the market falls below a specific WCMI threshold (for example, 0.15). By focusing on these less well-informed markets, we are dramatically increasing the chances of identifying at least one overlay. In other words, the guiding principle is to explore all markets but only exploit those markets with low WCMIs. For UK Flat horse-racing markets, FlatStats is the logical starting point in this process.

Market Selection Using WCMI

The following Betfair simulation shows how an automated trading solution would first filter those markets with low WCMI and then, having identified at least one overlay, bet on one or more selections as calculated by the Single Event Multiple Selections variant of the Kelly Criterion:
  • Filter markets (e.g. identify 5f sprints);
  • Calculate WCMI for each filtered market;
  • Rank contenders in market on fundamental factors;
  • Create odds-line for contenders based on ratings;
  • Check market contains at least one overlay;
  • Make selections using Kelly Criterion; and
  • Submit bets.

Monday, November 26, 2018

Kelly's Multiple Personality Disorder

For the professional sports-trader, Kelly has three separate mathematical forms:
  1. Single Event, Single Selection;
  2. Single Event, Multiple Selections; and
  3. Multiple Events, Multiple Selections.

Single Event, Single Selection

This is the basic case as outlined in cursory descriptions of the Kelly Criterion. We identify a selection, which gives us an edge over the market and calculate the optimal stake to maximize that advantage. For this purpose, the Excel Add-In offers the KellySingleStake sports-trading function that accepts Decimal OddsWin Probability, and Multiplier parameters. The KellySingleStake function is the correct formula for AvB events such as moneyline markets in MLBNBA, and the NFL.

Decimal OddsWin ProbabilityStake
2.0053%6.00%

Single Event, Multiple Selections

In AvB events, the general advice to only bet the overlay is technically correct. However, in an AvK event, such as horse-racing and golf with a number of mutually-exclusive outcomes this advice is not strictly correct. Kelly betting is predicated on maximizing the logarithm of the handicapper's bankroll over the long-term. But, in the short-term, that goal is translated into not losing specific events when the price is right! The key role played by overlays in mutually-exclusive events is that there must be at least one such betting option available in any event on which we wish to bet. Beyond that, the specific choices will only be governed by maximizing the logarithm of our bankroll! The sports-trading function, KellyMutExStakes (array formula), with Decimal Odds Range and Win Probability Range inputs will identify the optimal selections and stakes.

EntryDecimal OddsWin ProbabilityTrader EdgeStake
Charlie5.5020.00%10.00%5.96%
Alpha2.62540.00%5.00%10.59%
Bravo3.2530.00%-2.50%6.25%
Delta6.008.00%-52.00%0.00%
Echo21.002.00%-58.00%0.00%

Multiple Events, Multiple Selections

For Nx(AvB) events, such as trading Ryder Cup golf singles matches or NFL games on Any Given Sunday, we need the sports-trading function, KellySimEvtStakes (array formula), with Decimal Odds Range and Win Probability Range parameters to identify the optimal stakes.

EntryDecimal OddsWin ProbabilityTrader EdgeStake
SvWH1.5075.00%12.50%9.10%
BHAvB1.4080.00%12.00%11.70%
DvAV1.6070.00%12.00%6.825%
LvCP1.3085.00%10.50%14.70%
AvB1.000.00%-100.00%0.00%

Note that Example #2 in the Pinnacle Guest article - The real Kelly Criterion - calculates the wrong stakes as can easily be confirmed by entering the decimal odds and win probabilities into the SBR Kelly Calculator for four independent events.

Saturday, July 07, 2018

Betting Strategy Calculator (Itty.Bitty.Site)

Itty.Bitty.Site is a new URL-based microsite generator, created by Nicholas Jitkoff, that is sure to revolutionise the web in ways that we cannot yet imagine (hopefully, in positive ways). To that end, we have created one of the first Itty.Bitty HTML5 apps that runs a simple assessment of your betting strategy - Betting Strategy Calculator. Or access via QR code. Enjoy!
Note: The app works in both Chrome - you may have to set Insecure content blocked = Load unsafe scripts from end of address bar) and Firefox. For Edge - Use context menu | Inspect element | Emulation | Mode (User agent string) = Internet Explorer 11 and set Blocked content = See all content (at end of address bar) and wait 10 seconds for page to load. The app will disappear when emulation mode is closed.

Thursday, June 28, 2018

Speed-Stamina Course Profiles And Juvenile Races

In an earlier posting, Speed-Stamina Fingerprints, we outlined an approach to "hoof-printing" racecourses in terms of their speed-stamina profiles based on the best times for various distances using a power-law equation, approximately of the form: Time=Speed*DistanceStamina. This approach also allows us to effectively project performances by inexperienced 2yo and 3yo horses, as follows.

For example, supposing a 2yo colt turns in an eye-catching performance in a novice race and is entered in a graded stakes race 10 days later. Historical data tells us that the median winning time of this future event is
73.57s. The question we want to ask: Is the maiden winning colt likely to be competitive in the graded stakes event? One way of answering this question is to translate the maiden performance into an equivalent performance at the graded stakes course and distance. Using our hoof-printing technique produces a time of 73.40s telling us that this promising colt is likely to be an above average contender for the graded stakes event. Fast-forward to race day and our selection wins in a time of 73.51s (just 0.10s slower than projected). (Note that we were not restricted to choosing performances at the same distance as the future event).

Obviously, this technique has restrictions in terms of producing realistic projections. It works best with:
  • Maiden 2yo and 3yo races at sprint distances;
  • Races on “Good” or “Good-To-Firm” going; 
  • Recent “In-The-Money” races;
  • Projections from one graded stakes racecourse to another (e.g. Newmarket to York); and
  • Horses that race prominently and do not require "luck in running".

That said, it has potential for projecting future times based on performances at racecourses with vastly different configurations, a goal which cannot be achieved by speed figures!

Thursday, May 31, 2018

CsvPredictor: Turns Historical Record Into Mini Prediction System

CsvPredictor turns a historical record in CSV format into a mini prediction system. The program is completely agnostic with respect to the domain knowledge captured in the file (e.g. weather conditions, successful movies, past performances). 
Running CsvPredictor.exe with a valid csv file will result in a QnA session based on the salience of the features (columns), effectively, turning a standard flat file into a data mining classification tree
For example, whether or not to play ball given current weather conditions:
    C:\CsvPredictor>CsvPredictor.exe PlayBall.csv
    CsvPredictor v2.41
    Input File: "PlayBall.csv" (14 records and 4 features)
    Top Features (Salience)
    Outlook   0.46176
    Humidity  0.36618
    Wind      0.11693
    Q. Is Outlook  =  ["Overcast"; "Rainy"; "Sunny"]?  Sunny
    Q. Is Humidity =  ["High"; "Normal"]?  Normal
    A. Predict: PlayBall = True
    C:\CsvPredictor>
or checking the likelihood of a new movie being a blockbuster!
    C:\CsvPredictor>CsvPredictor.exe Movies.csv
    CsvPredictor v2.41
    Input File: "Movies.csv" (2690 records and 5 features)
    Top Features (Salience)
    Budget              0.34871
    Genre               0.26719
    Production Country  0.24084
    Runtime             0.11430
    Q. Is Budget =  ["<=15000000.00"; "<=44263333.33"; "<=380000000.00"]? 
                    <=15000000.00
    Q. Is Genre =  ["Action"; "Adventure"; "Animation"; "Comedy"; "Crime"; 
                    "Documentary"; "Drama"; "Family"; "Fantasy"; "Foreign"; 
                    "History"; "Horror"; "Music"; "Mystery"; "Romance"; 
                    "Science Fiction"; "Thriller"; "War"; "Western"]?  
                    Action
    Q. Is Production Country =  ["Australia"; "Canada"; "Hong Kong"; 
                                 "Ireland"; "United Kingdom";
                                 "United States of America"]?  
                                 United States of America
    Q. Is Runtime =  ["<=99.47"; "<=115.00"; "<=248.00"]?  <=115.00
    Q. Is Release Month =  ["<=5.00"; "<=9.00"; "<=12.00"]?  <=12.00
    A. Predict: Success = True
    C:\CsvPredictor>
Note, it is very important to state that this program is only intended to provide an easy entry-point to data analytics for handicappers and is, in no way, intended to replace the advice and expertise of professional data analysts and statisticians!

Sunday, May 06, 2018

ExMachina Handicapping Rules (Excel Add-In)

Many of us spend countless hours trawling through historical records in a vain attempt to gain new insights into the key fundamental factors that will enhance our sports handicapping. Unfortunately, our innate cognitive biases (e.g. anchoring, availability, confirmation) continually invade all attempts at a quasi-scientific approach to data mining. Ideally, we would like a quick-fix solution to this dilemma – no new learning required and automatically works with available tools!

To that end, enter the ExMachina Excel Add-In (32-bit and 64-bit), which takes as input a CSV file of historical data and outputs a set of decision rules. In brief, the goal is to identify the most salient attributes in the data file and to create a set of rules based on that specific subset. Note, it is very important to state that this Excel Add-In is only intended to provide an easy entry-point to data analytics for handicappers and is, in no way, intended to replace the advice and expertise of professional data analysts and statisticians.

If you are interested in reviewing how the Excel Add-In works, then download the following MP4 file – ExMachina Handicapping Rules.

Monday, March 12, 2018

Cheltenham 2018: Supreme Novices Hurdle Handicapping

It is time once again for our annual attempt to find live longshots to finish in the money in the Supreme Novices Hurdle (G1) at Cheltenham 2018.

As ever, our approach is based on the following premises:
1. Supreme Novices Hurdle is similar to Kentucky Derby - young horses, many 
attempting graded stakes, championship race for first-time with little form in book.
2. Eliminate non-contenders and whatever remains, no matter how improbable, are our selections. 
Horses are only eliminated under one heading even though they may qualify for elimination under 
multiple headings:
    a. Pedigree mismatch to former winners [Sharjah].
    b. Small fields [Slate House].
    c. Poor "Late-Speed" [First Flow, Shoal Bay].
    d. Poor Cheltenham Form [Golden Jeffrey].
    e. Not suited by Going [Saxo Jack, Trainwreck].
    f. Not suited by L-H track [Getabird].
    g. Poor FPR [Khudha, Lostintranslation, Mengli Khan].
    h. Over-exposed form [Claimantakinforgan, Dame Rose, Western Ryder].
    i. Weak "Strength-Of-Schedule" [Simply The Betts].
8. Minimum price 10/1 [Kalashnikov, Summerville Boy].
This leaves Paloma Blue 13/1Us And Them 33/1, and Debuchet 40/1 as our selections with Kalashnikov 4/1 and Summerville Boy 8/1 only eliminated on price!

Note: Given the limited exposure of all the runners, we are not saying that those we have eliminated are not going to win - simply that they did not meet our criteria for live longshots to run in the money. The key takeaway, as always, is using a process of elimination not selection for identifying contenders.

Thursday, March 08, 2018

Kelly And Mutually-Exclusive Outcomes (AvK)

In AvB events, such as baseball, basketball, or football, the general advice to only bet the overlay is technically correct. However, in an AvK event, such as horse-racing, with a number of mutually-exclusive outcomes this advice is not strictly correct. For example, in the following racecard (sorted in decreasing e.v order), even though the handicapper has rated Bravo's win probability (π) at 29%, it is an underlay and not included in the list of bet selections:

hpπe.vΣ(π)a.kb.k%
Echo21.007.00%1.4700.0700.0480.9772.49%
Charlie5.5020.00%1.1000.2700.2290.9472.78%
Bravo3.2529.00%0.9430.5600.5370.9510.00%
Delta6.0013.00%0.7800.6900.7041.0470.00%
Alpha2.5031.00%0.7751.0001.1040.0000.00%

But, if Bravo's price was to drift to 3.35, then this underlay is now added to the list!

hpπe.vΣ(π)a.kb.k%
Echo21.007.00%1.4700.0700.0480.9772.56%
Charlie5.5020.00%1.1000.2700.2290.9473.05%
Bravo3.3529.00%0.9720.5600.5280.9321.18%
Delta6.0013.00%0.7800.6900.6951.0150.00%
Alpha2.5031.00%0.7751.0001.0950.0000.00%

Kelly betting is predicated on maximising the logarithm of the handicapper's bankroll over the long-term. But, in the short-term, that goal is translated into not losing specific events when the price is right! The key role played by overlays in mutually-exclusive events is that there must be at least one such betting option available in any event on which we wish to bet. Beyond that, the specific choices will only be governed by maximising the logarithm of our bankroll!



Note
: Blindly backing high probability combinations such as Alpha, Bravo, and Charlie (total win probability = 80%) will eventually lead to ruin.