experiment-os: generic exit-config intervention + v1/pm1 exit experiments

iv_exit_config replays ANY target/breakeven/trail combo through the shared exit
engine vs the live-exit baseline — reusable way to adjudicate exit numbers.
Counterfactual over setup fires: v1 (slow, 1.37R median winners) gains most from
prior_low trailing (win 17->24%, +0.036R); pm1 (fast, 2.64R median, 10R tail)
gains most from NO target + step0.5 (+0.273R, win 24->34%) — the fixed target
throws away pm1's fat tail. Registered both as tracked experiments. +test.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
momentum devandClaude Fable 5 committed 2026-07-14 22:24:18 -04:00
1 parent 7a28eafeff
commit ab2810896c
4 files changed
+63

No files matched your search

+9
View File
@@ -0,0 +1,9 @@
{
"id": "exit_pm1_fattail",
"hypothesis": "Removing the fixed target and step-locking profit (trail_r_step=0.5) captures the premarket fat tail (pm1 winners median 2.64R, peak 22min, tail to 10R) that a target-2R cap throws away — the biggest exit delta measured (+0.27R over the live exit).",
"population": {"min_entry_gap_pct": 0.10, "min_day_volume": 300000, "price_min": 2.0, "price_max": 20.0},
"intervention": {"kind": "exit_config", "exit_cfg": {"target_r": 0.0, "breakeven_at_pct": 0.05, "trail_r_step": 0.5}},
"bars": {"expR_delta_min": 0.05, "min_n": 300},
"futility": {"min_n": 500, "expR_delta_max": -0.03},
"fidelity": {"atr_frac": 0.25, "spread_mult": 3, "adverse_ticks": 1}
}
+9
View File
@@ -0,0 +1,9 @@
{
"id": "exit_prior_low_v1",
"hypothesis": "Adding a prior-low trailing stop (trail_after_r=1) to the live exit lifts the win rate and captures give-back that the no-trail breakeven ratchet scratches — the fix for slow small v1 winners (median 1.37R, peak 134min).",
"population": {"min_entry_gap_pct": 0.10, "min_day_volume": 300000, "price_min": 2.0, "price_max": 20.0},
"intervention": {"kind": "exit_config", "exit_cfg": {"target_r": 2.0, "breakeven_at_pct": 0.05, "trail_mode": "prior_low", "trail_after_r": 1.0}},
"bars": {"expR_delta_min": 0.03, "min_n": 300},
"futility": {"min_n": 500, "expR_delta_max": -0.03},
"fidelity": {"atr_frac": 0.25, "spread_mult": 3, "adverse_ticks": 1}
}