|
JCapper Message Board
General Discussion
--
New JCapper Platinum 2025 Program Update Incoming
|
|
By |
New JCapper Platinum 2025 Program Update Incoming |
jeff 8/12/2025 12:20:37 PM | I have a MAJOR program update literally hours away from release.
I had actually planned on publishing it yesterday, but discovered something while doing final Edge Case Testing. (Look that phrase up if you don't know what it means.)
This is what I discovered:
Yesterday for Ellis Park, all of the Temperatures in the JSon returned by the Current Conditions API Calls were either -443.10°F or -443.0°F.
There was also a single API Call for PID that came back as -459.7°F. It turns out -459.67 is absolute zero which means 'No Data. (Temperature in the TrackWeather Module is rounded to the nearest one decimal point.)
From there:- I put the new program update on hold.
- I spent some time doing Edge Case Testing (seriously look that phrase up) which involved exporting more than a year of TrackWeather Data from my SDK ChartRaces Table to .csv file.
- I examined 33,248 races from 08-01-2024 through 08-10-2025 and determined the following:
a. The highest Temperature in the data (for tracks where I decided to get weather data) was 102.1°F at FNO (Fresno) on 10-24-2024. Fyi,, many days were actually hotter than that where a decision was made to cancel. (FNO 10-24-2024 was the hottest day in the past year where a track actually ran.)
b. The lowest Temperature in the data (for tracks where I decided to get weather data) that actually ran was 17.1°F at Charles Town on 01-15-2025. Fyi,, many days were actually colder than that where a decision was made to cancel. (CT 01-15-2025 was the coldest day in the past year where a track actually ran.)
c. There was Exactly 1 Race where a bad temperature made it into the Resolved Races Data:
The entry in my SDK ChartRaces Table for Oaklawn 04-13-2025 R6 shows Temperature as: -77.5°F
- And that's what I really needed to determine:
The incidence rate of bad temperatures recorded in the data.
Which since August 1, 2024 turned out to be:
1 in exactly 33,248 races.
From there:- I sent examples of the bad Temperatures in the JSon to Visual Crossing. I asked them to look into it and get back to me.
This morning they sent me an email that reads (in part) as follows:
--quote: Thank you for reporting this error, and I apologize for the inconvenience. We’ve identified an issue with the incoming MADIS data stream that caused the problem.
A temporary fix has been applied, and we plan to deploy a permanent solution within the next one to two days.
In the meantime, we’ll continue working with the data provider to ensure the root cause is fully resolved.
Thank you for your patience and understanding.
--end quote.
- I added new code that performs Edge Case Handling inside of the TrackWeather Module.
It does a better job of validating the weather data contained in the JSon returned by the Visual Crossing API Calls.
Even though only one bad temperature made it into the Resolved Races data since 08-01-2024:
Existing code in the current TrackWeather API does allow bad Temperatures (both high and low) to show up on the TrackWeather Html Report generated in BOT Mode.
The new code that I added yesterday is designed to prevent that from happening:
My objective here is that you only see valid data on the report.
- I'm going to stress test the new Edge Case Handling code over the next day or so.
Once I'm satisfied that it's fully working as designed:
You'll see the New Program Version go up!
-jp .
~Edited by: jeff on: 8/12/2025 at: 12:20:37 PM~
| Acorn54 8/13/2025 12:48:47 AM | thanks for being such a conscientious person, it is an honor to know you. people who purchase your software can trust you to put forward a top of the line product. that is rare these days. guy p.s. edge case testing seems like testing for outliers in making udms and verifying the data.
| jeff 8/26/2025 1:41:25 PM | Uploaded the 8/25/2025 JCapper 2025 Full Program Downloads Package to the 2025 Bare Bones Downloads Page late last night.
Downloaded it this morning, installed on a clean machine, and testing right now as I type this.
I'll come back to this thread and post an update later today once I'm done with my unit testing.
Hopefully, you'll see me post an "ALL CLEAR" --
Please wait until you see me do that before you download and install too.
-jp .
| jeff 8/26/2025 6:03:19 PM | Here's what I did: - Deleted all traces of JCapper on one of my machines.
- Downloaded and installed the 8/25/2025 Full JCapper 2025 Program Download Package.
- Brought up the Main Module, tested each of the authorized logon accounts- (basically everybody who I've granted access to JCapper 2025.)
Found one user logon with a typo. I'll take care of that by putting up a JCapper Main Module Only Program Download before month end. (Unexpected but workable.)
- Ran JCapper Imports and verified: Folders, Settings, Enhanced Settings, UDMs, UPR and UserFactors, Magic Nums, Scratch BOT Setup, CXNNames, and ProbExpressions.
Double Checked I had the recommend Enhanced Settings for HOP = 0.1950, LOC = 5/2, EICA=2, and TKW=2.1 (All Good.)
- Ran J2 Imports and verified: Track Weight, SQL Mode F-Factor Setup, SQL Mode Customizable Html Report Layout, TripNotes, WagerHistory Table Data, and ToteCodes leaving the Append Box unchecked (All Good.)
- Set JCapperSDK Source and Targeet Files, then Imported and verified ChartRaces Data from 05-01-2025 to yesterday. 08-25-2025 (All Good.)
- Created a separate new folder C:\TraversWeeked2025 and set that as the current active datafolder in the DFM.
- Brought up the HDW File MGR. Downloaded 52 race cards spanning Travers Day Weekend Fri 8/22/2025 through Sunday 8/24/2025.
Built JCP Files for all 52 race cards.
Built XRD Files for all 52 race cards.
- Ran a Resolved Races in TrackWeather Utilities for Dates 8/22/2025 through 8/24/2025.
- Brought up the DBBuilder. Ran a Recovery Setup. Ran a DBBuild on the new folder in Mode 3.
- Opened up the resulting FULL EICA.csv File in a local copy of Excel.
The one thing I did spot? No Results or TrackWeather Data for GP 8/22/2025 Races 6-7-8-9.
But a quick look at the Equibase site shows those races were cancelled because of weather. (What initially looked like a quirk checks out.)
After scrolling through the EICA File and eyeball testing for the past 25 minutes everything in the file appears solid.
- Pulled up the Data Window and ran a few sql queries.
Link to a text file, here: Impact_Study-TraversWeekend2025
And while nice, you shouldn't expect to see long term Odds Proxy rank=1 results like these.
Imo, this is a short term aberration caused by favorable bias conditions (temp, wind, and surface, etc.) for the top horses in most of the races this past weekend.
I haven't made any optimizations to the model since creating it.
I plan on doing that before the next program update comes out later this year.
Out of sample testing (basically all races after 6/17/2025 and later) suggests Odds Proxy meets my initial objective:
So far it outperforms the morning line in roi. (We'll see how that holds up as the weather gets colder in the months to come.)
It's time to wrap up this post.
ALL CLEAR.
Go ahead. Download and Install it.
If you see anything that looks off:
Let me know and I'll deal with it.
-jp .
| Acorn54 8/27/2025 2:36:36 AM | hi jeff acorn here. download worked okay. only snafu was when i calculated races, error message popped up, saying sar udm had zero parameter. i just had to delete that to get the calc race routine to run smoothly
| jeff 8/27/2025 10:14:35 AM | This part is crucial:
The SAR UDM is an Easter Egg I added to the Download.
It references the StarterHistory2025/StartersToday2025 tables instead of the StarterHistory/StartersToday tables and is intended to be used after switching over to the new tables.
If you switch over to the new tables, before you can run a SQL CalcRaces to completion, you need to:
1. Change the text of your existing SQL UDMs to reference the StarterHistory2025/StartersToday2025 tables instead of the StarterHistory/StartersToday tables.
Example:
Edit "STARTERHISTORY" to "STARTERHISTORY2025" (without the quotes.)
2. Change the text of your existing SQL UDMs and remove reference to StarterHistory table column names that aren't in the new StarterHistory2025 Table.
To quickly generate a list of column names for any JCapper table:- Launch the JCX File Exports Module.
- From the MENU select the JCapper .mdb file you want to connect to.
The Default is c:\JCapper\Exe\JCapper2.mdb
- Click the Use Custom SQL Expression Box.
- At the bottom of the SQL Expression Tool, select your Table Name (in this case StarterHistory or StarterHistory2025.)
- Click the Display Data Fields Button to generate a list of the Columns in the selected table.
Optionally, you can click inside of the SQL Expression Tool, highlight the displayed list of Columns, copy the highlighted text to the ClipBoard, paste the highlighted text to Notepad, and save the info to a text file.
Do that, make the table name part of the text filename - and you'll have the info for future reference.
Go through your SQL UDMs one at a time.
Make sure the column names referenced in every UDM exist in the tables you plan on using:
Either StarterHistory/StartersToday or StarterHistory2025/StartersToday2025.
-jp .
~Edited by: jeff on: 8/27/2025 at: 10:14:35 AM~
|
|