trading / confluences / b_gapadr

b_gapadr — overnight gap vs daily ATR band DEAD

Corpus lane — RG-27 · Scored and did not clear its own noise floor.

BURNED DATA — 2019–2026 was selected on before this lab existedNOT TV-VERIFIEDSCREENING ≠ CERTIFICATIONOPTIMISTIC FILL MODEL — touch fills, zero slippageMES ONLY · P1 M2 managementSOLO LEDGER IS NOT A BOOK — never summed

What it asks

Is the overnight gap a useful size — neither so small the day is chop nor so large the day is unstable? The bit wants |gap| between 0.10 and 0.75 of the 20-session daily ATR.

Exact definition · verbatim docstring from backtests/conf_lab/bits.py (sha1 5473adbbf694)

RG-27 gap-vs-ADR band. 1 iff |overnight gap| / dailyATR20 lies in
[0.10, 0.75] — too small (chop) and too large (unstable) both excluded.

The gap is the record's own `gap_pts` (09:30 RTH open minus the prior RTH
close), which the engine computes from prior-session data plus the 09:30
open and stamps on every candidate. The denominator is `_daily_atr20`, the
view-side restatement of `strategies_p1._ors_daily_atr20`. Missing gap or
ATR -> 0. Band fixed a priori; not swept.

Fixed parameters & provenance

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.

FieldValue
Source componentRG-27-gap-vs-adr-open-gate
Evidence tierCLAIMED
Backlog rank#9
denom"dailyATR20"
hi0.75
lo0.1
Design docbacktests/conf_lab/SCREEN-2026-08-07-DESIGN.md
Doc sha256e2ba7ca77acce01c03ebcdb7afb51ffade7bb7a591303a2923329dba13a91d94

Screen analytics — screen-2026-08-07

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.

Prevalence
69.51%
of filled rows
Pooled Δ mean R
+0.1106
stratified, vs bit=0
Matched-null p
0.0660
93.40th pctile of own null
BH q (15-bit family)
0.3080
q=0.25 gate
Bootstrap 95% CI
[-0.010, +0.230]
week-block, n=20,000 · p=0.0705
Win-rate Δ
+0.0406
secondary statistic

Per era · reported separately, never pooled into a verdict — each cell is a smaller sample than the headline

Eran filledPrevalenceΔ mean Rmatched pboot 95% CIflag
pre-20251,79070.17%+0.15000.0269[+0.016, +0.279]
2025+49967.13%+0.02300.8686[-0.242, +0.294]

Funnel & fill conditioning · a bit that mostly predicts whether a limit FILLS is not the same discovery as a bit that predicts whether a trade WINS

MeasureValue
Candidate rate (all 2,882)69.74%
Limit fill rate — bit = 179.15%
Limit fill rate — bit = 080.05%
Fill-conditioning gap-0.0089
Live take rate — bit = 117.56%
Live take rate — bit = 017.09%

Novelty vs the six live bits · high agreement means the bit is mostly restating a gate that is already in the stack

Live bitAgreementJaccard
c1_trend41.20%0.2673
c2_vwap54.35%0.4885
c3_volume62.47%0.5999
c4_sweep58.58%0.5562
c5_htf42.99%0.2631
c6_room35.12%0.0989

By stratum — does it work where the method actually trades? · the live A/B take rule is count >= 4, so the count>=4 rows are the only ones that could change a live trade

Stratumn onn offmean R onmean R offcrude Δ
other live bits == 0 SMALL11+0.3762-1.3246+1.7007
other live bits == 18026-0.2498-0.3517+0.1018
other live bits == 2472197-0.0204-0.1767+0.1563
other live bits == 3645308+0.0245-0.1223+0.1468
other live bits == 4334142+0.1340+0.0695+0.0646
other live bits == 55520-0.1643+0.3532-0.5175
other live bits == 6 SMALL44-0.3196-0.0699-0.2497

Config-grid involvement — 2026-08-07

Paired replay on the certified conflab-livegate-v1 stream, $250-nominal basis (~2.6% high versus engine dollars), 31 cells examined with ZERO multiplicity correction and no p-values. Every cell below is post-hoc on data the bits were screened on.

CellNetΔ netTradesWRexpRmax EOD DDΔ pre-2025Δ 2025+
BASE — live A/B take rule (count >= 4)$10,39952654.0%+0.0791$10,826
CONFIG_9_k5$14,295+$3,8961,12653.1%+0.0508$11,216+$613+$3,282
CONFIG_9_k6$7,952−$2,44743855.5%+0.0726$7,532+$380−$2,827
swap_b_gapadr__c6_room$7,296−$3,1041,07852.7%+0.0271$13,967−$3,787+$683
swap_b_gapadr__c5_htf$6,482−$3,91788753.1%+0.0292$13,094−$3,552−$365
swap_b_gapadr__c1_trend$2,399−$8,00086453.2%+0.0111$13,695−$3,626−$4,374
CONFIG_9_k7 n<100−$1,474−$11,8748850.0%-0.0670$3,293−$1,123−$10,750
CONFIG_9_k4−$3,727−$14,1271,79252.1%-0.0083$18,105−$9,623−$4,503
CONFIG_9_k3−$26,520−$36,9202,10150.9%-0.0505$33,048−$28,203−$8,717

Ruling on these cells

Every cell using it rests on a bit that FAILED the pre-registered FDR gate, so under the design it earned no A/B at all. CONFIG_9_k5 (+$3,896) additionally fails Stage-1 item 3 outright: max EOD drawdown $11,216.00 against base $10,826.17. All three of its swaps lost.

Status — DEAD

FAILED the pre-registered FDR gate: matched p=0.066, q=0.308 against q=0.25, and its bootstrap CI [−0.0095, +0.230] contains zero. Under the design it earns no A/B at all — CONFIG_9 and the b_gapadr swaps exist only because they were asked for after the fact, and they lost anyway: adding it doubled the book, diluted expR from .0912 to .0508, pushed max EOD drawdown to $11,216 (worse than base $10,826, which is Stage-1 item 3 and therefore death), and its 'era win' pre-2025 contains a −$3,870 year. In the traded count>=4 stratum its conditional effect is NEGATIVE (−0.073). Both judges ruled the same way: do not resurrect it in any form.

Retest path

None offered. A bit that failed its own pre-registered gate and then failed post-hoc as well does not get a third look on this data. A genuine retest would be a new registration that CITES the old one, so the attempt count and the multiplicity it creates stay visible (PROTOCOL gate 7).

Standing caveats

screen-2026-08-07stream conflab-pop-v1opportunity sha256 b62ca795de4a647b…harness ok · 0 real violations