Xiphers Research·← Back to indexDEEN

PX1s — VWAP as a direction filter, anchored at 18:00 (secondary variant) · NQ

NQ · dev 2024-08-14 to 2026-01-31 · val 2026-02-01 to 2026-04-30 · 424 sessions · 8 control arms

Verdict — NQ

This report judges NQ only. Every thesis gets two separate verdicts, one per instrument, each on its own signal and with its own arbiter width (P(+160 before −160) here). The other instrument sits in a report of its own; neither decides anything about the other.

Slot A — no evidence on Price against the 18:00-anchored session VWAP of the instrument itself, all anchors, without a magnitude or distance filter

Slot A is the user's live setting and the only configuration of this thesis — there is no threshold grid, slot B stays empty. The verdict applies to exactly this triple of condition, configuration and time scope (thesis.md §2, rule 8): “no evidence” here does not mean “the VWAP does not work” but “no evidence on this config and in this window”. The year-by-year section shows why the distinction matters: the effect lived 2021–2023 and is gone from 2025. A distance filter (distance to the VWAP in σ) is a different configuration and runs as a thesis of its own (ticket 22). Frozen on 2026-08-15.

Per instrument separately. Dev — the predicted sign in at least half of the hour buckets. Val — one run, the same sign New York total. Passed only if both; one instrument alone does not make the thesis pass.

