In Practical Dominance, we outlined an adaptation of the 'practical dominance' algorithm from Smart Choices to help us identify likely convex bets. On this occasion, we will further extend the algorithm in order to automate it. Though obviously heretical to those of an 'Even Swaps' persuasion, nevertheless our adaptation will ultimately prove to be of value.
Effectively, we will loop over 'alternatives' and 'criteria' in successive iterations to reduce our initial table to as few selections as possible.
In each pairwise comparison, if one alternative has more wins than losses than the other alternative (comparing ranks across criteria) and the latter has no more than one win, then the first alternative practically dominates the second one. A similar explanation applies if the second alternative has more wins than losses compared to the first alternative.
We begin our process by converting the raw ratings of 13 alternatives across 8 criteria into the equivalent table of ranks. In so doing, we are implicitly creating a level playing field allowing us to proceed by successive iterations to reduce both alternatives and criteria.
This leaves us with 'Hotel' as the only remaining alternative in a 13 runner field and as long as the odds meet our minimum convex bet requirement of twice the natural odds (2∗(13−1))/1≈25/1) it is our selection.
python PD_Revisited.py -h
PD Revisited - Ex Novo
(c) 2022, matekus, All Rights Reserved.
https://vendire-ludorum.blogspot.com/
usage: PD_Revisited.py [-h] [-f FILENAME] [-x THRESHOLD]
optional arguments:
-h, --help show this help message and exit.
-f FILENAME, --filename FILENAME
Csv file name (default: Sample_Racecard_Ranks.csv).
-x THRESHOLD, --threshold THRESHOLD
PD threshold (default: 1).
If more than one choice remains because no alternatives are eliminated in the last iteration, then we can either increase the practical dominance threshold (default = 1) or leave our final decision to a combination of the average ranks and available odds.
Obviously, there is no guarantee that we will end up with a viable option.