Hypotheses · shock · H-0da98a6f
Test-mechanism: shocked chase non-finishers under 16/1 in GB
Part of the thread “S3: chase not completed large negative” 3 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- sharpen
- Created
- 17 Oct, 02:42
- Tests logged
- 0
Reasoning
Why this hypothesis exists: what the lab saw, the question it asked, the mechanism it proposed, what it predicted, and the result that would prove it wrong. Written before the test was run.
- Observed
- H-448cb451 (Rival: chase debutants after any heavy hurdle beating beat their price): the country 'GB' carries the effect (A/E 1.43) while the rest score IRE 0.91. O-69d892e9
- S3-chase-not-completed-large-negative (S3: chase not completed large negative) pointed the predicted way (positive) on the sealed holdout but too weakly to prove it: A/E 1.095 on 254 bets (p 0.364, false-discovery threshold 0.0034); tracked forward in SHADOW. O-ddd7ee0a
- AskedIs the GB/IRE split (1.117 vs 0.971) in shocked chase non-finishers a real market difference or small-sample noise, given other chase-error cuts show the same split? testing
- MechanismA one-off jumping shock only hides ability in a horse that has ability. Long-priced non-finishers are mostly horses that are simply poor. Previous chase cuts went 0 from 98 and 0 from 34 at 16/1 or bigger, so the effect should concentrate below 16/1. This band was chosen before the numbers, from those prior findings.
- Why the market misses itFor a fancied horse, a non-finish with a shocked Jump Index looks like lost form. The figures say it was an aberrant jumping run, which the form book records only as P or F.
- Predictedpositive, A/E 1.12 to 1.25 on 120+ bets
- Falsified ifA/E at or below 1.0 on 100+ bets
- Rule sketch
code = 'Chase' AND finished = 0 AND s <= -1.5 AND region = 'GB' AND sp_decimal < 17
Mechanism and rationale
A one-off jumping shock only hides ability in a horse that has ability. Long-priced non-finishers are mostly horses that are simply poor. Previous chase cuts went 0 from 98 and 0 from 34 at 16/1 or bigger, so the effect should concentrate below 16/1. This band was chosen before the numbers, from those prior findings.
The rule
code = 'Chase' AND finished = 0 AND s <= -1.5 AND region = 'GB' AND sp_decimal < 17
Reads: code, finished, s, region, sp_decimal
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- a8ebdfd7b6b2692c88f57cf5b5e6cf1d02f15244db7e80ea4db89ac05814250f
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Calendar effect: sibling chase and pull-up cuts carry their lift after 27 April 2026 and sit near par before it. The lift must show up in both periods, not just the later one.
- Overlap with the existing shadow rule for chase-error non-finishers under 16/1 (1.392 on 97, GB 1.588 on 74). This is largely the same pool, so it is not independent confirmation, and only forward bets can separate the two.
- Region choice is post hoc: GB was picked because earlier holdout lifts were GB-only (GB 1.117 vs IRE 0.971), so in-sample selection inflates the discovery A/E.
- Trainer or jockey concentration: a few yards whose non-finishers bounce back could carry the result. Check the share of A/E from the top three trainers.
- Small bet count: the GB sub-16/1 pool is probably near or under 150, so the confidence intervals will span par.
- Fall/unseat versus pull-up mix: the fall/unseat subset was 0.809 on 37, so any edge may sit only in pulled-up horses. Report the split.
- Control
{ "description": "The lab's same-race control: the other runners in these races should come out near A/E 1.0. If they also beat their prices, the lift belongs to the race type (GB chases at this time of year) and not to the shocked non-finisher. The control rule below is the price split the mechanism predicts: the same GB shocked chase non-finishers at 16/1 or bigger should be at or below par (earlier cuts went 0 from 98 and 0 from 34 at those prices). If the long-priced group matches or beats the sub-16/1 group, the 'shock hides ability only in horses that have ability' story fails, and any lift is generic.", "rule": "code = 'Chase' AND finished = 0 AND s <= -1.5 AND region = 'GB' AND sp_decimal >= 17" }
Discovery result
Not measured yet.
Falsification
No attacks yet. Only promising ideas are attacked.
Sealed holdout (vault)
Not queried. Only a frozen idea can spend its one query against the 2020-25 holdout.
Forward record
No forward record. Shadow tracking starts after the vault and counts only races run after the freeze.
Lineage
Agent runs
designer v1ok · 32s · 17 Oct, 02:42
Output (schema-checked)
{ "rule": "code = 'Chase' AND finished = 0 AND s <= -1.5 AND region = 'GB' AND sp_decimal < 17", "refinements": [ { "label": "market still rates it (top four in the betting)", "rule": "code = 'Chase' AND finished = 0 AND s <= -1.5 AND region = 'GB' AND sp_decimal < 17 AND sp_rank <= 4" } ], "control": { "description": "The lab's same-race control: the other runners in these races should come out near A/E 1.0. If they also beat their prices, the lift belongs to the race type (GB chases at this time of year) and not to the shocked non-finisher. The control rule below is the price split the mechanism predicts: the same GB shocked chase non-finishers at 16/1 or bigger should be at or below par (earlier cuts went 0 from 98 and 0 from 34 at those prices). If the long-priced group matches or beats the sub-16/1 group, the 'shock hides ability only in horses that have ability' story fails, and any lift is generic.", "rule": "code = 'Chase' AND finished = 0 AND s <= -1.5 AND region = 'GB' AND sp_decimal >= 17" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1.05, "max_p": 0.2 }, "confounders": [ "Calendar effect: sibling chase and pull-up cuts carry their lift after 27 April 2026 and sit near par before it. The lift must show up in both periods, not just the later one.", "Overlap with the existing shadow rule for chase-error non-finishers under 16/1 (1.392 on 97, GB 1.588 on 74). This is largely the same pool, so it is not independent confirmation, and only forward bets can separate the two.", "Region choice is post hoc: GB was picked because earlier holdout lifts were GB-only (GB 1.117 vs IRE 0.971), so in-sample selection inflates the discovery A/E.", "Trainer or jockey concentration: a few yards whose non-finishers bounce back could carry the result. Check the share of A/E from the top three trainers.", "Small bet count: the GB sub-16/1 pool is probably near or under 150, so the confidence intervals will span par.", "Fall/unseat versus pull-up mix: the fall/unseat subset was 0.809 on 37, so any edge may sit only in pulled-up horses. Report the split." ], "mechanism": "A Jump Index far below what the horse's earlier runs predicted (s <= -1.5), on a chase run it did not finish, is an aberrant jumping run, not a measure of ability. It hides ability only in a horse that has ability. At 16/1 or shorter the market still rates the horse, so the hidden ability is real and the horse should run back to its expected level. Long-priced shocked non-finishers are mostly horses that are simply poor, and they show no bounce-back (0 from 98 and 0 from 34 in earlier cuts at 16/1 or bigger). So the effect should sit below 16/1, and in GB, where non-finisher edges have shown up.", "market_miss": "The form book records the last run only as P, F or U. For a fancied horse that reads as lost form or a confidence-sapping run, so its price drifts. The Jump Index shows the run was an outlier against the horse's own jumping record, a one-off and not a decline. The market prices the letter, not the sectional jumping evidence.", "prediction": { "direction": "positive", "size": "A/E 1.12 to 1.25 on roughly 100-200 bets; the 16/1-or-bigger control at or below 1.0", "falsified_if": "A/E at or below 1.0 on 100+ bets, or the 16/1-or-bigger control group scoring as high as or higher than the sub-16/1 group, or the lift appearing only after 27 April 2026 (pre-April period at or below 1.0)" }, "notes": "The rule sketch is kept as it is. All its columns are pre-off, and sp_decimal < 17 means 16/1 or shorter, which matches the band fixed from earlier findings. One refinement only (sp_rank <= 4), because the reasoning is about horses the market still rates. The forward bar's A/E is raised to 1.05 because this pool overlaps an existing shadow rule. The discovery result is likely to be thin, below 150 bets. If so, it should go to falsification and forward tracking and should not be counted as confirmed." }
Timeline
Job 3193 gave up: OperationalError: no such column: code Traceback (most recent call last): File "/app/lab/src/gallops/orchestrator/loop
· engine:compute-1
compute-1 took job 3193 (evaluate, attempt 5)
· compute-1
Job 3193 will retry: OperationalError: no such column: code Traceback (most recent call last): File "/app/lab/src/gallops/orchestrator/loop
· engine:compute-1
compute-1 took job 3193 (evaluate, attempt 4)
· compute-1
Job 3193 will retry: OperationalError: no such column: code Traceback (most recent call last): File "/app/lab/src/gallops/orchestrator/loop
· engine:compute-1
compute-1 took job 3193 (evaluate, attempt 3)
· compute-1
Job 3193 will retry: OperationalError: no such column: code Traceback (most recent call last): File "/app/lab/src/gallops/orchestrator/loop
· engine:compute-1
compute-1 took job 3193 (evaluate, attempt 2)
· compute-1
Job 3193 will retry: OperationalError: no such column: code Traceback (most recent call last): File "/app/lab/src/gallops/orchestrator/loop
· engine:compute-1