Hypotheses · story · H20-wide-early-and-got-back-into-it
H20: wide early and got back into it
tier A: strong candidate; best [Flat] GREEN A/E 1.45 on 256 bets (broad GREEN); published as SYS-wide-early-and-recovered
Starts the thread “H20: wide early and got back into it” 14 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Imported from the overnight batches
- Made by
- import
- Created
- 15 Oct, 23:10
- Tests logged
- 4
Mechanism and rationale
Wide early last time (not a slow start), got back into the race and was beaten 5 lengths or less.
The rule
last_early_setback = 1 AND last_recovered = 1 AND last_raced_wide = 1 AND last_slow_start = 0 AND last_position > 1 AND last_beaten_lengths <= 5
Reads: last_early_setback, last_recovered, last_raced_wide, last_slow_start, last_position, last_beaten_lengths
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- not designed yet
- Frozen
- not frozen
- The definition can still change.
- Broad
last_early_setback = 1 AND last_recovered = 1 AND last_raced_wide = 1 AND last_slow_start = 0 AND last_position > 1 AND last_beaten_lengths <= 5
- Kind
remarks
- Origin
research/experiments/overnight/results_v2.jsonl
- Refinements
[ { "name": "Flat", "rule": "(last_early_setback = 1 AND last_recovered = 1 AND last_raced_wide = 1 AND last_slow_start = 0 AND last_position > 1 AND last_beaten_lengths <= 5) AND (race_type = 'Flat')" }, { "name": "last run at a sharp track", "rule": "(last_early_setback = 1 AND last_recovered = 1 AND last_raced_wide = 1 AND last_slow_start = 0 AND last_position > 1 AND last_beaten_lengths <= 5) AND (last_track_sharpness >= 2)" }, { "name": "handicap", "rule": "(last_early_setback = 1 AND last_recovered = 1 AND last_raced_wide = 1 AND last_slow_start = 0 AND last_position > 1 AND last_beaten_lengths <= 5) AND (is_handicap = 1)" } ]- Tier
A
Result (from the archive)
info handicap · 15 Oct, 23:10
- Bets
- 248
- A/E
- 1.35
- winners vs the prices
- SP return
- +11.4%
- level stakes
- Betfair SP return
- +29.1%
- 246 bets with a BSP
Strike rate 21.0%.
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
investigator v1ok · 42s · 17 Oct, 04:20
Output (schema-checked)
{ "reflection": "This thread is one imported result and nothing new has been measured. In the earlier research, H20 (wide early last time, not a slow start, got back into the race, beaten 5 lengths or less) scored A/E 1.43 on 313 bets. The two periods were 1.28 on 146 and 1.57 on 167, BSP ROI was +36.7% and SP ROI was +17.7%. In discovery it scored 1.346 on 248, and the Flat-only version scored 1.45 on 256. It was published as SYS-wide-early-and-recovered and has been live since 2026-10-13, with no forward bets yet. The story behind it fits the lab's main lesson: the form book shows a close-up loss, and only the comment shows that the horse ran extra ground. So the price undervalues the run. What the thread has not done is find out which part of the rule carries the lift. Five flags are stacked: the early setback, the recovery, the wide trip, no slow start, and the narrow beating. It is still open whether the edge needs the early wide trip specifically, or whether any narrow defeat after a wide trip would do. The sample is also small and both periods are carried by roughly 150 bets each. No open questions exist to close. The next step is to test the mechanism, not to cut the rule into smaller pieces.", "answers": [], "questions": [ { "question": "Is the lift carried by the wide trip plus a narrow defeat, or does it need the early-setback and recovery flags too?", "rationale": "If the broad rule (last_raced_wide = 1, last_beaten_lengths <= 5, last_position > 1) prices as well as the full rule, the system can be widened to many more bets. If it scores near 1.0, the specific story of being caught wide early and working back into the race is what the market misses. Columns: last_raced_wide, last_early_setback, last_recovered, last_beaten_lengths, last_position, race_type.", "observation_ids": [ "O-f4707b9d" ], "priority": 0.6 }, { "question": "Is the edge bigger when the wide trip cost more ground, for example in a big field last time or on a round course with tight bends?", "rationale": "This is a dose-response test of the mechanism: a larger field puts the horse wider, and a sharp track adds more ground on the bends. Columns: last_field_size, last_track_character, last_ground_gained_pct, last_raced_wide, last_recovered.", "observation_ids": [ "O-f4707b9d" ], "priority": 0.4 }, { "question": "Do the sectionals of the last run show the extra effort (a fast early section, or speed lost before the finish) for these runners?", "rationale": "If the mechanism is real, the l_ sectional columns should show a costly early section that the result hides. That would let a sectional rule replace or confirm the comment flags. Columns: l_early_pct, l_speed_lost_pct, l_fsp_pct, l_late_pct, last_raced_wide.", "observation_ids": [ "O-f4707b9d" ], "priority": 0.35 } ], "hypotheses": [ { "title": "Rival: any narrow Flat defeat after racing wide, without the early-setback and recovery flags", "family": "story", "operator": "rival-explanation", "question_id": null, "new_question": 0, "parent_id": "H20-wide-early-and-got-back-into-it", "reasoning": { "observation_ids": [ "O-f4707b9d" ], "question": "Does the market underrate any horse beaten narrowly after racing wide, or only one that was caught wide early and had to work back into the race?", "mechanism": "Racing wide costs ground on the bends at any stage. A horse that still finished within 5 lengths may have run to a better level than its position shows, whether or not the comment flags an early setback and a recovery.", "market_miss": "The result shows a beaten horse. 'Raced wide' is a common comment, and if the ground cost goes uncounted in general, the broad version should also beat its price.", "prediction": { "direction": "positive", "size": "A/E 1.08 to 1.20 on 1000+ bets if the rival holds", "falsified_if": "A/E at or below 1.03 on 1000+ bets, or no better than its same-race control. That would mean the early-setback-and-recovery story carries the edge." }, "rule_sketch": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5" }, "confounders": [ "already-short prices for horses beaten narrowly", "overlap with the parent rule's 256 bets inflating the broad result", "course-specific wide-draw biases" ], "expected_survival": 0.35 }, { "title": "Sharpen: wide early and recovered from a big field last time, where the wide trip costs most", "family": "story", "operator": "sharpen", "question_id": null, "new_question": 1, "parent_id": "SYS-wide-early-and-recovered", "reasoning": { "observation_ids": [ "O-f4707b9d" ], "question": "Is the edge strongest where the wide trip must have cost the most ground?", "mechanism": "In a big field a horse caught wide early is likely to be several horses wide and to lose more ground. Recovering to finish close up from there shows more ability than the same result in a small field. This is a dose-response test, not a post-hoc cut.", "market_miss": "The form book records a close-up place. It does not show how many horses wide the runner was, so the market cannot scale its view to the ground lost.", "prediction": { "direction": "positive", "size": "A/E 1.45 to 1.70 on 120+ bets, and above the small-field remainder", "falsified_if": "A/E at or below the parent's level (about 1.35), or the small-field half of the parent scoring as high. Either would mean no dose-response." }, "rule_sketch": "race_type = 'Flat' AND last_early_setback = 1 AND last_recovered = 1 AND last_raced_wide = 1 AND last_slow_start = 0 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_field_size >= 12" }, "confounders": [ "bigger fields are more often handicaps, with different pricing", "fewer bets makes the result noisy", "big fields cluster at festival meetings" ], "expected_survival": 0.3 } ], "findings": [ { "statement": "Earlier research found wide early, got back into the race and beaten 5 lengths or less (all codes) at A/E 1.43 on 313 bets, with both periods above 1.28 (1.28 on 146, 1.57 on 167) and BSP ROI +36.7%. The Flat version is now live with no forward bets yet.", "kind": "holds", "observation_ids": [ "O-f4707b9d" ] } ] }
Timeline
Job 57 finished
· engine:compute-1
compute-1 took job 57 (mutate, attempt 1)
· compute-1
Queued mutate on the compute lane: AI unavailable: deterministic mutations of a live candidate
· engine:scheduler
hypothesis note H20-wide-early-and-got-back-into-it
· importer
H20-wide-early-and-got-back-into-it Discovery → PROMISING import: tier A: strong candidate; best [Flat] GREEN A/E 1.45 on 256 bets (broad GREEN)
· importer
import result for H20-wide-early-and-got-back-into-it (handicap): info
· importer
import result for H20-wide-early-and-got-back-into-it (last run at a sharp track): info
· importer
import result for H20-wide-early-and-got-back-into-it (Flat): info
· importer
import result for H20-wide-early-and-got-back-into-it (broad): info
· importer
New idea H20-wide-early-and-got-back-into-it: H20: wide early and got back into it (import)
· importer
Every change is an event with an actor: an agent and its version, an engine, a human, or the importer. Current stage: Promising.