trading / confluences / b_volhard
Corpus lane — EN-11 · Scored and did not clear its own noise floor.
The same volume-spike test the live c3 runs, but with the bar lowered from 1.5× to 1.2× the 20-bar average.
EN-11 volume threshold refinement. c3 with the spike multiple at 1.2x instead of 1.5x, same series and same lookback. Reproduces `helpers.vol_spike_cont(mk, decision_bar_open, mult=1.2, lb=20)` through the restricted view: the decision 5m bar's volume against the mean of the 20 preceding 5m bars on the CONTINUOUS series (overnight bars count). This is a strict relaxation of c3, so it is 1 wherever c3 is 1.
Every parameter below was fixed in the design document before any candidate value was computed. No sweep, no tuning: a bit that needs tuning to pass has failed.
| Field | Value |
|---|---|
| Source component | EN-11-breakout-volume-hard-gate |
| Evidence tier | CLAIMED |
| Backlog rank | #3 |
| lookback_bars | 20 |
| vol_mult | 1.2 |
| Design doc | backtests/conf_lab/SCREEN-2026-08-07-DESIGN.md |
| Doc sha256 | e2ba7ca77acce01c03ebcdb7afb51ffade7bb7a591303a2923329dba13a91d94 |
Conditional association on mean solo R, stratified on the count of the OTHER live bits, against a per-bit prevalence-matched null (50,000 i.i.d. Bernoulli draws at this bit's own prevalence, scored on its own strata). Population: 2,882 candidates, 2,289 filled, MES, 2019-06-04 → 2026-07-31.
| Era | n filled | Prevalence | Δ mean R | matched p | boot 95% CI | flag |
|---|---|---|---|---|---|---|
| pre-2025 | 1,790 | 86.87% | -0.1342 | 0.1418 | [-0.322, +0.044] | — |
| 2025+ | 499 | 90.78% | +0.0813 | 0.7184 | [-0.277, +0.416] | — |
| Measure | Value |
|---|---|
| Candidate rate (all 2,882) | 88.48% |
| Limit fill rate — bit = 1 | 78.75% |
| Limit fill rate — bit = 0 | 84.64% |
| Fill-conditioning gap | -0.0589 |
| Live take rate — bit = 1 | 18.75% |
| Live take rate — bit = 0 | 7.23% |
| Live bit | Agreement | Jaccard |
|---|---|---|
| c1_trend | 36.26% | 0.3059 |
| c2_vwap | 51.77% | 0.5160 |
| c3_volume | 92.84% | 0.9183 |
| c4_sweep | 68.24% | 0.6746 |
| c5_htf | 33.77% | 0.2729 |
| c6_room | 19.35% | 0.0938 |
| Stratum | n on | n off | mean R on | mean R off | crude Δ |
|---|---|---|---|---|---|
| other live bits == 0 SMALL | 1 | 1 | -1.3246 | +0.3762 | -1.7007 |
| other live bits == 1 | 87 | 19 | -0.3021 | -0.1497 | -0.1523 |
| other live bits == 2 | 537 | 132 | -0.0639 | -0.0768 | +0.0129 |
| other live bits == 3 | 851 | 102 | -0.0430 | +0.1450 | -0.1881 |
| other live bits == 4 | 451 | 25 | +0.0978 | +0.4205 | -0.3227 |
| other live bits == 5 | 73 | 2 | +0.0024 | -1.0734 | +1.0757 |
| other live bits == 6 SMALL | 8 | 0 | -0.1948 | — | — |
NEGATIVE and the most decisive kill in the slate, because it answers a specific claim. The backlog argued the threshold, not the bit, was the lever. Pooled delta −0.103 R with a win-rate delta of −0.039, matched p=0.228, q=0.637. Loosening c3 to 1.2× makes the population WORSE. Since the bit is 1 wherever c3 is 1 by construction, this is a clean statement about the extra rows the relaxation admits: they are worse than the ones c3 already keeps.
Do not re-sweep the multiple — that is exactly the tuning the design forbids ('a bit that needs tuning to pass has failed'). Any c3-threshold question belongs to a new grid with the arms declared before looking.