Hypotheses · story · H-66cafe6f
Rival: narrowly beaten runners with no trouble last time beat their price as well
fails: A/E 0.979, needs 1.05; p 0.8336, needs 0.05 or lower; periods [0.99, 0.97], each needs 1.0; A/E 0.979 against same-race control 1.008, needs 0.03 above (not a niche pass: A/E 0.979 below 1.05; p 0.8335942757165776 above 0.5; does not beat the same-race control 1.008)
Part of the thread “H19: momentum interrupted beaten narrowly” 11 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- rival-explanation
- Created
- 16 Oct, 14:45
- 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
- H19-momentum-interrupted-beaten-narrowly (H19: momentum interrupted beaten narrowly) was GREEN in the earlier research: A/E 1.18 on 242 bets (periods 1.07 / 1.26); now PROMISING. O-a6c61d14
- AskedIs the lift caused by the interrupted run, or would any horse beaten 2 lengths or less (but not first) beat its price just as well? answered
- MechanismA horse beaten 2 lengths or less may simply be in form and close to winning, whatever happened in the run. If so, the lift in H19 comes from the narrow margin, not from the interruption.
- Why the market misses itIf this rival holds, the market underrates narrow losers in general. That is unlikely, because a close second or third is the most visible line in the form book. So a par result here would support H19's trouble mechanism.
- Predictedpositive, A/E 1.10 or more on 3000+ bets if the rival is true; about 1.00 if H19's mechanism is right
- Falsified ifA/E 1.03 or below on 3000+ bets, which rules out the rival and leaves the trouble flag as the source of the edge
- Rule sketch
last_momentum_interrupted = 0 AND last_position > 1 AND last_beaten_lengths <= 2
Mechanism and rationale
A horse beaten 2 lengths or less may simply be in form and close to winning, whatever happened in the run. If so, the lift in H19 comes from the narrow margin, not from the interruption.
The rule
last_momentum_interrupted = 0 AND last_position > 1 AND last_beaten_lengths <= 2
Reads: last_momentum_interrupted, last_position, last_beaten_lengths
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- aa7a9062c86577e10769c4c71b2e8c3e0d8dc24c45210f149c1704613567933b
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Last-race SP: narrow losers who were short-priced last time are heavily backed next time, which pushes A/E towards or below par; the refinement on last_sp_decimal > 5 checks this
- Field size of the last race: being beaten 2 lengths or less in a small field says less than in a big one
- Race type mix: flat narrow defeats far outnumber jumps, so the pooled A/E is mainly a flat result
- Missing trouble flags: last_momentum_interrupted = 0 can still include other trouble (trouble in running, trouble when beaten, trouble at start), which mixes some of H19's mechanism into the rival
- Short window: comment flags and beaten lengths only exist from 2025-11-01, so the whole test covers about one year and both periods are short
- Position 2 vs 3+: seconds may be priced differently from horses placing lower at the same margin
- Control
{ "description": "Same-race other runners should sit at about A/E 1.00 (slightly under if the selection takes share of winners). The key comparison is H19's own population: narrowly beaten runners whose run WAS interrupted. H19 scored 1.18 on 242 overall (1.07 then 1.26 by period). If this rule scores close to H19, the narrow margin explains the lift; if this rule is about par while the control stays clearly above it, the trouble flag carries the edge.", "rule": "last_momentum_interrupted = 1 AND last_position > 1 AND last_beaten_lengths <= 2" }
Discovery result
fail broad rule · 16 Oct, 14:46
- Bets
- 12,205
- 2,068 winners
- A/E
- 0.98
- 95%: 0.94 to 1.02
- SP return
- -21.2%
- level stakes
- Betfair SP return
- -5.6%
- 12,151 bets with a BSP
Strike rate 16.9%. p = 0.83. Same-race control: the other runners in these races had A/E 1.01, so the selection did not beat its own races. Zone: discovery. Evaluator eval-1.0, data 6a4e98be18e83933
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 · 34s · 16 Oct, 14:45
Output (schema-checked)
{ "rule": "last_momentum_interrupted = 0 AND last_position > 1 AND last_beaten_lengths <= 2", "refinements": [ { "label": "no trouble of any recorded kind", "rule": "last_momentum_interrupted = 0 AND last_position > 1 AND last_beaten_lengths <= 2 AND last_trouble_in_running = 0 AND last_trouble_when_beaten = 0 AND last_trouble_at_start = 0" }, { "label": "not short-priced last time (confounder: market already knew it was close)", "rule": "last_momentum_interrupted = 0 AND last_position > 1 AND last_beaten_lengths <= 2 AND last_sp_decimal > 5" } ], "control": { "description": "Same-race other runners should sit at about A/E 1.00 (slightly under if the selection takes share of winners). The key comparison is H19's own population: narrowly beaten runners whose run WAS interrupted. H19 scored 1.18 on 242 overall (1.07 then 1.26 by period). If this rule scores close to H19, the narrow margin explains the lift; if this rule is about par while the control stays clearly above it, the trouble flag carries the edge.", "rule": "last_momentum_interrupted = 1 AND last_position > 1 AND last_beaten_lengths <= 2" }, "pass_criteria": { "min_bets": 1000, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 300, "min_ae": 1.03, "max_p": 0.2 }, "confounders": [ "Last-race SP: narrow losers who were short-priced last time are heavily backed next time, which pushes A/E towards or below par; the refinement on last_sp_decimal > 5 checks this", "Field size of the last race: being beaten 2 lengths or less in a small field says less than in a big one", "Race type mix: flat narrow defeats far outnumber jumps, so the pooled A/E is mainly a flat result", "Missing trouble flags: last_momentum_interrupted = 0 can still include other trouble (trouble in running, trouble when beaten, trouble at start), which mixes some of H19's mechanism into the rival", "Short window: comment flags and beaten lengths only exist from 2025-11-01, so the whole test covers about one year and both periods are short", "Position 2 vs 3+: seconds may be priced differently from horses placing lower at the same margin" ], "mechanism": "Rival explanation for H19. A horse beaten 2 lengths or less is in form and close to winning, whatever happened in the race. If the rival is right, the H19 lift comes from the narrow margin, not from the interruption, and narrow losers who had a clean run should beat their prices by about as much as H19's runners.", "market_miss": "For the rival to hold, the market must underrate narrow losers in general. That is unlikely: a close second or third is the most visible line in the form book and is usually overbet. A par or below-par result here, alongside H19 staying above par, points to the trouble flag as the information the market misses.", "prediction": { "direction": "positive", "size": "A/E 1.10 or more on 3000+ bets if the rival holds; about 1.00 if H19's trouble mechanism is right", "falsified_if": "A/E 1.03 or below on 3000+ bets. That rules out the rival and leaves the momentum-interrupted flag as the source of H19's lift." }, "notes": "This is a discriminating test, and the investigator expects it to fail. A par result counts as evidence for H19, not as a null to throw away. Every column used is available from 2025-11-01 (GB and IRE), so discovery covers only that window. The higher min_bets (1000) is there because the population is large. A small positive A/E on a huge sample should not be read as support for the rival unless it reaches 1.05. Compare the two directly: if both this rule and the control rule come in at about the same A/E, H19's mechanism is undermined." }
Timeline
Job 1833 finished
· engine:compute-1
H-66cafe6f Discovery → KILLED fails: A/E 0.979, needs 1.05; p 0.8336, needs 0.05 or lower; periods [0.99, 0.97], each needs 1.0; A/E 0.979 against same-race control 1.008, needs 0.03 above (not a niche pass: A/E 0.979 below 1.05; p 0.8335942757165776 above 0.5; does not beat the same-race control 1.008)
· engine:evaluator
discovery result for H-66cafe6f (broad rule): fail
· engine:evaluator
H-66cafe6f Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 1833 (evaluate, attempt 1)
· compute-1
Job 1830 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-66cafe6f Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 1830 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-66cafe6f: Rival: narrowly beaten runners with no trouble last time beat their price as well (rival-explanation)
· 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.