Slot · configRoleSessionsnP(+160 before −160)BaselineΔ %Control spanBuckets with the signResult
Slot A · Price against the 18:00-anchored session VWAP of the instrument itself, all anchors, without a magnitude or distance filterdev3622187149.8 %49.7 %+0.1349.3 … 50.0 %4 of 7passed
Slot A · Price against the 18:00-anchored session VWAP of the instrument itself, all anchors, without a magnitude or distance filterval62436749.8 %49.9 %-0.0747.9 … 50.8 %4 of 7failed
Preregistration
ClaimPrice above the session VWAP → long edge, below it short edge.
ConditionSign of price minus the session VWAP of the instrument itself, read at the last tick before the anchor: the NQ verdict computes NQ against the NQ VWAP, the ES verdict ES against the ES VWAP. The VWAP runs from the session start 18:00 New York and is volume-weighted from ticks — the overnight anchoring, not that of the live indicator. Above the VWAP → long, below → short, exactly on the VWAP → flat.
PredictionHit rate P(+X before −X) above the baseline in the signal direction, with the predicted sign in the majority of the hour buckets — predicted per instrument separately.
Target metric (arbiter)P(+160 before −160) — Hit rate P(+X before −X) minus baseline at the arbiter width of the instrument (NQ ±160 T, ES ±40 T), New York total, gross and over resolved anchors only. Preregistered secondary variant to PX1: the verdict on the VWAP thesis falls on the RTH-anchored primary variant (the user's live indicator), per instrument separately. An effect that shows up only here is exploration and must run as a thesis of its own on untouched data.
Baseline (control arm)The same anchors, direction by a cyclic shift of the sign series of the respective instrument across the days: day X trades the sign series of day X+k. Both arms are filled via FillModel::PhaseSpread.
Success criterionPer instrument separately. Dev — the predicted sign in at least half of the hour buckets. Val — one run, the same sign New York total. Passed only if both; one instrument alone does not make the thesis pass.
SignalNQ price above/below the session VWAP (from the session start 18:00 New York, volume weighted from ticks, running) — read on NQ ticks
Data rolesdev: 2024-08-14 to 2026-01-31 · val: 2026-02-01 to 2026-04-30
Holdoutfrom 2026-05-01 — not computed in this run, not looked at

NQ — this is where the NQ verdict falls

NQ price above/below the session VWAP (from the session start 18:00 New York, volume weighted from ticks, running) · brackets 40 / 80 / 120 / 160 / 200 / 280 / 320 / 400 / 560 ticks · fill phase spread 1.85/1.62/1.14/1.50

NQ · Dev — digging is allowed here

Arbiter of this role: +0.13 % away from the baseline, predicted sign in 4 of 7 hour buckets.

362 sessions, 2024-08-14 to 2026-01-30 · 28236 anchors: 15650 long (55.4 %) / 12586 short / 0 flat · 0 without ticks · 0 horizons running past the session end · 8 control arms, shifts +226, +56, +63, +19, +286, +160, +232, +36

Hit rate probe: is the direction right? · the arbiter

HourP(+160 before −160)BaselineΔ %Control spanzresolvednDistribution of the daily hit ratesDays above baseline
09:30–10:0054.1 %50.2 %+3.8748.8 … 52.5 % ◆+3.4 ●97.5 %2118166 of 362 (45.9 %)
10–1151.2 %49.9 %+1.2847.4 … 53.0 %+0.989.8 %3900201 of 359 (56.0 %)
11–1249.8 %49.9 %-0.1148.9 … 51.1 %-0.281.0 %3519191 of 357 (53.5 %)
12–1350.5 %50.0 %+0.5248.2 … 50.8 %+0.974.9 %3252187 of 350 (53.4 %)
13–1450.0 %49.7 %+0.2647.0 … 52.6 %+0.472.0 %3129179 of 334 (53.6 %)
14–1548.8 %49.5 %-0.7046.0 … 52.2 %-0.265.5 %2846164 of 328 (50.0 %)
15–1645.1 %50.8 %-5.6647.9 … 52.3 %-2.6 ●71.5 %3107129 of 329 (39.2 %)
New York total49.8 %49.7 %+0.1349.3 … 50.0 %+0.477.5 %21871182 of 362 (50.3 %)
Other bracket widths
HourΔ ±40 TΔ ±80 TΔ ±120 TΔ ±200 TΔ ±280 TΔ ±320 TΔ ±400 TΔ ±560 T
09:30–10:00+1.29+1.52+3.85 ●+4.25 ●+2.86 ●+1.87-0.41+0.80
10–11-0.87+0.46+1.28+1.31+2.12+2.63+1.27+0.59
11–12-0.05+0.83+0.02-1.55-1.97-2.87-4.58-5.96
12–13-0.64-1.55-0.18-1.43-2.10-1.89-1.59+0.72
13–14-1.47-0.83+0.05-0.52+0.36+2.19+2.46+6.59
14–15+0.14+0.66+0.72-3.20-4.14-2.65-2.89-0.25
15–16-2.12 ●-3.03 ●-4.58 ●-5.68 ●-8.75 ●-9.31 ●-10.22 ●-9.94 ●
New York total-0.57-0.32-0.00-0.70-1.19-0.72-1.30-0.80

Breadth (7 hours × 9 bracket widths): 46.0 %, control arms 23.8 % to 52.4 %.

Bracket up to the close (16:00 New York) — context

The same calculation as above, except the bracket does not run for 60 minutes but until 16:00 New York — the real arm and all 8 control arms under the same cap. Context, not a verdict: the arbiter stays the 60-min row above.

HourP(+160 before −160)BaselineΔ %Control spanzresolvedn Δ ±40 TΔ ±80 TΔ ±120 TΔ ±200 TΔ ±280 TΔ ±320 TΔ ±400 TΔ ±560 T
09:30–10:0054.1 %50.4 %+3.7348.6 … 52.3 % ◆+3.5 ●100.0 %2171+1.29+1.57+3.78 ●+3.78 ●+3.53 ●+3.61+1.95+0.13
10–1151.5 %50.4 %+1.1347.6 … 52.7 %+0.999.5 %4324-0.87+0.51+1.47+1.03+2.06+2.41+3.21-0.83
11–1250.9 %49.8 %+1.0848.8 … 50.8 % ◆+1.698.4 %4276-0.05+0.83+0.76+1.72+2.67+2.31+0.07-3.46
12–1352.4 %50.4 %+1.9548.6 … 51.5 % ◆+2.2 ●96.6 %4197-0.64-1.43-0.07+1.08+0.30+0.27-0.30-3.43
13–1451.3 %50.3 %+0.9848.1 … 52.0 %+1.191.9 %3991-1.47-1.01+0.16+0.91-1.55-0.65-0.86-2.53
14–1548.5 %50.9 %-2.4545.6 … 52.2 %-0.581.7 %3551+0.14-0.05-0.69-3.38-4.27-5.06-8.63 ●-7.17
15–1645.7 %50.3 %-4.6048.1 … 53.8 %-2.058.5 %2541-2.05 ●-2.78 ●-3.82 ●-5.75-9.39 ●-9.34 ●-9.30 ●-8.39 ●
New York total50.7 %49.9 %+0.8049.5 … 50.3 % ◆+2.8 ●88.7 %25051-0.57-0.35+0.14+0.32-0.03+0.45-0.28-1.81

The resolved column is the interesting one here: it rises against 60 minutes because the slow path is given time. Only the last row runs the other way — the 15:55 anchor has 5 minutes left until the close, so the 15–16 bucket is capped shorter than above, not longer.

Year by year: when did the effect live?

The same metric as above, only read by calendar year — reading cuts through the same 8 control arms, edge years labelled with their span; z is screening, not a verdict.

YearP(+160 before −160)BaselineΔ %Control spanzresolvednSessions
2024 (from 14.08.)49.5 %49.4 %+0.1446.1 … 51.3 %+0.476.2 %564395
202549.9 %49.7 %+0.1849.3 … 50.8 %-0.177.8 %14983247
2026 (until 30.01.)50.0 %51.1 %-1.0445.9 … 54.9 %-0.179.8 %124520
+0.35+2.3-0.04-0.3-0.43-2.8-0.82-5.4-1.22-8.0Δ %z2024 (from 14.08.) · Δ +0.14 % · z +0.38 · n 56432025 · Δ +0.18 % · z -0.10 · n 149832026 (until 30.01.) · Δ -1.04 % · z -0.10 · n 1245z +0.38z -0.10z -0.102024 *20252026 ** Teiljahr

Bars = Δ % per year against the baseline (left axis), ◆ = z against the control arms of the same year (right axis), filled from |z| ≥ 2. * marks a partial year.

Time probe: how many ticks were there to take?

Hour1 min5 min15 min30 min60 minnØ z
09:30–10:00-1.09+7.45+18.09 ●+9.89+24.452172+1.4
10–11+0.68+0.90+9.23+15.02-0.804344+0.9
11–12+0.90+0.15-1.28-2.65-5.394344+0.3
12–13-1.17 ●+0.72+0.36+0.49+4.584344-0.2
13–14-0.10+1.54+5.02+11.87+15.464344+0.8
14–15-0.50+0.70+0.63+1.39-2.664344+0.1
15–16-2.80 ●-2.19-8.72 ●-17.54 ●-30.69 ●4344-3.1 ●
New York total-0.43+0.46+0.77+0.41-2.6328236+0.3
All horizons per hour, with MFE and MAE
HourHorizonnØ FRBaselineΔControl spanShare positiveØ MFEØ MAE
09:30–10:001 min2172-1.10-0.01-1.09-1.70 … +2.3448.7 %+52.79-53.05
09:30–10:005 min2172+5.33-2.11+7.45-3.53 … +5.3751.8 %+109.66-106.81
09:30–10:0015 min2172+16.53-1.55+18.09-8.00 … +11.54 ◆53.3 %+191.10-175.49
09:30–10:0030 min2172+18.15+8.26+9.89-9.14 … +11.33 ◆52.9 %+265.08-238.52
09:30–10:0060 min2172+29.67+5.22+24.45-19.09 … +25.10 ◆53.4 %+346.13-316.25
10–111 min4344+1.21+0.53+0.68-1.19 … +2.2050.2 %+41.45-41.22
10–115 min4344+1.06+0.16+0.90-1.50 … +3.2851.0 %+86.24-84.83
10–1115 min4344+6.76-2.47+9.23-5.27 … +8.0452.9 %+145.80-141.72
10–1130 min4344+10.38-4.65+15.02-12.02 … +14.8352.8 %+199.37-191.62
10–1160 min4344+0.22+1.03-0.80-21.13 … +22.7652.7 %+258.71-257.55
11–121 min4344+0.55-0.36+0.90-0.72 … +0.52 ◆50.1 %+31.47-31.52
11–125 min4344-0.26-0.41+0.15-1.69 … +1.2051.0 %+65.00-66.14
11–1215 min4344-2.30-1.02-1.28-5.33 … +2.9050.4 %+109.59-114.04
11–1230 min4344-2.05+0.61-2.65-10.20 … +7.3350.9 %+152.05-158.54
11–1260 min4344+2.95+8.34-5.39-20.69 … +11.4952.0 %+210.72-212.99
12–131 min4344-0.90+0.27-1.17-0.75 … +0.7048.5 %+25.72-27.28
12–135 min4344+0.84+0.12+0.72-1.97 … +1.8349.0 %+56.01-56.22
12–1315 min4344+0.57+0.21+0.36-4.25 … +5.9650.2 %+97.31-97.07
12–1330 min4344+0.24-0.25+0.49-7.37 … +12.3150.2 %+137.40-137.17
12–1360 min4344+7.82+3.24+4.58-14.19 … +24.8651.5 %+196.39-191.95
13–141 min4344-0.10-0.01-0.10-1.65 … +1.0748.7 %+25.24-26.21
13–145 min4344+1.93+0.39+1.54-1.44 … +3.0349.9 %+54.61-54.08
13–1415 min4344+5.50+0.49+5.02-5.96 … +10.8949.9 %+96.95-93.27
13–1430 min4344+13.02+1.15+11.87-14.16 … +17.3252.2 %+139.50-130.75
13–1460 min4344+18.72+3.26+15.46-22.08 … +24.6852.8 %+198.21-182.81
14–151 min4344-0.59-0.09-0.50-0.89 … +0.5449.2 %+25.24-26.36
14–155 min4344+0.19-0.51+0.70-1.44 … +0.8549.6 %+52.74-53.25
14–1515 min4344+1.31+0.67+0.63-4.90 … +4.8950.5 %+89.68-90.24
14–1530 min4344+2.46+1.06+1.39-7.01 … +11.1751.5 %+125.64-125.16
14–1560 min4344-2.19+0.47-2.66-13.74 … +19.3548.0 %+176.73-178.95
15–161 min4344-2.15+0.65-2.80-0.46 … +0.9847.7 %+28.14-30.60
15–165 min4344-1.48+0.70-2.19-1.49 … +2.2149.5 %+55.98-58.84
15–1615 min4344-7.59+1.13-8.72-3.37 … +6.9345.9 %+96.82-104.88
15–1630 min4344-14.25+3.29-17.54-3.91 … +12.8544.1 %+135.40-149.22
15–1660 min4344-25.56+5.13-30.69-4.32 … +22.7643.6 %+181.38-204.40
New York total1 min28236-0.39+0.04-0.43-0.38 … +0.6249.0 %+31.33-32.26
New York total5 min28236+0.76+0.30+0.46-0.70 … +0.54 ◆50.2 %+65.45-65.66
New York total15 min28236+1.93+1.16+0.77-2.48 … +1.9950.2 %+112.57-112.15
New York total30 min28236+2.90+2.49+0.41-3.61 … +4.9550.5 %+157.22-155.65
New York total60 min28236+2.58+5.21-2.63-5.79 … +11.4550.4 %+214.65-213.35

Breadth (7 hours × 5 horizons): 60.0 %, control arms 5.7 % to 60.0 %.

Both halves of the window, separately
HalfBracketn resolvedP(+X before −X)BaselineΔ %
1 (2024-08-14 to 2025-05-07)±40 T1411848.9 %49.8 %-0.86
1 (2024-08-14 to 2025-05-07)±80 T1400348.7 %49.6 %-0.85
1 (2024-08-14 to 2025-05-07)±120 T1316849.3 %49.0 %+0.33
1 (2024-08-14 to 2025-05-07)±160 T1172049.3 %49.5 %-0.25
1 (2024-08-14 to 2025-05-07)±200 T1008448.8 %49.5 %-0.66
1 (2024-08-14 to 2025-05-07)±280 T724149.5 %49.4 %+0.07
1 (2024-08-14 to 2025-05-07)±320 T612150.2 %49.6 %+0.60
1 (2024-08-14 to 2025-05-07)±400 T438449.8 %50.0 %-0.23
1 (2024-08-14 to 2025-05-07)±560 T237949.7 %50.2 %-0.46
2 (2025-05-08 to 2026-01-30)±40 T1411850.2 %50.3 %-0.16
2 (2025-05-08 to 2026-01-30)±80 T1362650.2 %50.1 %+0.10
2 (2025-05-08 to 2026-01-30)±120 T1202750.0 %50.5 %-0.47
2 (2025-05-08 to 2026-01-30)±160 T1015150.4 %50.6 %-0.23
2 (2025-05-08 to 2026-01-30)±200 T827549.8 %50.5 %-0.68
2 (2025-05-08 to 2026-01-30)±280 T556347.9 %50.6 %-2.66
2 (2025-05-08 to 2026-01-30)±320 T458847.5 %50.3 %-2.83
2 (2025-05-08 to 2026-01-30)±400 T307647.0 %50.7 %-3.64
2 (2025-05-08 to 2026-01-30)±560 T151548.8 %50.8 %-1.91
HalfHorizonnØ FRBaselineΔ (ticks)
1 (2024-08-14 to 2025-05-07)1 min14118-0.50+0.28-0.78
1 (2024-08-14 to 2025-05-07)5 min14118+0.69-0.51+1.20
1 (2024-08-14 to 2025-05-07)15 min14118+2.89-1.12+4.01
1 (2024-08-14 to 2025-05-07)30 min14118+6.06+0.61+5.45
1 (2024-08-14 to 2025-05-07)60 min14118+7.09+4.22+2.87
2 (2025-05-08 to 2026-01-30)1 min14118-0.28+0.05-0.33
2 (2025-05-08 to 2026-01-30)5 min14118+0.83+0.69+0.13
2 (2025-05-08 to 2026-01-30)15 min14118+0.96+2.47-1.51
2 (2025-05-08 to 2026-01-30)30 min14118-0.26+2.89-3.14
2 (2025-05-08 to 2026-01-30)60 min14118-1.93+5.84-7.76

NQ · Val — one run, frozen expectation

Arbiter of this role: -0.07 % away from the baseline, predicted sign in 4 of 7 hour buckets.

62 sessions, 2026-02-02 to 2026-04-30 · 4836 anchors: 2762 long (57.1 %) / 2074 short / 0 flat · 0 without ticks · 0 horizons running past the session end · 8 control arms, shifts +58, +46, +13, +15, +47, +48, +3, +32

Hit rate probe: is the direction right? · the arbiter

HourP(+160 before −160)BaselineΔ %Control spanzresolvednDistribution of the daily hit ratesDays above baseline
09:30–10:0050.8 %50.3 %+0.5447.6 … 54.6 %+0.1100.0 %37216 of 62 (25.8 %)
10–1151.4 %48.8 %+2.5946.5 … 51.0 % ◆+1.898.7 %73435 of 62 (56.5 %)
11–1249.1 %51.6 %-2.5545.8 … 53.0 %-0.495.0 %70726 of 62 (41.9 %)
12–1350.3 %50.3 %+0.0046.5 … 53.7 %+0.188.2 %65629 of 61 (47.5 %)
13–1444.8 %50.8 %-5.9545.0 … 53.0 %-2.088.2 %65620 of 62 (32.3 %)
14–1549.0 %48.4 %+0.6345.7 … 52.4 %+0.285.9 %63927 of 61 (44.3 %)
15–1653.9 %50.1 %+3.8144.3 … 54.7 %+1.181.0 %60332 of 61 (52.5 %)
New York total49.8 %49.9 %-0.0747.9 … 50.8 %+0.390.3 %436727 of 62 (43.5 %)
Other bracket widths
HourΔ ±40 TΔ ±80 TΔ ±120 TΔ ±200 TΔ ±280 TΔ ±320 TΔ ±400 TΔ ±560 T
09:30–10:00+2.15+2.69+1.61+2.43+4.51+3.53+5.67+1.50
10–11-0.27-0.27+2.15+5.09+3.24+1.77-0.22+0.37
11–12-0.27-1.08+0.00+0.15-6.17-6.34-8.27-4.85
12–13+0.54+0.81+1.26+0.53+2.11+1.18-2.25+1.54
13–14-2.69-2.29-5.96-4.45-7.31-8.90-9.63-13.24
14–15-2.69-0.82-0.71+2.35+0.25-1.18-6.70-7.14
15–16+1.34+2.42+2.62+6.55+2.46+1.61+3.64-0.90
New York total-0.19+0.25+0.41+1.72-0.23-0.42-0.53-0.56

Breadth (7 hours × 9 bracket widths): 54.0 %, control arms 17.5 % to 66.7 %.

Bracket up to the close (16:00 New York) — context

The same calculation as above, except the bracket does not run for 60 minutes but until 16:00 New York — the real arm and all 8 control arms under the same cap. Context, not a verdict: the arbiter stays the 60-min row above.

HourP(+160 before −160)BaselineΔ %Control spanzresolvedn Δ ±40 TΔ ±80 TΔ ±120 TΔ ±200 TΔ ±280 TΔ ±320 TΔ ±400 TΔ ±560 T
09:30–10:0050.8 %50.3 %+0.5447.6 … 54.6 %+0.1100.0 %372+2.15+2.69+1.61+2.15+4.84+4.61+6.04 ●+7.23 ●
10–1151.7 %48.8 %+2.9646.4 … 50.7 % ◆+2.0100.0 %744-0.27-0.27+2.15+5.65 ●+3.52+1.51+3.03+4.97
11–1250.3 %51.6 %-1.3446.8 … 53.8 %+0.0100.0 %744-0.27-1.08+0.27+0.00-2.62-2.00-2.86+9.15 ●
12–1349.3 %51.1 %-1.8845.9 … 54.1 %-0.499.9 %743+0.54+0.81+1.88-2.47-2.52-1.26+2.04+7.65
13–1445.6 %48.8 %-3.2642.5 … 53.7 %-1.099.1 %737-2.69-2.15-4.44-3.12-5.15-4.61-2.22-1.26
14–1550.9 %49.0 %+1.8744.8 … 51.7 %+1.093.3 %694-2.69+0.00+0.41+4.84+5.42+7.41+5.45+10.61
15–1653.7 %50.7 %+3.0743.8 … 55.1 %+1.170.0 %521+1.34+2.36+2.28+6.68+5.93+5.26+2.29+13.21
New York total50.1 %49.5 %+0.6647.1 … 51.3 %+0.594.2 %4555-0.21+0.37+1.02+1.17-0.10-0.78+0.47+6.21 ●

The resolved column is the interesting one here: it rises against 60 minutes because the slow path is given time. Only the last row runs the other way — the 15:55 anchor has 5 minutes left until the close, so the 15–16 bucket is capped shorter than above, not longer.

Year by year: when did the effect live?

The same metric as above, only read by calendar year — reading cuts through the same 8 control arms, edge years labelled with their span; z is screening, not a verdict.

YearP(+160 before −160)BaselineΔ %Control spanzresolvednSessions
2026 (02.02.–30.04.)49.8 %49.9 %-0.0747.9 … 50.8 %+0.390.3 %436762
+0.01+2.3-0.01-3.0-0.03-8.2-0.06-13.5-0.08-18.7Δ %z2026 (02.02.–30.04.) · Δ -0.07 % · z +0.28 · n 4367z +0.282026 ** Teiljahr

Bars = Δ % per year against the baseline (left axis), ◆ = z against the control arms of the same year (right axis), filled from |z| ≥ 2. * marks a partial year.

Time probe: how many ticks were there to take?

Hour1 min5 min15 min30 min60 minnØ z
09:30–10:00+10.73 ●+8.46-11.03-10.10+23.23372+1.1
10–11+0.00+8.78 ●+26.29 ●+33.42 ●+28.28744+1.7
11–12-0.29-4.38-14.77-15.47+8.79744-0.3
12–13+2.20 ●-0.66+6.92+12.45+26.69744+1.1
13–14+1.19+0.74-1.28-8.48-31.78744-0.1
14–15-1.40-4.32-8.91-8.17+19.88744-0.7
15–16+0.05+1.81-5.31-6.69-19.17744+0.3
New York total+1.28+2.28+2.48+5.10+12.834836+1.4
All horizons per hour, with MFE and MAE
HourHorizonnØ FRBaselineΔControl spanShare positiveØ MFEØ MAE
09:30–10:001 min372+9.41-1.32+10.73-5.17 … +3.61 ◆51.3 %+79.96-71.64
09:30–10:005 min372+8.88+0.43+8.46-10.72 … +9.6551.9 %+150.83-141.58
09:30–10:0015 min372-9.95+1.08-11.03-29.93 … +29.5951.3 %+243.02-239.66
09:30–10:0030 min372+5.34+15.44-10.10-41.72 … +38.3251.9 %+328.81-319.91
09:30–10:0060 min372+28.39+5.16+23.23-41.85 … +79.0753.2 %+432.34-405.28
10–111 min744-0.55-0.55+0.00-4.69 … +6.9348.5 %+48.87-54.46
10–115 min744+7.33-1.45+8.78-9.19 … +2.83 ◆53.0 %+109.30-108.53
10–1115 min744+27.23+0.94+26.29-16.39 … +12.10 ◆55.0 %+188.78-172.87
10–1130 min744+34.70+1.28+33.42-29.62 … +23.79 ◆56.9 %+261.03-236.90
10–1160 min744+26.16-2.12+28.28-69.08 … +28.2055.0 %+336.78-318.97
11–121 min744-0.42-0.13-0.29-2.53 … +2.1249.6 %+37.02-41.29
11–125 min744-0.63+3.75-4.38-5.71 … +6.6453.2 %+79.60-82.76
11–1215 min744-5.23+9.54-14.77-14.88 … +13.4152.7 %+133.42-143.36
11–1230 min744-5.70+9.76-15.47-26.01 … +24.3952.7 %+176.82-195.44
11–1260 min744+19.14+10.35+8.79-47.31 … +31.7153.9 %+244.94-255.28
12–131 min744+1.65-0.55+2.20-1.41 … +1.44 ◆50.3 %+33.10-31.97
12–135 min744+0.06+0.72-0.66-2.76 … +4.1151.2 %+69.19-70.22
12–1315 min744+8.00+1.08+6.92-11.77 … +13.1453.2 %+120.32-116.87
12–1330 min744+18.45+6.00+12.45-36.99 … +15.87 ◆54.7 %+168.47-161.60
12–1360 min744+38.25+11.56+26.69-64.85 … +37.13 ◆56.9 %+235.52-219.21
13–141 min744+1.97+0.78+1.19-1.99 … +3.6649.9 %+32.35-30.96
13–145 min744+1.50+0.75+0.74-4.33 … +5.9247.8 %+65.66-66.03
13–1415 min744+0.42+1.70-1.28-11.84 … +15.6148.4 %+111.76-115.21
13–1430 min744-5.24+3.25-8.48-26.50 … +20.2648.8 %+154.33-164.68
13–1460 min744-15.39+16.39-31.78-39.24 … +19.9949.1 %+202.52-226.29
14–151 min744-1.01+0.39-1.40-2.02 … +2.3848.3 %+27.81-28.79
14–155 min744-3.88+0.44-4.32-3.66 … +1.5348.4 %+54.97-61.44
14–1515 min744-12.18-3.27-8.91-10.73 … +3.8949.3 %+92.60-109.05
14–1530 min744-13.68-5.51-8.17-18.57 … +2.9650.9 %+132.60-155.53
14–1560 min744-1.44-21.32+19.88-49.50 … +12.0052.7 %+209.43-221.57
15–161 min744+1.13+1.08+0.05-2.73 … +2.1851.5 %+34.21-32.78
15–165 min744+1.94+0.13+1.81-10.07 … +3.7048.9 %+65.70-61.64
15–1615 min744-2.45+2.85-5.31-31.15 … +12.9052.7 %+115.30-112.38
15–1630 min744-2.25+4.44-6.69-34.20 … +25.1949.2 %+164.97-161.07
15–1660 min744-4.51+14.66-19.17-30.86 … +31.6452.0 %+222.13-217.47
New York total1 min4836+1.15-0.13+1.28-1.25 … +0.49 ◆49.8 %+38.98-39.40
New York total5 min4836+1.65-0.63+2.28-2.41 … +1.30 ◆50.5 %+79.97-80.21
New York total15 min4836+1.66-0.81+2.48-5.84 … +3.6351.8 %+135.95-136.86
New York total30 min4836+4.45-0.64+5.10-13.54 … +4.5952.2 %+188.09-190.03
New York total60 min4836+11.75-1.08+12.83-28.39 … +12.8153.2 %+256.54-255.61

Breadth (7 hours × 5 horizons): 48.6 %, control arms 25.7 % to 62.9 %.

Both halves of the window, separately
HalfBracketn resolvedP(+X before −X)BaselineΔ %
1 (2026-02-02 to 2026-03-17)±40 T241747.3 %49.7 %-2.44
1 (2026-02-02 to 2026-03-17)±80 T240848.3 %49.8 %-1.41
1 (2026-02-02 to 2026-03-17)±120 T232347.5 %49.3 %-1.85
1 (2026-02-02 to 2026-03-17)±160 T219446.7 %49.5 %-2.83
1 (2026-02-02 to 2026-03-17)±200 T200847.8 %49.5 %-1.64
1 (2026-02-02 to 2026-03-17)±280 T155446.8 %49.3 %-2.51
1 (2026-02-02 to 2026-03-17)±320 T132247.7 %49.4 %-1.66
1 (2026-02-02 to 2026-03-17)±400 T99049.3 %49.7 %-0.40
1 (2026-02-02 to 2026-03-17)±560 T51753.6 %50.7 %+2.90
2 (2026-03-18 to 2026-04-30)±40 T241852.6 %50.8 %+1.78
2 (2026-03-18 to 2026-04-30)±80 T241652.0 %50.2 %+1.82
2 (2026-03-18 to 2026-04-30)±120 T233752.4 %50.0 %+2.44
2 (2026-03-18 to 2026-04-30)±160 T217353.0 %50.4 %+2.58
2 (2026-03-18 to 2026-04-30)±200 T194154.6 %50.1 %+4.53
2 (2026-03-18 to 2026-04-30)±280 T152352.6 %50.4 %+2.23
2 (2026-03-18 to 2026-04-30)±320 T131950.8 %50.6 %+0.23
2 (2026-03-18 to 2026-04-30)±400 T91448.0 %50.1 %-2.08
2 (2026-03-18 to 2026-04-30)±560 T38142.3 %48.3 %-6.04
HalfHorizonnØ FRBaselineΔ (ticks)
1 (2026-02-02 to 2026-03-17)1 min2418+0.05-0.84+0.89
1 (2026-02-02 to 2026-03-17)5 min2418+0.86+0.56+0.30
1 (2026-02-02 to 2026-03-17)15 min2418-0.45+1.46-1.90
1 (2026-02-02 to 2026-03-17)30 min2418+2.42+4.43-2.01
1 (2026-02-02 to 2026-03-17)60 min2418+11.09+4.98+6.11
2 (2026-03-18 to 2026-04-30)1 min2418+2.25+0.75+1.50
2 (2026-03-18 to 2026-04-30)5 min2418+2.45-0.38+2.83
2 (2026-03-18 to 2026-04-30)15 min2418+3.77-0.52+4.29
2 (2026-03-18 to 2026-04-30)30 min2418+6.49+0.10+6.39
2 (2026-03-18 to 2026-04-30)60 min2418+12.41-0.82+13.23

Sample days

10 sessions, drawn by seed (20260813), not hand-picked — illustration, not evidence (Learnings 11). They are the same days as in the other instrument's report, so the two can be laid side by side. Price NQ as a 1-minute path in points, the line on top of it is Session-VWAP (from the session start 18:00 New York).
Every marker is an anchor: long, short; green = +160 T reached first, red = −160 T first, grey = neither side within 60 minutes.

2024-10-08

78 anchors · 78 long / 0 short · 59 resolved, 41 of them with +160 T first (69.5 %)

09:3010:0011:0012:0013:0014:0015:0016:002000520089201732025720341

2024-10-09

78 anchors · 76 long / 2 short · 64 resolved, 42 of them with +160 T first (65.6 %)

09:3010:0011:0012:0013:0014:0015:0016:002022620292203582042320489

2024-12-16

78 anchors · 78 long / 0 short · 39 resolved, 30 of them with +160 T first (76.9 %)

09:3010:0011:0012:0013:0014:0015:0016:002182221908219952208222169

2025-06-04

78 anchors · 70 long / 8 short · 40 resolved, 10 of them with +160 T first (25.0 %)

09:3010:0011:0012:0013:0014:0015:0016:002164821688217282176821807

2025-07-09

78 anchors · 40 long / 38 short · 38 resolved, 12 of them with +160 T first (31.6 %)

09:3010:0011:0012:0013:0014:0015:0016:002290122955230092306323117

2025-08-08

78 anchors · 76 long / 2 short · 48 resolved, 29 of them with +160 T first (60.4 %)

09:3010:0011:0012:0013:0014:0015:0016:002353123581236322368223733

2025-09-04

78 anchors · 67 long / 11 short · 46 resolved, 39 of them with +160 T first (84.8 %)

09:3010:0011:0012:0013:0014:0015:0016:002339623470235442361823691

2025-10-14

78 anchors · 66 long / 12 short · 63 resolved, 28 of them with +160 T first (44.4 %)

09:3010:0011:0012:0013:0014:0015:0016:002440824549246902483224973

2026-02-18

78 anchors · 60 long / 18 short · 67 resolved, 26 of them with +160 T first (38.8 %)

09:3010:0011:0012:0013:0014:0015:0016:002474524845249452504525145

2026-04-21

78 anchors · 13 long / 65 short · 78 resolved, 31 of them with +160 T first (39.7 %)

09:3010:0011:0012:0013:0014:0015:0016:002655526640267242680926893
How to read this report

Layout

This report belongs to one instrument (NQ) and judges nothing else. First the verdict, then per data role (dev, then val) the same set of sections, always in the same order: hit rate probe including the distribution across days (is the direction right? — the arbiter) · time probe (how many ticks were there to take) · both halves of the window separately. Which section carries the arbiter depends on the preregistration of this study; the order is fixed. Nothing collapsed is second-rate, only second-asked — the other bracket widths, the full MFE/MAE matrix and the halves.

Money is no longer reported here. The probe asks about direction; the tradability section (money per sizing model and the metrics beside it) was cut from this report without replacement on 2026-08-15. Whether a direction can be traded after costs is checked later by a test of its own — once a thesis holds up.

Two instruments, two verdicts. Every thesis is tested on NQ and on ES separately, each instrument with the signal from its own ticks and its own arbiter width (NQ ±160 T ≈ 40 points ≈ 0.17 % of price, ES ±40 T ≈ 10 points — the same relative move on the ES grid). One instrument alone does not make a thesis pass; the other's report sits in the same folder.

Arbiter

The arbiter is the one number declared the referee before the run: Hit rate P(+X before −X) minus baseline at the arbiter width of the instrument (NQ ±160 T, ES ±40 T), New York total, gross and over resolved anchors only. Preregistered secondary variant to PX1: the verdict on the VWAP thesis falls on the RTH-anchored primary variant (the user's live indicator), per instrument separately. An effect that shows up only here is exploration and must run as a thesis of its own on untouched data.. It decides alone, and it decides in exactly the metric shown in the verdict table. Everything else in this report is exploration — it is shown in full because what works and what does not should be visible, but it does not turn this verdict. Whatever stands out here is a new thesis and re-runs on untouched data.

The verdict box: six phrases, and no more

Since the protocol reform of 2026-08-15 (thesis.md §2, rules 8–12) the verdict box carries exactly one of six stages, and each names the configuration in the same sentence: confirmed on ⟨config⟩ (dev and forward val passed) · confirmed (weak) on ⟨config⟩ (the val sign is right, but the val Δ is smaller than 50 % of the dev Δ) · dev passed on ⟨config⟩ — forward val running, verdict on ⟨date⟩ · no evidence on ⟨config⟩ · strong, unconfirmed on ⟨config⟩ — frozen for forward val, verdict on ⟨date⟩ · artefact: ⟨what the control arm reproduces⟩.

“The metric has no edge” is never written here. A verdict applies to the triple of condition, configuration and time scope, not to a metric in general — which is why it reads no evidence on ⟨config⟩. A null finding across a whole metric would only be justified once not a single configuration of the grid named in advance shows a neighbour-consistent Δ > 0 with z ≥ 2. And a confirmed stands: every further forward window after it runs as a labelled replication and builds the series, it does not turn the verdict.

Slot A and Slot B

Per thesis and instrument at most 2 frozen configurations enter the forward val — there are no more, and that is the guard against multiplicity. Slot A is the primary config: the user's live setting or the selection rule named in advance. Slot B is optional and is drawn mechanically from the dev grid under the plateau rule: the smallest threshold of the contiguous range in which Δ carries the predicted sign, |z| ≥ 2 holds, and the direct neighbours show the same sign. Smallest threshold means largest n and therefore the most conservative choice — not the z maximum, or the choice would be a ranking again.

Both slots are frozen with a date and get a verdict of their own; they are never netted against each other and never played off against each other. If the choice lands on the edge threshold of the grid, the report says ⟂ edge — the edge may lie beyond the grid. A grid may be extended in dev (dev is the digging window, the freeze is the guard); the extension is declared beforehand and the selection rule is then recomputed over the full grid.

Promotion: when an exploratory finding moves on

A finding outside the preregistration may stand as strong, unconfirmed if it meets all four criteria: (1) neighbour consistency — no lone spike, the grid neighbours show the same sign; (2) breadth — the predicted sign in ≥ 4 of 7 hour buckets, or in one contiguous block of ≥ 3 hours, which is then registered as the scope; (3) z ≥ 2 New York total — an entry ticket, not a verdict; (4) ≥ 30 carrying days. If the finding is not a grid cell (a cross-table cell, say), criterion 1 does not apply and criterion 4 tightens to ≥ 40 days.

Whatever passes is registered the same day as a thesis of its own with a freeze date and is then validated on forward data only — price theses included, because the tick store grows daily; the PX holdout stays reserved for the originally registered PX theses. Whatever fails stays exploration with the note too thin for promotion, n days = X — no vague “must re-run”. The criteria appear in the report as a mechanically recomputed table, not as an assertion.

Scoped resubmission. If a thesis fails on breadth even though the total Δ sits above every control arm with z ≥ 2, one check follows: do the positive buckets form a contiguous block? If they do, the hour-scoped version (“⟨thesis⟩, only ⟨block⟩”) attempts the promotion. If they do not, that is stated just as plainly — scattered hours are not a scope.

Carrying days and the date behind “verdict on”

A carrying day is a trading day that contributes at least one resolved anchor at the arbiter width to exactly this configuration — resolved meaning one of the two barriers was reached. The count appears as its own column in the grid and cross tables. Why it matters: anchors of the same day are correlated — 78 anchors from 12 days are not 78 observations, and a large n from few days is a day effect, not an edge.

The date behind verdict on is an estimate: the forward val runs over 30 trading days, so roughly six trading weeks — computed as freeze + 42 calendar days, then rolled to the next weekday. This calculation knows nothing about holidays; the real verdict falls once the 30 trading days have actually accumulated, not on the calendar date.

Δ, baseline, control span and ◆

Δ is real minus baseline, and the baseline is the median over the 8 control arms — the same run with the same condition, but with the sign series shifted cyclically across the days. The control span runs from the worst to the best arm. Whatever the baseline also achieves is no edge — only the distance counts. A means: the real arm sits above every single control arm, not just above their median. A ◆ is a marker, not significance: if the signal carries no information, the rank of the real arm among the 9 is uniform — a ◆ falls purely by chance in 1 of 9 cases (11 %). Likewise the min…max control span of 8 arms is only a 8/9 interval (88.9 %), not a 95 % interval (Learnings 27). And the hour buckets are 09:30–10:00 plus the full hours after it; because the anchors overlap, n is not a count of independent observations — how uncertain a cell is is read off the control span, not off n.

z and Ø z — the screening number per hour

z is the distance of the real arm from the mean of the 8 control arms, measured in their standard deviation: z = (real − mean of the arms) / sd of the arms. z = +2.0 means two standard deviations above what the shifted arms achieve on the same anchors. The column appears in the hit rate table per hour row and in the total row, at the arbiter width; in the time probe matrix every cell carries its z in the tooltip, as do the cells under “other bracket widths” and in the halves table — there against the control arms of the respective width. A marks |z| ≥ 2. Without spread (sd = 0) or without resolved anchors the cell reads “—”.

The ● does not mark the largest number but the largest distance in units of noise. The spread of the control arms differs in width per horizon and per bracket width — which is why a +1.3 can be marked at 30 min and a +4.6 not at 60 min: the 60-min path simply scatters far more, and a large tick value is nothing special there. Raw tick values are not comparable across horizons; that is exactly what Ø z beside them is for.

Ø z on the right of the time probe matrix is the mean of the z values of an hour row across the five horizons — the single number answering whether this hour sits outside the noise across all horizons. The z are averaged, not the tick Δ: the horizons have different scales. Cells without sd or without n drop out of the mean.

Two warnings, both meant seriously. First: the sd comes from only 8 arms and is therefore itself roughly estimated — z is not a clean test statistic but an order of magnitude. Second: with 7 hours × many cells |z| ≥ 2 also falls purely by chance; look long enough and you will always find a cell. And the five horizons overlap (the 1-min path sits inside the 5-min path and so on) — a high Ø z is therefore not a fivefold independent confirmation. z and Ø z are screening markers like the ◆, not a verdict: the verdict is passed by the preregistered arbiter alone.

Anchors

An anchor is a fixed sampling point: every 5 minutes between 09:30 and 15:55 New York the condition is read and turned into long, short or flat — 78 anchors per session. It deliberately does not hang on an entry signal; the question is whether the condition carries direction at all.

Hit rate probe

P(+X before −X) is the share of anchors at which price reaches X ticks in the signal direction before it reaches X ticks against it, within 60 minutes — gross on the raw price, without spread and commission: the barriers are symmetric, costs hit both sides equally and cancel out in the question about direction. The resolved column is the share of anchors at which either side was reached at all within 60 minutes; only those enter the rate, and whatever stays open drops out identically in both arms. Δ % is the difference in percentage points: hit rate minus baseline. +2 means 2 points more hits than the control, not 2 % relative — 51.3 % against 49.9 % is +1.4.

The highlighted columns are ±160 T — the arbiter of this study. The same quantity as Δ for the remaining widths sits collapsed under other bracket widths. It is read against the baseline, never against 50 %: a symmetric barrier does not land at 50 % by itself, drift and the mix of long and short move the zero point.

The width means ticks of this instrument: ±160 T are points on 40. The arbiter width is chosen per instrument so that it measures the same relative move (NQ ±160 T ≈ 0.17 % of price, ES ±40 T likewise); the resolved column shows how much of that is decided within 60 minutes at all.

Bracket to the close

Strictly speaking the 60-min rate measures P(+X before −X), given that one side is reached within 60 minutes. What resolves are preferentially the fast, volatile moments; the slow trend day drops out as open, the more often the wider the bracket. If an effect lives exactly there, the 60-min measurement systematically underrates it. The collapsed table bracket to the close therefore computes the same widths and the same booking a second time, capped at the RTH close 16:00 New York — the user is flat there, and does not trade what happens afterwards.

It does not judge. Baseline and z come from the same 8 control arms, computed with the same close cap — the real arm gets no special path. The arbiter nevertheless stays the 60-min row (NQ ±160 T, ES ±40 T): it is preregistered and frozen. An effect that shows up only in the close variant is exploration and must run as a new thesis on untouched data.

The 15:55 anchor has only 5 minutes left. The anchors run to 15:55, the cap sits fixed at 16:00 — from 15:05 onward the window is therefore shorter than 60 minutes. The 15–16 bucket is thus the only row in this table that gets less time than above; its resolved column and its n stand visibly beside it so it is not confused with the other hours.

Year by year

The year by year section reads the same arbiter metric a second time, split by calendar year — the year of the anchor in New York time, and because the anchors sit between 09:30 and 15:55 that is simply the calendar day of the session. Why at all: the market has quirks on an hourly basis and macroeconomic cycles above that; one number over six years hides that something carries in some years and not at all in others. The same logic as “total is irrelevant” across the day, only across the years.

The years are read-off slices, not runs of their own. The cyclic shift of the 8 control arms still runs over the full day list of the role; only afterwards are real arm and arms split by year. The baseline of a year is therefore the median of the same arms on the same anchors, not a freshly shuffled run. Edge years are partial years and carry their span in the name (“2020 (from 29.05.)”), in the chart a * — their n is smaller, their control span wider, and a year with few sessions swings accordingly.

The chart below shows Δ per year as bars (left axis) and z as a diamond (right axis). z stays screening, here even more than usual: with seven years × two instruments × several studies |z| ≥ 2 also falls purely by chance. A striking year is a new thesis and must run again on untouched data — it does not overturn a preregistered verdict.

Distribution across the days

One hit rate per session, turned into a histogram. The question is not whether the rate is right but whether it is carried by many days or by few. The bars are the ten deciles from 0 % to 100 %, the height is the share of days in that decile; days without a resolved anchor in that hour do not count. The tooltip above the histogram names the median day, the band from 10 % to 90 % and the number of days, the tooltip per bar the days in that decile.

The hour rows hold only about a dozen anchors per day — the daily rate is coarsely stepped there. The New York total row is the robust one: there every day has all 78 anchors.

Time probe

The signed forward return (FR) is the price path in ticks, turned into signal direction: signal short and price falls 10 ticks means +10. Bracket-free — no stop, no target, nothing that truncates the result — and gross, because costs move every cell equally and cancel out in the difference to the baseline. What is shown is Δ to the baseline; green means above. This is the second question — direction is answered by the hit rate probe.

MFE / MAEmaximum favorable / adverse excursion: how far price ran at most for and against the signal within the horizon. A good MFE with a poor forward return means: the move was there, it just did not hold to the horizon.

Both halves

A setting that carries in only one half is not a setting but a period (Learnings 26). First the hit rate, then the time probe — both as Δ to the baseline.

Breadth

Breadth is the share of cells above the baseline — 7 hours × bracket widths or × horizons; beside it stands what the best and the worst control arm achieve on the same computation. For the hit rate a control arm sits at around 50 % by construction. The verdict is never passed on the best cell.

Run
Instrument of this reportNQ
SignalNQ price above/below the session VWAP (from the session start 18:00 New York, volume weighted from ticks, running)
Sessions read424
Anchors per session78 (09:30–15:55, every 5 min)
Horizons1 / 5 / 15 / 30 / 60 min, bracket horizon 60 min; second bracket run capped at the RTH close 16:00 (context)
Bracket widths40 / 80 / 120 / 160 / 200 / 280 / 320 / 400 / 560 ticks
ArbiterP(+160 before −160)
Control arms8, seed 20260813, cyclic shift of the sign series across the days
Half-spread at entry, measured1.05 ticks
Reading ticks6.4 s
Run total6.6 s
Commitf1a70e3c099644522bfadfea043aa7c2b6d7cefb