Hypotheses · story · H-b595a70a
Sharpen: troubled narrow loser back within 35 days
forward A/E 0.0 on 0 bets, SP ROI None%, BSP ROI None% (p None)
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
- sharpen
- Created
- 16 Oct, 14:47
- Tests logged
- 15
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-48a2eca6 (Test-mechanism: the edge sits with horses the market did not shorten a) passed discovery as a niche: A/E 1.24 on 104 bets (p 0.25), same-race control 0.97. O-22d00ba5
- AskedDoes the edge fade as the gap since the troubled run grows, as it should if the run shows current form that the market misses? answered
- MechanismThe troubled run shows the horse's current ability. A quick return means that form still applies. A long break lets fitness and handicap mark drift, so the hidden ability says less.
- Why the market misses itThe price follows the figures (beaten, unplaced) and does not separately credit the trouble. That gap is widest while the form is fresh.
- Predictedpositive, A/E 1.25 to 1.40 on 120+ bets, above the runners off for longer
- Falsified ifA/E at or below that of the H19 runners off for more than 35 days, or below 1.10
- Rule sketch
last_momentum_interrupted = 1 AND last_position > 1 AND last_beaten_lengths <= 2 AND days_since_last_run <= 35 - question id
Mechanism and rationale
The troubled run shows the horse's current ability. A quick return means that form still applies. A long break lets fitness and handicap mark drift, so the hidden ability says less.
The rule
last_momentum_interrupted = 1 AND last_position > 1 AND last_beaten_lengths <= 2 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 35
Reads: last_momentum_interrupted, last_position, last_beaten_lengths, days_since_last_run
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- bfd00b53d12422187ed8afa5d455aa40c74d6a9614f8849f6d3d54234370f37f
- Frozen
- 16 Oct, 14:52
- Nothing in the definition can change after this.
- Confounders
- Quick returners are often in-form handicappers from busy, well-run yards. Yard form and trainer placement could carry the lift without the trouble mattering, so check that narrow losers with no trouble back within 35 days are at par.
- AW winter programme: quick returns cluster on all-weather cards with frequent races, so the lift could be a surface or season effect. Check the split by race_type and surface.
- Handicap mark not yet raised: a horse back quickly runs off the same mark before the handicapper reacts. This sits close to the mechanism, so check the is_handicap split.
- Overlap with H19: this is a subset of a rule already measured (242 bets), so the result is not independent of it. Most of its evidence must come from the contrast with the runners off for longer, not from the overall A/E.
- Exchange vs SP: the H19 lift was about three times larger at BSP, so a result that only appears at SP should be doubted.
- Control
{ "description": "Main control: H19 runners (momentum interrupted, beaten 2 lengths or less) off for MORE than 35 days. The mechanism says the edge decays with the gap, so these should score clearly lower, near the H19 average or below (around 1.0 to 1.1). If they score the same as or better than the fresh group, recency is not the driver. Same-race other runners should sit at about par (A/E near 0.97 to 1.0 after the overround), which shows the lift is not a property of the races. Second check: narrow losers with no trouble back within 35 days should also be near par (the earlier finding showed 0.98 overall), so any lift belongs to the trouble flag and not to the quick return alone.", "rule": "last_momentum_interrupted = 1 AND last_position > 1 AND last_beaten_lengths <= 2 AND days_since_last_run > 35" }
Discovery result
pass broad rule (niche) · 16 Oct, 14:49
- Bets
- 200
- 45 winners
- A/E
- 1.19
- 95%: 0.87 to 1.60
- SP return
- +13.2%
- level stakes
- Betfair SP return
- +25.7%
- 198 bets with a BSP
Strike rate 22.5%. p = 0.13. Same-race control: the other runners in these races had A/E 0.96, so the selection beat its own races. Zone: discovery. Evaluator eval-1.0, data 6a4e98be18e83933
By period
Falsification
Each attack is a deliberate attempt to kill the idea. 4 of 5 survived.
- perturbation: Tighter recency cut: back within 28 dayspass
178 bets · A/E 1.25 (0.91 to 1.69) · control 0.94 · 16 Oct, 14:52
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-27691.22after 2026-04-271091.28Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Looser recency cut: back within 42 dayspass
214 bets · A/E 1.23 (0.91 to 1.62) · control 0.95 · 16 Oct, 14:52
Sealed holdout (vault)
Not queried. Only a frozen idea can spend its one query against the 2020-25 holdout.
Forward record
- forward vs bar {'min_bets': 100, 'min_ae': 1.0, 'max_p': 0.2}info
0 bets · · 16 Oct, 14:52
Breakdown
betsA/E0.71.01.3forward0–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets.
Other experiments
- neighbour: > 1 -> 0 (-20%)pass
279 bets · A/E 1.09 (0.82 to 1.41) · control 0.99 · 16 Oct, 14:49
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-271021.23after 2026-04-271770.99Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: > 1 -> 2 (+20%)pass
121 bets · A/E 1.31 (0.86 to 1.91) · control 0.93 · 16 Oct, 14:49
Breakdown
Lineage
Agent runs
designer v1ok · 29s · 16 Oct, 14:48
Output (schema-checked)
{ "rule": "last_momentum_interrupted = 1 AND last_position > 1 AND last_beaten_lengths <= 2 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 35", "refinements": [ { "label": "very fresh: back within 21 days", "rule": "last_momentum_interrupted = 1 AND last_position > 1 AND last_beaten_lengths <= 2 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 21" } ], "control": { "description": "Main control: H19 runners (momentum interrupted, beaten 2 lengths or less) off for MORE than 35 days. The mechanism says the edge decays with the gap, so these should score clearly lower, near the H19 average or below (around 1.0 to 1.1). If they score the same as or better than the fresh group, recency is not the driver. Same-race other runners should sit at about par (A/E near 0.97 to 1.0 after the overround), which shows the lift is not a property of the races. Second check: narrow losers with no trouble back within 35 days should also be near par (the earlier finding showed 0.98 overall), so any lift belongs to the trouble flag and not to the quick return alone.", "rule": "last_momentum_interrupted = 1 AND last_position > 1 AND last_beaten_lengths <= 2 AND days_since_last_run > 35" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Quick returners are often in-form handicappers from busy, well-run yards. Yard form and trainer placement could carry the lift without the trouble mattering, so check that narrow losers with no trouble back within 35 days are at par.", "AW winter programme: quick returns cluster on all-weather cards with frequent races, so the lift could be a surface or season effect. Check the split by race_type and surface.", "Handicap mark not yet raised: a horse back quickly runs off the same mark before the handicapper reacts. This sits close to the mechanism, so check the is_handicap split.", "Overlap with H19: this is a subset of a rule already measured (242 bets), so the result is not independent of it. Most of its evidence must come from the contrast with the runners off for longer, not from the overall A/E.", "Exchange vs SP: the H19 lift was about three times larger at BSP, so a result that only appears at SP should be doubted." ], "mechanism": "A run interrupted by trouble while the horse was beaten 2 lengths or less hides ability the bare result does not show. That hidden ability is a statement about the horse's condition at the time. A quick return (35 days or less) means fitness, condition and handicap mark have hardly moved, so the hidden ability still applies today. After a longer break, fitness, mark and condition drift, so the troubled run says less about today's chance and the edge should shrink.", "market_miss": "The SP follows the figures (beaten, unplaced, the beaten distance) and gives no separate credit for the trouble. Earlier work showed price movement after the excuse does not pick out the edge. The mis-pricing should be biggest while the form is fresh, because the market treats a recent defeat as the most informative and reads it at face value.", "prediction": { "direction": "positive", "size": "A/E 1.25 to 1.40 on about 150 to 200 bets, clearly above the H19 runners off for more than 35 days", "falsified_if": "A/E below 1.10, or A/E at or below that of the control (H19 runners off for more than 35 days)" }, "notes": "I kept the rule sketch and added only an explicit days_since_last_run IS NOT NULL guard. Every column is pre-off. H19 has 242 bets, so this subset may land near or under the 150-bet floor. If it does, the main evidence is the contrast between the fresh group and the runners off for longer, and a thin positive result goes to falsification and forward tracking rather than being killed. The one refinement (21 days or less) tests the recency gradient the mechanism implies. I added no price-band refinement because the reasoning gives no case for one. Also report the BSP A/E, since the H19 edge was mainly at exchange prices." }
Timeline
Job 1866 finished
· engine:compute-1
forward result for H-b595a70a (forward vs bar {'min_bets': 100, 'min_ae': 1.0, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 1866 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 1863 finished
· engine:compute-1
H-b595a70a Frozen → SHADOW vault skipped: last_momentum_interrupted, last_beaten_lengths do not exist before the discovery zone; track it forward instead
· engine:orchestrator
compute-1 took job 1863 (vault, attempt 1)
· compute-1
Job 1862 finished
· engine:compute-1
Queued vault on the compute lane: frozen: one sealed vault query
· engine:scheduler
H-b595a70a Falsification → FROZEN survived falsification
· engine:falsification
falsification result for H-b595a70a (partition: Handicaps only: mark not yet raised): pass
· engine:evaluator
compute-1 took job 1862 (attack, attempt 1)
· compute-1
Job 1861 finished
· engine:compute-1
falsification result for H-b595a70a (price_band: Remove the up-to-7/1 band (outside 3/1 to 7/1)): pass
· engine:evaluator
compute-1 took job 1861 (attack, attempt 1)
· compute-1
Job 1860 finished
· engine:compute-1
falsification result for H-b595a70a (control: Control: untroubled narrow losers back within 35 days): fail
· engine:evaluator
compute-1 took job 1860 (attack, attempt 1)
· compute-1
Job 1859 finished
· engine:compute-1
falsification result for H-b595a70a (perturbation: Looser recency cut: back within 42 days): pass
· engine:evaluator