Database Handicapping Software- JCapper

JCapper Message Board

          JCapper 101
                      -- Need help with - 1026-1035 Numeric Value for HDW Run Style

Home Register
Log In
By Need help with - 1026-1035 Numeric Value for HDW Run Style
rmarti2
1/7/2012
9:55:38 PM
Jeff can you or where have you in past post explained how you came up with these Run Style numbers, I'm thinking Run Style numbers are like Quirin speed numbers which range 0 to 8, your numbers range 1 to 100. In the HDW Data fields, 1026-1035, it states ( New/Unique Value JCapper only (field listed as Reserved in Brisnet Files).

Reply
jeff
1/8/2012
12:46:19 PM
The complete history/explanation for how JCapper came to handle HDW Run Style and create two sets of Speed Points numbers can be found in a thread titled HDW Beta Testing Group that was started in the private section of the JCap Msg Board back in Feb 2010:
http://www.jcapper.com/messageboard/TopicReader.asp?topic=671&forum=Private

Hint: You'll need to be logged into the JCap Msg Board to be able to read the above linked to thread.

Long story short:

HDW Run Style is different (actually better in my opinion) than Brisnet Run Style. In the Brisnet world, run style is based on how a given horse typically runs its races (the assumption being that a horse will run all of its races in an almost identical manner. In the HDW world, run style is based on how the horse ran races found in its past performance record where it made a winning or near winning effort (the assumption being that this is the run style it most likely needs to produce to obtain a winning or near winning effort in today's race.)


On 2/22/2010 at 1:57 pm I made a post quoting an explanation about HDW run style that came from Ron Tiller at HDW:

Ron Tiller's in depth explanation about HDW run styles...


--quote:
"Regarding the running styles, be advised that BRIS does not use our running style designations. Each horse's race has an actual running style and a running style. The actual running styles Jim assigns are E, EP, P, PS, S, SS and U. There are different combinations of upper and lower case we use but these can typically be ignored as they are very subtle differences.

Each running style defines the successive spot in the race where the horse "gets into" the race or becomes a factor in the race. This is a very rough guide to the actual running styles:

E = on the lead at the 1st call (i.e. the 1/4)
EP = overlapping the horse on the lead at the 1st call and still there or on the lead at the 2nd call (i.e. the 1/2)
P = not an E or EP but is close up at the 2nd call
PS = not an E or EP or P but is close up at the stretch call
S = not an E or EP or P or PS but is closes at least some during the race
SS = not an E or EP or P or PS or S but is closes at least some from way back during the race
U = unknown (e.g. foreign shipper) or ugly (does not fit any of the above definitions)

The running style designation we assign a horse going into a race uses the horse's actual running styles to arrive at a running style. This is NOT a prediction of how the horse will run today. It is based on each horse's last 3 wins (or in the case of maidens, the last 3 2nds, 3rds, etc., whichever is that horse's best finish position to date).

If a horse has won only 1 race, the horse's assigned running style is the actual running style of that winning race, followed by a tick = '
Examples:
Horse wins maiden race last out wire to wire: running style = E'
Horse wins first race with an actual running style of SS but after that races near the front but does not win: running style = SS'

If a horse has won more than one race, the running style is calculated by looking at the last 3 wins. If they were all won in the same running style, the horse's assigned running style is the actual running style of those wins, followed by an exclamation mark = !

If a horse won in 2 or more actual running styles, the horse is assigned the running style farthest back.

Examples:
Horse wins a race with an actual running style of E; 4 races later he wins with an actual running style of E again: running style = E!
Horse wins a race with an actual running style of S; 4 races later he wins with an actual running style of E: running style = S

This is similar to the horse you mention, Tar Beach. Tar Beach won his 2nd race lifetime at Saratoga 4 lengths back at Call 1, 1.6 lengths back at Call 2 and 1.6 lengths back at the Stretch Call. This gave him an actual running style = S for his 1st win. 11 races later, on Dec 3rd at Aqueduct, he won .5 lengths back at Call 1 and then on the lead from Call2 to the rest of the race. This gave him an actual running style = EP for his 2nd win.

So going into the race on Jan 9th at AQU, he had 2 wins, one running EP and one running S. In this case we give the horse an S running style. Just a plain S, with no ' or !, means that that horse has won running both as an S and something closer (in this case, an EP). If he had won his first race wire to wire instead, he would have been an EP.

Here is a link to another explanation, from the RsPos web site:

http://www.rspos.com/rsposintro.html

The running style as Jim defines it is intimately tied to the position of the horse, which is the horse's ranking in today's race of his best 1/4 mile time. So a horse designated as an E!8 is a horse who only wins wire to wire but is 8th rank in raw speed to the 1/4, which puts him at an obvious disadvantage. That horse may need to find a new way to win today or he may kill himself getting the lead. On the other hand, an S1 is fastest to the 1/4 and wins as an S and something closer. This can be a big advantage depending on the composition of the field and the jockey riding.

So in the end, the BRIS defined running style is measuring something completely different - I'm not sure what. If a customer takes ours to mean a prediction of how this horse will run today (say, based on how the horse ran in his last few races), they will be endlessly frustrated.

The purpose of running style, coupled with position, as Jim defines them, is to provide a mechanism to help evaluate how a horse can run, how they need to run to win, and whether the twain shalll meet. Jim developed these concepts in tandem over the past few decades - they weren't simply a data slot that needed to be filled with something.

I hope I haven't made things more confusing by all this - it is really important to get all this straight right out of the gate.

Give me a call if I've mucked up the explanation.
"
--end quote



That should get you started...

-jp

.



Reply
jeff
1/8/2012
12:49:25 PM
On 2/24/2010 at 2:56 pm in the above linked to thread I made the following post:


--quote:
"List of possible HDW run styles...

I ran a data export for calendar year 2009. Here are each of the observed individual HDW run styles (including tick mark) showing up in the export:

1st_char=lower case e:
e
e'
e!

ep
ep'
ep!

eP
eP'
eP!


1ST_CHAR=UPPER CASE E:
E
E'
E!

Ep
Ep'
Ep!

EP
EP'
EP!


1st_char=lower case p:
P
P'
P!

ps
ps'
ps!

pS
pS'
pS!


1ST_CHAR=UPPER CASE P:
p
p'
p!

Ps
Ps'
Ps!

PS
PS'
PS!


1st_char=lower case s:
s
s'
s!

ss
ss'
ss!


1ST_CHAR=UPPER CASE S:
S
S'
S!

SS
SS'
SS!


1st_char=lower case u:
u
u'
u!

1ST_CHAR=UPPER CASE U:
U
U'
U!


MISC:
x
1RL


I think the way to approach this is to assign a number to each of the 55 possible run styles... and then allow the user to use min and max value as the means for controlling run style in UDMs.
"
--end quote


The above post became the impetus for handling HDW run style in JCapper using numbers as opposed to text based character codes...

-jp

.

Reply
jeff
3/31/2013
10:44:15 AM

--quote:
"Jeff,

Is there a list anywhere that shows all 55 text HDW run styles and the numeric equivalent?

Thanks."
--end quote



Below is a cut and paste from a design doc where I was working up some psuedocode for the HDW File Manager:




'caller requests conversion of hdw run style with tick marks to numeric run style

'Note: interval drop down will be set at 15 to display main groups

'Early Horses (1-15)

'1st_char=lower case e:

'e
If Trim(sHDWHorseData) = "e" Then intReturnVal = 1

'e'
If Trim(sHDWHorseData) = "e'" Then intReturnVal = 2

'e!
If Trim(sHDWHorseData) = "e!" Then intReturnVal = 3


'1ST_CHAR=UPPER CASE E:
'E
If Trim(sHDWHorseData) = "E" Then intReturnVal = 4

'E'
If Trim(sHDWHorseData) = "E'" Then intReturnVal = 5

'E!
If Trim(sHDWHorseData) = "E!" Then intReturnVal = 6




'Early Pressers (15-26)

'1st_char=lower case e:
'ep
If Trim(sHDWHorseData) = "ep" Then intReturnVal = 15

'eP
If Trim(sHDWHorseData) = "eP" Then intReturnVal = 16

'ep'
If Trim(sHDWHorseData) = "ep'" Then intReturnVal = 17

'eP'
If Trim(sHDWHorseData) = "eP'" Then intReturnVal = 18

'ep!
If Trim(sHDWHorseData) = "ep!" Then intReturnVal = 19

'eP!
If Trim(sHDWHorseData) = "eP!" Then intReturnVal = 20



'1ST_CHAR=UPPER CASE E:
'Ep
If Trim(sHDWHorseData) = "Ep" Then intReturnVal = 21

'EP
If Trim(sHDWHorseData) = "EP" Then intReturnVal = 22


'Ep'
If Trim(sHDWHorseData) = "Ep'" Then intReturnVal = 23

'EP'
If Trim(sHDWHorseData) = "EP'" Then intReturnVal = 24


'Ep!
If Trim(sHDWHorseData) = "Ep!" Then intReturnVal = 25

'EP!
If Trim(sHDWHorseData) = "EP!" Then intReturnVal = 26




'Pressers (30-35)

'1st_char=lower case p:
'P
If Trim(sHDWHorseData) = "p" Then intReturnVal = 30

'P'
If Trim(sHDWHorseData) = "p'" Then intReturnVal = 31

'P!
If Trim(sHDWHorseData) = "p!" Then intReturnVal = 32

'1ST_CHAR=UPPER CASE P:
'p
If Trim(sHDWHorseData) = "P" Then intReturnVal = 33

'p'
If Trim(sHDWHorseData) = "P'" Then intReturnVal = 34

'p!
If Trim(sHDWHorseData) = "P!" Then intReturnVal = 35


'Presser/Sustained (45-56)

'1st_char=lower case p:
'ps
If Trim(sHDWHorseData) = "ps" Then intReturnVal = 45

'ps'
If Trim(sHDWHorseData) = "ps'" Then intReturnVal = 46

'ps!
If Trim(sHDWHorseData) = "ps!" Then intReturnVal = 47

'pS
If Trim(sHDWHorseData) = "pS" Then intReturnVal = 48

'pS'
If Trim(sHDWHorseData) = "pS'" Then intReturnVal = 49

'pS!
If Trim(sHDWHorseData) = "pS!" Then intReturnVal = 50



'1ST_CHAR=UPPER CASE P:
'Ps
If Trim(sHDWHorseData) = "Ps" Then intReturnVal = 51

'Ps'
If Trim(sHDWHorseData) = "Ps'" Then intReturnVal = 52

'Ps!
If Trim(sHDWHorseData) = "Ps!" Then intReturnVal = 53

'PS
If Trim(sHDWHorseData) = "PS" Then intReturnVal = 54

'PS'
If Trim(sHDWHorseData) = "PS'" Then intReturnVal = 55

'PS!
If Trim(sHDWHorseData) = "PS!" Then intReturnVal = 56


'Sustained (60-71)

'1st_char=lower case s:
's
If Trim(sHDWHorseData) = "s" Then intReturnVal = 60

's'
If Trim(sHDWHorseData) = "s'" Then intReturnVal = 61

's!
If Trim(sHDWHorseData) = "s!" Then intReturnVal = 62


'1ST_CHAR=UPPER CASE S:
'S
If Trim(sHDWHorseData) = "S" Then intReturnVal = 63

'S'
If Trim(sHDWHorseData) = "S'" Then intReturnVal = 64

'S!
If Trim(sHDWHorseData) = "S!" Then intReturnVal = 65



'SS (75-80)

'ss
If Trim(sHDWHorseData) = "ss" Then intReturnVal = 75

'ss'
If Trim(sHDWHorseData) = "ss'" Then intReturnVal = 76

'ss!
If Trim(sHDWHorseData) = "ss!" Then intReturnVal = 77



'SS
If Trim(sHDWHorseData) = "SS" Then intReturnVal = 78

'SS'
If Trim(sHDWHorseData) = "SS'" Then intReturnVal = 79

'SS!
If Trim(sHDWHorseData) = "SS!" Then intReturnVal = 80



'Ugly (90-98)

'1st_char=lower case u:
'u
If Trim(sHDWHorseData) = "u" Then intReturnVal = 90

'u'
If Trim(sHDWHorseData) = "u'" Then intReturnVal = 91

'u!
If Trim(sHDWHorseData) = "u!" Then intReturnVal = 92


'1ST_CHAR=UPPER CASE U:
'U
If Trim(sHDWHorseData) = "U" Then intReturnVal = 93

'U'
If Trim(sHDWHorseData) = "U'" Then intReturnVal = 94

'U!
If Trim(sHDWHorseData) = "U!" Then intReturnVal = 95


'MISC: (95-96)
'x
If Trim(sHDWHorseData) = "x" Then intReturnVal = 96

If Trim(sHDWHorseData) = "X" Then intReturnVal = 97

'1RL
If Trim(sHDWHorseData) = "1RL" Then intReturnVal = 98



Exit Function







How to read...

Take the following example code snippet:

'e!
If Trim(sHDWHorseData) = "e!" Then intReturnVal = 3


Explanation...

sHDWHorseData - This is the variable in the program that contains data read from the HDW race file... In this case the value of the text run style e!.

e! - This is the HDW text run style.

intReturnVal - This is the variable in the program that contains the numeric value for the specific text run style.

= 3 - This is the numeric value in the program for text run style e! ... in this case 3.

Let's do another...

'S
If Trim(sHDWHorseData) = "S" Then intReturnVal = 63

Text run style is: S
numeric run style is: 63

Note that numeric run style is the value written to field number 212 in the .JCP file.




-jp

.




Reply
Reply

Copyright © 2018 JCapper Software              back to the JCapper Message Board              www.JCapper.com