Hypotheses · age · H-ce840402
Young horses in handicap chases also beat their price
fails: A/E 0.967, needs 1.05; p 0.6317, needs 0.05 or lower; periods [1.01, 0.88], each needs 1.0; A/E 0.967 against same-race control 1.017, needs 0.03 above (not a niche pass: A/E 0.967 below 1.05; p 0.6317493138004053 above 0.5; does not beat the same-race control 1.017; a period points the other
Part of the thread “H45: young horses in novice chases” 5 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- generalise
- Created
- 16 Oct, 11:04
- Tests logged
- 1
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
- H45-young-horses-in-novice-chases (H45: young horses in novice chases) was GREEN in the earlier research: A/E 1.09 on 435 bets (periods 1.00 / 1.27 / 1.15); now PROMISING. O-35f7497e
- AskedWhy does the lab's discovery measurement (A/E 0.963 on 204) disagree with the imported GREEN (1.095 on 435)? Is it the field-size-corrected yardstick, the window, or the edge fading? testing
- MechanismThe cause is the same: a yard has chosen to run a horse of five or younger over fences, which signals confidence in its jumping and its physical maturity. That choice does not depend on the race being a non-handicap novice chase.
- Why the market misses itIn handicaps, older and more exposed horses set the reference point. The young horse's low mark is read as its limit, not as a horse still improving with experience over fences.
- Predictedpositive, A/E 1.05 to 1.12 on 200+ bets
- Falsified ifA/E at or below 1.00 across the periods, which would point to the novice-race result being a property of those races (field size or price)
- Rule sketch
race_type = 'Chase' AND is_handicap = 1 AND age <= 5
Mechanism and rationale
The cause is the same: a yard has chosen to run a horse of five or younger over fences, which signals confidence in its jumping and its physical maturity. That choice does not depend on the race being a non-handicap novice chase.
The rule
race_type = 'Chase' AND is_handicap = 1 AND age <= 5
Reads: race_type, is_handicap, age
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 47c71aad84edc6f02c50b45ce54a37a2521ce0336c4c305254dcfe699c742fbc
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Field size: the yardstick must correct for it, and the result should be compared with same-race rivals
- Weight-for-age allowance for four- and five-year-olds in handicap chases: any edge may be the weight, not the youth
- Trainer concentration: a few yards running French-bred stock may supply most of the bets, so check the trainer spread and walk any yard effect forward
- Youth read as potential is generally over-paid (family finding), so a null result is the default expectation
- Inexperience over fences rather than age: the control rule (older horses with three or fewer chase runs) tests this
- Longshot lift at 16/1 and bigger is common across rules, so the 14/1-or-shorter refinement must agree
- Period dependence: the source signal (H45) was flat in 2020-22 and the lab re-measured it at 0.963, so every period must agree
- Season and class: young handicap chasers cluster in low-class spring and summer handicaps
- Control
{ "description": "Same-race rivals: if the young horses' edge comes from the horse, the older runners in the same handicap chases should sit at or slightly below 1.00 and the gap should be the effect. If the rivals also show more than 1.00, the lift belongs to the races (small fields, low-grade handicaps). The control rule separates youth from inexperience. It takes older horses equally new to fences in handicap chases. If they match the young horses, the mechanism is 'lightly raced over fences', not age. That would also clash with the family finding that older horses new to fences are a negative (0.93).", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age >= 6 AND chase_runs <= 3" }
Discovery result
fail broad rule · 16 Oct, 11:04
- Bets
- 521
- 77 winners
- A/E
- 0.97
- 95%: 0.76 to 1.21
- SP return
- -23.1%
- level stakes
- Betfair SP return
- -11.7%
- 504 bets with a BSP
Strike rate 14.8%. p = 0.63. Same-race control: the other runners in these races had A/E 1.02, so the selection did not beat its own races. Zone: discovery. Evaluator eval-1.0, data 2887c9abd664f46f
By period
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 · 24s · 16 Oct, 11:04
Output (schema-checked)
{ "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 5", "refinements": [ { "label": "early in chase career (still improving over fences)", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 5 AND chase_runs <= 3" }, { "label": "14/1 or shorter (avoid the general longshot lift)", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 5 AND sp_decimal <= 15" }, { "label": "novice handicap chases (closest to the source result)", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 5 AND is_novice = 1" } ], "control": { "description": "Same-race rivals: if the young horses' edge comes from the horse, the older runners in the same handicap chases should sit at or slightly below 1.00 and the gap should be the effect. If the rivals also show more than 1.00, the lift belongs to the races (small fields, low-grade handicaps). The control rule separates youth from inexperience. It takes older horses equally new to fences in handicap chases. If they match the young horses, the mechanism is 'lightly raced over fences', not age. That would also clash with the family finding that older horses new to fences are a negative (0.93).", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age >= 6 AND chase_runs <= 3" }, "pass_criteria": { "min_bets": 200, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Field size: the yardstick must correct for it, and the result should be compared with same-race rivals", "Weight-for-age allowance for four- and five-year-olds in handicap chases: any edge may be the weight, not the youth", "Trainer concentration: a few yards running French-bred stock may supply most of the bets, so check the trainer spread and walk any yard effect forward", "Youth read as potential is generally over-paid (family finding), so a null result is the default expectation", "Inexperience over fences rather than age: the control rule (older horses with three or fewer chase runs) tests this", "Longshot lift at 16/1 and bigger is common across rules, so the 14/1-or-shorter refinement must agree", "Period dependence: the source signal (H45) was flat in 2020-22 and the lab re-measured it at 0.963, so every period must agree", "Season and class: young handicap chasers cluster in low-class spring and summer handicaps" ], "mechanism": "A yard that runs a horse of five or younger over fences is showing confidence in its jumping and physical maturity. Young chasers are also still on a steep improvement curve over fences. Neither depends on the race being a non-handicap novice chase. If the H45 signal is about the horse, it should carry into handicap chases, where the young horse runs off a mark set on few runs.", "market_miss": "In handicap chases the reference points are older, exposed horses whose marks are accurate. The market reads a young horse's low or recent mark as its limit and does not price in the improvement still to come from maturity and jumping experience. In a handicap that improvement is not yet reflected in the weights.", "prediction": { "direction": "positive", "size": "A/E 1.05 to 1.12 on 200+ bets, with same-race older rivals at or below 1.00", "falsified_if": "A/E at or below 1.00 overall or in any of the three periods. It is also falsified if the older-but-inexperienced control matches it, or if the lift exists only at 16/1+. Any of these would mean the novice-chase result was a property of those races or of inexperience, not youth." }, "notes": "Generalises H45 (young horses in novice chases), which is PROMISING on import (1.09 on 435). The lab's re-measurement gave only 0.963 on 204, and the import's lift was all in later periods. Treat a positive here with caution: it needs every period to agree. chase_runs starts in 2020-08 and the other columns in 2020-07. Expect most bets to be five-year-olds, since four-year-olds in handicap chases are rare." }
Timeline
Job 1225 finished
· engine:compute-2
H-ce840402 Discovery → KILLED fails: A/E 0.967, needs 1.05; p 0.6317, needs 0.05 or lower; periods [1.01, 0.88], each needs 1.0; A/E 0.967 against same-race control 1.017, needs 0.03 above (not a niche pass: A/E 0.967 below 1.05; p 0.6317493138004053 above 0.5; does not beat the same-race control 1.017; a period points the other way [1.01, 0.88])
· engine:evaluator
discovery result for H-ce840402 (broad rule): fail
· engine:evaluator
H-ce840402 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-2 took job 1225 (evaluate, attempt 1)
· compute-2
Job 1223 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-ce840402 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 1223 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-ce840402: Young horses in handicap chases also beat their price (generalise)
· agent:investigator@v1
Every change is an event with an actor: an agent and its version, an engine, a human, or the importer. Current stage: Killed.