Cheltenham 2021: Supreme-Novices Hurdle Handicapping
Suffice to say that this year's Supreme Novices Championship Hurdle has been gutted with 10 defections at the last stage of declaration. That said, the following analysis was completed before this happened...Remember that handicapping is all about getting the process right. After that, the results will naturally follow. Enjoy!
'Once more unto the breach, dear friends...'
It is time once again for our annual attempt to find live-longshots (10/1+) to finish in the money in the Supreme Novices Hurdle (G1) at Cheltenham 2021.
Taking our lead from Shannon-Fano Crowd Handicapping, we can see that the implied probabilities of the win-market prices allow us to divide the race entrants into five separate groups (ABCDE). For example, the first group (Appreciate It and Metier) accounts for approximately 50% of the market. The question we then ask ourselves is whether the winner will come from this group or the remainder of the field? Similarly with the second group - comparing it to the remainder of the field below it. As a result, we have effectively reduced the race from one comprising 18 runners initially to four sub-races (AvBCDE, BvCDE. CvDE, and DvE), which is a much simpler cognitive task to undertake. However, for this particular exercise, we will effectively be ignoring groups A and B.
This year we will apply two distinct approaches to our analysis:
a. Pencil-and-Paper (Qualitative) and
b. Constraint Satisfaction (Quantitative).
Pencil-And-Paper Handicapping
This is our traditional approach for the last few years, where we use a process of elimination for identifying contenders.
a. Short Starting Price [Appreciate It, Ballyadam, Blue Lord, Metier, Soaring Glory].
b. Connections lack confidence [Galopin Des Champs, Ganapathi, Guard Your Dreams, M C Muldoon, Shakem Up'Arry].
c. Poor FPR [For Pleasure, Galopin Des Champs, Grumpy Charley, Shakem Up'Arry].
d. Pedigree mismatch to former winners [Blue Lord, Ganapathi, Grumpy Charley].
e. Poor "Late-Speed" [For Pleasure, M C Muldoon, Shakem Up'Arry].
f. Poor Cheltenham form [Shakem Up'Arry].
g. Never run on L-H track [Ganapathi].
h. Over-exposed form [For Pleasure].
i. Weak "Strength-Of-Schedule" [Guard Your Dreams].
j. Convincingly beaten by current favorite [Irascible]
We are left with the following five horses, which are worth each-way consideration:
a. Bob Olinger 17.00
b. Keskonrisk 32.00
c. Gowel Road 44.00
d. Fifty Ball 70.00
e. Third Time Lucki 85.00
Constraint Satisfaction Handicapping
Our alternate approach is to use the recently posted Trader Probabilities Derivation And K-L Divergence (Part 3) method, which is basically solving a constraint satisfaction problem (CSP).
Model Cheltenham_Supreme-Novices-Hurdle
Variables
! --- Public market information ---
! Trader win probabilities.
! Initial values set to market price implied probabilities.
! Lower-bound set to 0%.
! Upper-bound set to 100%.
appreciate_it = 1/2.60, >=0.00, <=1.00
ballyadam = 1/8.00, >=0.00, <=1.00
blue_lord = 1/12.00, >=0.00, <=1.00
bob_olinger = 1/17.00, >=0.00, <=1.00
fifty_ball = 1/70.00, >=0.00, <=1.00
for_pleasure = 1/65.00, >=0.00, <=1.00
galopin_des_champs = 1/200.00, >=0.00, <=1.00
ganapathi = 1/42.00, >=0.00, <=1.00
gowel_road = 1/44.00, >=0.00, <=1.00
grumpy_charley = 1/75.00, >=0.00, <=1.00
guard_your_dreams = 1/130.00, >=0.00, <=1.00
irascible = 1/40.00, >=0.00, <=1.00
keskonrisk = 1/32.00, >=0.00, <=1.00
m_c_muldoon = 1/90.00, >=0.00, <=1.00
metier = 1/6.00, >=0.00, <=1.00
shakem_uparry = 1/410.00, >=0.00, <=1.00
soaring_glory = 1/10.00, >=0.00, <=1.00
third_time_lucki = 1/85.00, >=0.00, <=1.00
kld
End Variables
Equations
! Total trader win probabilities must sum to one.
appreciate_it + &
ballyadam + &
blue_lord + &
bob_olinger + &
fifty_ball + &
for_pleasure + &
galopin_des_champs + &
ganapathi + &
gowel_road + &
grumpy_charley + &
guard_your_dreams + &
irascible + &
keskonrisk + &
m_c_muldoon + &
metier + &
shakem_uparry + &
soaring_glory + &
third_time_lucki = 1.00
! --- Private trader opinions ---
! Ratings preference groups.
(appreciate_it + ballyadam + soaring_glory + irascible + blue_lord + &
keskonrisk + fifty_ball) > &
(metier + guard_your_dreams + galopin_des_champs + ganapathi + &
gowel_road + shakem_uparry + bob_olinger + third_time_lucki + &
grumpy_charley + m_c_muldoon + for_pleasure)
! Runs preference groups.
(m_c_muldoon + galopin_des_champs + irascible + keskonrisk + metier + &
blue_lord + ganapathi + bob_olinger + gowel_road + fifty_ball) > &
(ballyadam + guard_your_dreams + appreciate_it + soaring_glory + &
grumpy_charley + shakem_uparry + third_time_lucki + for_pleasure)
! Pedigrees preference groups.
(bob_olinger + gowel_road + shakem_uparry + appreciate_it) > &
(third_time_lucki + galopin_des_champs + irascible + fifty_ball + &
ballyadam + guard_your_dreams + soaring_glory + keskonrisk + &
metier + m_c_muldoon + for_pleasure + blue_lord + grumpy_charley + &
ganapathi)
! --- Combination of public and private information ---
! Minimize K-LD.
kld=(1/2.60)*log(((1/2.60)/appreciate_it)) + &
(1/8.00)*log(((1/8.00)/ballyadam)) + &
(1/12.00)*log(((1/12.00)/blue_lord)) + &
(1/17.00)*log(((1/17.00)/bob_olinger)) + &
(1/70.00)*log(((1/70.00)/fifty_ball)) + &
(1/65.00)*log(((1/65.00)/for_pleasure)) + &
(1/200.00)*log(((1/200.00)/galopin_des_champs)) + &
(1/42.00)*log(((1/42.00)/ganapathi)) + &
(1/44.00)*log(((1/44.00)/gowel_road)) + &
(1/75.00)*log(((1/75.00)/grumpy_charley)) + &
(1/130.00)*log(((1/130.00)/guard_your_dreams)) + &
(1/40.00)*log(((1/40.00)/irascible)) + &
(1/32.00)*log(((1/32.00)/keskonrisk)) + &
(1/90.00)*log(((1/90.00)/m_c_muldoon)) + &
(1/6.00)*log(((1/6.00)/metier)) + &
(1/410.00)*log(((1/410.00)/shakem_uparry)) + &
(1/10.00)*log(((1/10.00)/soaring_glory)) + &
(1/85.00)*log(((1/85.00)/third_time_lucki))
End Equations
End Model
{
"appreciate_it" :[2.7185684754E-01],
"ballyadam" :[3.0378824642E-02],
"blue_lord" :[6.4188212946E-02],
"bob_olinger" :[1.1189333156E-01],
"fifty_ball" :[3.7051562905E-02],
"for_pleasure" :[1.7925815422E-02],
"galopin_des_champs":[2.6029458023E-02],
"ganapathi" :[2.6029458036E-02],
"gowel_road" :[1.1192387537E-01],
"grumpy_charley" :[1.7925811477E-02],
"guard_your_dreams" :[1.7925805273E-02],
"irascible" :[6.4188228012E-02],
"keskonrisk" :[6.4188226406E-02],
"m_c_muldoon" :[2.6029458048E-02],
"metier" :[2.6029460057E-02],
"shakem_uparry" :[3.8130987929E-02],
"soaring_glory" :[3.0378827903E-02],
"third_time_lucki" :[1.7925808455E-02],
}
This time, there are two standout horses (apart from the favorite), which are worth each-way consideration:
a. Bob Olinger 17.00
c. Gowel Road 44.00
As a sanity check, we should expect some degree of overlap in terms of the selections generated by the two methods. Otherwise, we are being incoherent in our overall process.
One notable exception to our process is For Pleasure - (we got lucky -paid 9.50 to show!) who is a course and distance winner albeit at a lower grade and with a projected starting price of 50/1+ is worth an each-way saver!
Note: Given the limited exposure of all the runners, we are not saying that those horses we have eliminated are not going to win - simply that they did not meet our criteria for live longshots to run in the money. Also, whether we succeed or fail in a single race is not the measure of the two processes we present here but their long-term peformance against the market!