Files
momentum-system/experiments/volume_fade_exit_v1.json
momentum devandClaude Fable 5 315afcf497 experiment-os: volume-fade exit experiment + fix fire reconstruction (0-fires bug)
The live loop fills resting-limit brackets via position-snapshot diffing and
emits NO order_filled (verified: 0 all-time in prod), so reconstruct_fires
skipped every fire and the ENTIRE harness replayed nothing (0 run rows).
Reconstruction now falls back to the order_submitted timestamp for entry timing
and reads entry/stop/exit from position_closed — restores the whole flagship
(0 -> 324 run rows on prod; pm1's overdue FAIL verdict now posts).

Adds the volume_fade intervention (exit to lock the gain when a bar's volume
drops below fade_frac x the entry-burst average, once in profit; original stop
still caps downside; adverse-tick fills on entry AND exit) + volume_fade_exit_v1
(pre-registered bars/futility/fidelity). Interim n=15 read: -0.68R vs baseline
(INCONCLUSIVE, min_n=100) — the harness answers 'does volume-fade help?' from
data before any live change. +6 tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 14:36:16 -04:00

10 lines
691 B
JSON

{
"id": "volume_fade_exit_v1",
"hypothesis": "Exiting to lock the live gain when the momentum volume dies (a bar's volume drops below 40% of the entry-burst average, once in profit) beats scratching at breakeven — it captures peaks the fixed breakeven ratchet gives back.",
"population": {"min_entry_gap_pct": 0.10, "min_day_volume": 300000, "price_min": 2.0, "price_max": 20.0},
"intervention": {"kind": "volume_fade", "fade_frac": 0.4, "baseline_bars": 5, "min_hold_bars": 3, "require_profit": true},
"bars": {"expR_delta_min": 0.05, "min_n": 100},
"futility": {"min_n": 150, "expR_delta_max": -0.05},
"fidelity": {"atr_frac": 0.25, "spread_mult": 3, "adverse_ticks": 1}
}