Primary question: following a bearish impulse, does a low-volatility upward grind break above its frozen high before breaking below its frozen low within 12h at a higher rate than comparable upward-drifting structures?
Executive summary
Analysis A (boundary race): cohort A broke upward first in 461/556 resolved events (82.9%; 95% Wilson 79.6%–85.8%); all-valid denominator 83.5%.
Comparable upward drift (no compression): 76.9%; cohort B (drift+compression, no impulse): 78.5%.
Raw race advantage: A − drift-only = +6.1% (95% block-bootstrap CI +1.2% to +10.9%). This is the visual hypothesis on its own terms.
Analysis B (geometry matched): pattern 82.9% vs matched 80.1% (paired diff +2.8%, 95% CI -0.4% to +6.1%); the confidence interval includes zero.
Analysis C (equal-distance 1 ATR barriers): pattern up-first 51.3% vs matched 53.2% (paired diff -1.9%, CI -7.0% to +3.4%); both are near a coin flip.
Equal-distance barrier level: A up-first 53.4% of 541 resolved (95% CI 49.2%–57.6%); the interval includes 50%.
Conclusion: the raw boundary race is high and modestly above comparable upward drift, but the advantage is not robust to the boundary-distance control. Geometry-matched controls, the equal-distance barrier test, the regression controls, forward returns and the trading simulation all fail to establish a directional edge. The hypothesis is unsupported beyond geometry.
geometry
1. Audit of lowvol_grind_v1
V2 reuses the v1 detector unchanged. The previous implementation was audited against the event-level data before any change:
check
detail
result
Causal detection
Features use only bars ≤ t; verified by future-price perturbation test.
PASS
Frozen boundaries
Pattern high/low fixed at the detection bar; no post-detection movement.
PASS
Outcome timing
Outcome window starts at the open of t+1; 1m bars resolve intrabar order.
PASS
Outcome labels
BD/BO/NEITHER/AMBIGUOUS/INVALID are mutually exclusive per event.
PASS
Resolved denominator
bd_rate_resolved uses bd+bo only; all-valid rate also reported.
PASS
Random-control denominator
Breakdown summary uses resolved controls (bd+bo), not all sampled controls.
FIXED
Block bootstrap units
Calendar bins computed in nanoseconds; 7-day blocks.
FIXED
Overlap handling
Dedup cooldown = window length; raw bars and clusters reported.
PASS
Look-ahead in matching
Geometry/vol/impulse matching uses detection-time features only.
PASS
Reproduction
v1 event-level rates reconciled with summary tables and baseline diffs.
PASS
Reconciliation: cohort A event file (575 rows) reproduces the 12h summary exactly (461 breakout-first, 95 breakdown-first, 19 neither, 0 ambiguous); all baseline differences recompute from the saved event files. The only latent issue found was a random-control summary denominator that counted unresolved controls; it was corrected and the v1 artifact on disk is regenerated with resolved denominators.
2. Dataset and data quality
symbol
n_1m
first_1m
last_1m
duplicate_1m
missing_minute_gaps
missing_minutes
null_cells_1m
n_1h
first_1h
last_1h
funding_rows
BTCUSDT
918720
2025-01-01 00:00:00+00:00
2026-09-30 23:59:00+00:00
0
0
0
0
15312
2025-01-01 00:00:00+00:00
2026-09-30 23:00:00+00:00
1914
ETHUSDT
918720
2025-01-01 00:00:00+00:00
2026-09-30 23:59:00+00:00
0
0
0
0
15312
2025-01-01 00:00:00+00:00
2026-09-30 23:00:00+00:00
1914
SOLUSDT
918720
2025-01-01 00:00:00+00:00
2026-09-30 23:59:00+00:00
0
0
0
62218
15312
2025-01-01 00:00:00+00:00
2026-09-30 23:00:00+00:00
1914
ZECUSDT
918720
2025-01-01 00:00:00+00:00
2026-09-30 23:59:00+00:00
0
0
0
0
15312
2025-01-01 00:00:00+00:00
2026-09-30 23:00:00+00:00
1914
NEARUSDT
918720
2025-01-01 00:00:00+00:00
2026-09-30 23:59:00+00:00
0
0
0
0
15312
2025-01-01 00:00:00+00:00
2026-09-30 23:00:00+00:00
1914
XRPUSDT
918720
2025-01-01 00:00:00+00:00
2026-09-30 23:59:00+00:00
0
0
0
0
15312
2025-01-01 00:00:00+00:00
2026-09-30 23:00:00+00:00
1914
OGNUSDT
918720
2025-01-01 00:00:00+00:00
2026-09-30 23:59:00+00:00
0
0
0
0
15312
2025-01-01 00:00:00+00:00
2026-09-30 23:00:00+00:00
2567
HYPEUSDT
703530
2025-05-30 10:30:00+00:00
2026-09-30 23:59:00+00:00
0
0
0
0
11725
2025-05-30 11:00:00+00:00
2026-09-30 23:00:00+00:00
2930
BNBUSDT
918720
2025-01-01 00:00:00+00:00
2026-09-30 23:59:00+00:00
0
0
0
0
15312
2025-01-01 00:00:00+00:00
2026-09-30 23:00:00+00:00
1914
DOGEUSDT
918720
2025-01-01 00:00:00+00:00
2026-09-30 23:59:00+00:00
0
0
0
0
15312
2025-01-01 00:00:00+00:00
2026-09-30 23:00:00+00:00
1914
Same universe, venue and window as v1. 1m data are complete for every symbol, which makes the intrabar ordering and the strategy simulation reliable. HYPEUSDT starts 2025-05-30.
3. Pattern and structural features
The v1 primary pattern is reproduced exactly: 8-bar window; normalized log-price slope in [0.10, 0.60]; window realized-vol ratio ≤ 0.80; prior 12h impulse z ≤ −1.50; frozen pattern high/low. V2 adds structural features (slope R² and t-statistic, higher-low frequency, consecutive higher closes, candle overlap, pullback ratio, wick-to-body ratio, failed downward pushes, normalized boundary distances, time since impulse low) as candidate features.
group
feature
n
mean
median
A
slope_z
575
0.2521
0.2161
A
rv_ratio
575
0.6028
0.6270
A
impulse_z
575
-1.9302
-1.7667
A
higher_low_freq
575
0.6770
0.7143
A
consec_up
575
1.4487
1.0000
A
slope_r2
575
0.6000
0.6072
A
overlap_mean
575
0.7671
0.7719
A
pullback_ratio
571
0.7286
0.4339
A
wick_body_ratio
575
6.3135
3.6899
A
failed_down_pushes
575
0.9774
1.0000
A
range_pct
575
0.0298
0.0252
A
dist_high_norm
575
0.2018
0.1765
A
dist_low_norm
575
0.7982
0.8235
A
rel_volume
575
0.7719
0.7584
A
ema_dist_slow
575
-0.0277
-0.0267
A
bars_since_impulse_low
575
9.6678
8.0000
B
slope_z
6137
0.2229
0.1790
B
rv_ratio
6137
0.5899
0.6148
B
impulse_z
6137
0.0490
0.0221
B
higher_low_freq
6137
0.6402
0.5714
B
consec_up
6137
1.6317
1.0000
B
slope_r2
6137
0.5539
0.5519
B
overlap_mean
6137
0.7577
0.7613
B
pullback_ratio
6054
1.1049
0.5000
B
wick_body_ratio
6137
5.5585
3.0643
B
failed_down_pushes
6137
0.9760
1.0000
B
range_pct
6137
0.0275
0.0237
B
dist_high_norm
6137
0.2247
0.2018
B
dist_low_norm
6137
0.7753
0.7982
B
rel_volume
6111
0.9100
0.8757
B
ema_dist_slow
6137
0.0036
-0.0032
B
bars_since_impulse_low
6137
14.0112
14.0000
drift_no_low_vol
slope_z
6155
0.2705
0.2356
drift_no_low_vol
rv_ratio
6155
1.1921
1.0605
drift_no_low_vol
impulse_z
6155
0.1363
0.1207
drift_no_low_vol
higher_low_freq
6155
0.6074
0.5714
drift_no_low_vol
consec_up
6155
1.3134
1.0000
drift_no_low_vol
slope_r2
6155
0.3569
0.3185
drift_no_low_vol
overlap_mean
6155
0.7390
0.7425
drift_no_low_vol
pullback_ratio
5692
2.5635
0.8311
drift_no_low_vol
wick_body_ratio
6155
4.8505
2.4837
drift_no_low_vol
failed_down_pushes
6155
0.8595
1.0000
drift_no_low_vol
range_pct
6155
0.0409
0.0344
drift_no_low_vol
dist_high_norm
6155
0.2621
0.2244
drift_no_low_vol
dist_low_norm
6155
0.7379
0.7756
drift_no_low_vol
rel_volume
6133
1.1175
1.0855
drift_no_low_vol
ema_dist_slow
6155
0.0184
0.0094
drift_no_low_vol
bars_since_impulse_low
6155
14.3183
15.0000
examplesstructure
4. Analysis A — boundary race
Breakout-first = price crosses the frozen pattern high before the frozen pattern low; 1m bars resolve same-hour touches. Rates are on resolved events (breakout-first + breakdown-first); the all-valid rate is also reported.
Controls are sampled from eligible windows matched on symbol, duration, trailing volatility quintile, prior-impulse status, distance-to-high bin, distance-to-low bin, normalized-range bin and half-year, with a documented relaxation order. Matching uses detection-time information only.
n_pattern_events
n_controls
pattern_bo_rate
control_bo_rate
paired_diff
paired_ci_low
paired_ci_high
pattern_ud_up_rate
control_ud_up_rate
ud_paired_diff
ud_ci_low
ud_ci_high
556.0000
1725.0000
0.8291
0.8010
0.0282
-0.0041
0.0610
0.5126
0.5318
-0.0192
-0.0702
0.0336
upper_bin
n
pattern_bo
control_bo
pattern_ud
control_ud
bo_diff
ud_diff
0.0000
139.0000
0.9640
0.8753
0.4820
0.5228
0.0887
-0.0408
1.0000
139.0000
0.9065
0.8585
0.5827
0.5468
0.0480
0.0360
2.0000
139.0000
0.8058
0.8058
0.4604
0.4748
0.0000
-0.0144
3.0000
139.0000
0.6403
0.6643
0.5252
0.5827
-0.0240
-0.0576
Match quality
level
events
controls
exact
340
1020
relax_dist_high
47
141
relax_period
6
18
relax_range
182
546
Matched-difference robustness
controls_per_event
n_pattern_events
pattern_bo_rate
control_bo_rate
paired_diff
paired_ci_low
paired_ci_high
pattern_ud_up_rate
control_ud_up_rate
ud_paired_diff
ud_ci_low
ud_ci_high
1.0000
556.0000
0.8291
0.8094
0.0198
-0.0207
0.0586
0.5126
0.5396
-0.0270
-0.0811
0.0256
3.0000
556.0000
0.8291
0.8010
0.0282
-0.0041
0.0610
0.5126
0.5318
-0.0192
-0.0702
0.0336
5.0000
556.0000
0.8291
0.7986
0.0306
-0.0032
0.0655
0.5126
0.5191
-0.0065
-0.0583
0.0452
Geometry-conditioned linear probability models
boundary_*: breakout-first on an is-pattern indicator with geometry, volatility, slope and impulse controls (month-clustered SE). barrier_*: equal-distance up-first with the same pattern indicator (geometry is symmetric by construction).
Reference price is the first tradable price after detection (open[t+1]); barriers are ±k·ATR(trailing 14h) from that reference, for k ∈ [0.5, 1.0, 1.5, 2.0]. By construction the nearer-boundary advantage of the frozen race is removed.
group
multiplier
horizon
n_resolved
n_up
n_down
n_neither
n_ambiguous
up_first_rate
up_ci_low
up_ci_high
down_first_rate
up_rate_all_valid
neither_rate
ambiguous_rate
A
0.5000
3
512
266
246
63
0
0.5195
0.4763
0.5625
0.4805
0.4626
0.1096
0.0000
A
0.5000
6
564
291
273
11
0
0.5160
0.4747
0.5570
0.4840
0.5061
0.0191
0.0000
A
0.5000
12
574
295
279
1
0
0.5139
0.4731
0.5546
0.4861
0.5130
0.0017
0.0000
A
0.5000
24
575
296
279
0
0
0.5148
0.4740
0.5554
0.4852
0.5148
0.0000
0.0000
A
0.5000
48
575
296
279
0
0
0.5148
0.4740
0.5554
0.4852
0.5148
0.0000
0.0000
A
1.0000
3
267
135
132
308
0
0.5056
0.4460
0.5651
0.4944
0.2348
0.5357
0.0000
A
1.0000
6
439
232
207
136
0
0.5285
0.4817
0.5747
0.4715
0.4035
0.2365
0.0000
A
1.0000
12
541
289
252
34
0
0.5342
0.4921
0.5758
0.4658
0.5026
0.0591
0.0000
A
1.0000
24
569
303
266
6
0
0.5325
0.4914
0.5732
0.4675
0.5270
0.0104
0.0000
A
1.0000
48
575
308
267
0
0
0.5357
0.4948
0.5760
0.4643
0.5357
0.0000
0.0000
A
1.5000
3
132
63
69
443
0
0.4773
0.3939
0.5619
0.5227
0.1096
0.7704
0.0000
A
1.5000
6
266
127
139
309
0
0.4774
0.4182
0.5374
0.5226
0.2209
0.5374
0.0000
A
1.5000
12
451
225
226
124
0
0.4989
0.4529
0.5449
0.5011
0.3913
0.2157
0.0000
A
1.5000
24
535
255
280
40
0
0.4766
0.4346
0.5190
0.5234
0.4435
0.0696
0.0000
A
1.5000
48
569
267
302
6
0
0.4692
0.4286
0.5103
0.5308
0.4643
0.0104
0.0000
A
2.0000
3
69
31
38
506
0
0.4493
0.3377
0.5662
0.5507
0.0539
0.8800
0.0000
A
2.0000
6
163
75
88
412
0
0.4601
0.3854
0.5367
0.5399
0.1304
0.7165
0.0000
A
2.0000
12
340
167
173
235
0
0.4912
0.4384
0.5441
0.5088
0.2904
0.4087
0.0000
A
2.0000
24
471
226
245
104
0
0.4798
0.4351
0.5249
0.5202
0.3930
0.1809
0.0000
A
2.0000
48
546
261
285
29
0
0.4780
0.4364
0.5199
0.5220
0.4539
0.0504
0.0000
B
0.5000
3
5829
2715
3114
306
2
0.4658
0.4530
0.4786
0.5342
0.4424
0.0499
0.0003
B
0.5000
6
6093
2842
3251
42
2
0.4664
0.4539
0.4790
0.5336
0.4631
0.0068
0.0003
B
0.5000
12
6134
2862
3272
1
2
0.4666
0.4541
0.4791
0.5334
0.4664
0.0002
0.0003
B
0.5000
24
6135
2862
3273
0
2
0.4665
0.4540
0.4790
0.5335
0.4664
0.0000
0.0003
B
0.5000
48
6135
2862
3273
0
2
0.4665
0.4540
0.4790
0.5335
0.4664
0.0000
0.0003
B
1.0000
3
3655
1817
1838
2480
2
0.4971
0.4809
0.5133
0.5029
0.2961
0.4041
0.0003
B
1.0000
6
5113
2504
2609
1022
2
0.4897
0.4760
0.5034
0.5103
0.4080
0.1665
0.0003
B
1.0000
12
5906
2902
3004
229
2
0.4914
0.4786
0.5041
0.5086
0.4729
0.0373
0.0003
B
1.0000
24
6111
3010
3101
24
2
0.4926
0.4800
0.5051
0.5074
0.4905
0.0039
0.0003
B
1.0000
48
6135
3023
3112
0
2
0.4927
0.4802
0.5053
0.5073
0.4926
0.0000
0.0003
B
1.5000
3
1989
1068
921
4148
0
0.5370
0.5150
0.5588
0.4630
0.1740
0.6759
0.0000
B
1.5000
6
3562
1821
1741
2575
0
0.5112
0.4948
0.5276
0.4888
0.2967
0.4196
0.0000
B
1.5000
12
5092
2570
2522
1045
0
0.5047
0.4910
0.5184
0.4953
0.4188
0.1703
0.0000
B
1.5000
24
5892
2968
2924
245
0
0.5037
0.4910
0.5165
0.4963
0.4836
0.0399
0.0000
B
1.5000
48
6116
3083
3033
21
0
0.5041
0.4916
0.5166
0.4959
0.5024
0.0034
0.0000
B
2.0000
3
1068
598
470
5069
0
0.5599
0.5300
0.5894
0.4401
0.0974
0.8260
0.0000
B
2.0000
6
2352
1220
1132
3785
0
0.5187
0.4985
0.5389
0.4813
0.1988
0.6168
0.0000
B
2.0000
12
4048
2039
2009
2089
0
0.5037
0.4883
0.5191
0.4963
0.3322
0.3404
0.0000
B
2.0000
24
5392
2731
2661
745
0
0.5065
0.4931
0.5198
0.4935
0.4450
0.1214
0.0000
B
2.0000
48
6005
3028
2977
132
0
0.5042
0.4916
0.5169
0.4958
0.4934
0.0215
0.0000
drift_no_low_vol
0.5000
3
5895
2993
2902
259
1
0.5077
0.4950
0.5205
0.4923
0.4863
0.0421
0.0002
drift_no_low_vol
0.5000
6
6126
3102
3024
28
1
0.5064
0.4938
0.5189
0.4936
0.5040
0.0045
0.0002
drift_no_low_vol
0.5000
12
6149
3111
3038
5
1
0.5059
0.4934
0.5184
0.4941
0.5054
0.0008
0.0002
drift_no_low_vol
0.5000
24
6154
3112
3042
0
1
0.5057
0.4932
0.5182
0.4943
0.5056
0.0000
0.0002
drift_no_low_vol
0.5000
48
6154
3112
3042
0
1
0.5057
0.4932
0.5182
0.4943
0.5056
0.0000
0.0002
drift_no_low_vol
1.0000
3
3852
2011
1841
2303
0
0.5221
0.5063
0.5378
0.4779
0.3267
0.3742
0.0000
drift_no_low_vol
1.0000
6
5223
2659
2564
932
0
0.5091
0.4955
0.5226
0.4909
0.4320
0.1514
0.0000
drift_no_low_vol
1.0000
12
5914
2963
2951
241
0
0.5010
0.4883
0.5138
0.4990
0.4814
0.0392
0.0000
drift_no_low_vol
1.0000
24
6127
3061
3066
28
0
0.4996
0.4871
0.5121
0.5004
0.4973
0.0045
0.0000
drift_no_low_vol
1.0000
48
6154
3073
3081
1
0
0.4994
0.4869
0.5118
0.5006
0.4993
0.0002
0.0000
drift_no_low_vol
1.5000
3
2139
1157
982
4016
0
0.5409
0.5197
0.5619
0.4591
0.1880
0.6525
0.0000
drift_no_low_vol
1.5000
6
3647
1881
1766
2508
0
0.5158
0.4995
0.5320
0.4842
0.3056
0.4075
0.0000
drift_no_low_vol
1.5000
12
5105
2571
2534
1050
0
0.5036
0.4899
0.5173
0.4964
0.4177
0.1706
0.0000
drift_no_low_vol
1.5000
24
5895
2970
2925
260
0
0.5038
0.4911
0.5166
0.4962
0.4825
0.0422
0.0000
drift_no_low_vol
1.5000
48
6112
3074
3038
43
0
0.5029
0.4904
0.5155
0.4971
0.4994
0.0070
0.0000
drift_no_low_vol
2.0000
3
1206
698
508
4949
0
0.5788
0.5507
0.6063
0.4212
0.1134
0.8041
0.0000
drift_no_low_vol
2.0000
6
2430
1285
1145
3725
0
0.5288
0.5089
0.5486
0.4712
0.2088
0.6052
0.0000
drift_no_low_vol
2.0000
12
3979
2017
1962
2176
0
0.5069
0.4914
0.5224
0.4931
0.3277
0.3535
0.0000
drift_no_low_vol
2.0000
24
5324
2704
2620
831
0
0.5079
0.4945
0.5213
0.4921
0.4393
0.1350
0.0000
drift_no_low_vol
2.0000
48
5939
3005
2934
216
0
0.5060
0.4933
0.5187
0.4940
0.4882
0.0351
0.0000
impulse_drift
0.5000
3
526
255
271
45
0
0.4848
0.4423
0.5275
0.5152
0.4466
0.0788
0.0000
impulse_drift
0.5000
6
566
276
290
5
0
0.4876
0.4467
0.5288
0.5124
0.4834
0.0088
0.0000
impulse_drift
0.5000
12
570
277
293
1
0
0.4860
0.4452
0.5270
0.5140
0.4851
0.0018
0.0000
impulse_drift
0.5000
24
571
277
294
0
0
0.4851
0.4444
0.5261
0.5149
0.4851
0.0000
0.0000
impulse_drift
0.5000
48
571
277
294
0
0
0.4851
0.4444
0.5261
0.5149
0.4851
0.0000
0.0000
impulse_drift
1.0000
3
304
140
164
267
0
0.4605
0.4053
0.5167
0.5395
0.2452
0.4676
0.0000
impulse_drift
1.0000
6
441
204
237
130
0
0.4626
0.4166
0.5092
0.5374
0.3573
0.2277
0.0000
impulse_drift
1.0000
12
547
248
299
24
0
0.4534
0.4121
0.4953
0.5466
0.4343
0.0420
0.0000
impulse_drift
1.0000
24
568
257
311
3
0
0.4525
0.4120
0.4936
0.5475
0.4501
0.0053
0.0000
impulse_drift
1.0000
48
571
260
311
0
0
0.4553
0.4149
0.4964
0.5447
0.4553
0.0000
0.0000
impulse_drift
1.5000
3
149
72
77
422
0
0.4832
0.4044
0.5629
0.5168
0.1261
0.7391
0.0000
impulse_drift
1.5000
6
291
128
163
280
0
0.4399
0.3840
0.4973
0.5601
0.2242
0.4904
0.0000
impulse_drift
1.5000
12
443
201
242
128
0
0.4537
0.4080
0.5003
0.5463
0.3520
0.2242
0.0000
impulse_drift
1.5000
24
534
243
291
37
0
0.4551
0.4133
0.4975
0.5449
0.4256
0.0648
0.0000
impulse_drift
1.5000
48
563
260
303
8
0
0.4618
0.4210
0.5031
0.5382
0.4553
0.0140
0.0000
impulse_drift
2.0000
3
84
42
42
487
0
0.5000
0.3954
0.6046
0.5000
0.0736
0.8529
0.0000
impulse_drift
2.0000
6
192
83
109
379
0
0.4323
0.3642
0.5030
0.5677
0.1454
0.6637
0.0000
impulse_drift
2.0000
12
345
151
194
226
0
0.4377
0.3863
0.4904
0.5623
0.2644
0.3958
0.0000
impulse_drift
2.0000
24
467
209
258
104
0
0.4475
0.4030
0.4929
0.5525
0.3660
0.1821
0.0000
impulse_drift
2.0000
48
532
246
286
39
0
0.4624
0.4205
0.5049
0.5376
0.4308
0.0683
0.0000
A − comparator differences
multiplier
horizon
comparator
n_pattern
n_baseline
pattern_up_rate
baseline_up_rate
abs_diff
ci_low
ci_high
0.5000
12
B
574
6134
0.5139
0.4666
0.0474
-0.0136
0.1036
0.5000
12
drift_no_low_vol
574
6149
0.5139
0.5059
0.0080
-0.0491
0.0630
0.5000
12
impulse_drift
574
570
0.5139
0.4860
0.0280
-0.0438
0.0923
1.0000
3
B
267
3655
0.5056
0.4971
0.0085
-0.0839
0.0921
1.0000
3
drift_no_low_vol
267
3852
0.5056
0.5221
-0.0164
-0.1065
0.0670
1.0000
3
impulse_drift
267
304
0.5056
0.4605
0.0451
-0.0669
0.1586
1.0000
6
B
439
5113
0.5285
0.4897
0.0387
-0.0289
0.1031
1.0000
6
drift_no_low_vol
439
5223
0.5285
0.5091
0.0194
-0.0491
0.0882
1.0000
6
impulse_drift
439
441
0.5285
0.4626
0.0659
-0.0293
0.1619
1.0000
12
B
541
5906
0.5342
0.4914
0.0428
-0.0161
0.0997
1.0000
12
drift_no_low_vol
541
5914
0.5342
0.5010
0.0332
-0.0255
0.0971
1.0000
12
impulse_drift
541
547
0.5342
0.4534
0.0808
0.0005
0.1706
1.0000
24
B
569
6111
0.5325
0.4926
0.0400
-0.0172
0.0930
1.0000
24
drift_no_low_vol
569
6127
0.5325
0.4996
0.0329
-0.0248
0.0936
1.0000
24
impulse_drift
569
568
0.5325
0.4525
0.0800
-0.0017
0.1654
1.0000
48
B
575
6135
0.5357
0.4927
0.0429
-0.0136
0.0951
1.0000
48
drift_no_low_vol
575
6154
0.5357
0.4994
0.0363
-0.0200
0.0971
1.0000
48
impulse_drift
575
571
0.5357
0.4553
0.0803
-0.0020
0.1645
1.5000
12
B
451
5092
0.4989
0.5047
-0.0058
-0.0725
0.0624
1.5000
12
drift_no_low_vol
451
5105
0.4989
0.5036
-0.0047
-0.0805
0.0660
1.5000
12
impulse_drift
451
443
0.4989
0.4537
0.0452
-0.0583
0.1495
2.0000
12
B
340
4048
0.4912
0.5037
-0.0125
-0.0882
0.0674
2.0000
12
drift_no_low_vol
340
3979
0.4912
0.5069
-0.0157
-0.0925
0.0669
2.0000
12
impulse_drift
340
345
0.4912
0.4377
0.0535
-0.0572
0.1609
barriers
7. Secondary questions
Forward returns after detection
horizon
comparator
n_pattern
n_baseline
pattern_mean
baseline_mean
abs_diff
ci_low
ci_high
3
drift_no_low_vol
575
6155
-0.0000
0.0007
-0.0007
-0.0025
0.0010
6
drift_no_low_vol
575
6155
-0.0006
0.0008
-0.0014
-0.0039
0.0009
12
drift_no_low_vol
575
6155
0.0017
0.0012
0.0005
-0.0030
0.0041
24
drift_no_low_vol
575
6155
0.0033
0.0019
0.0014
-0.0033
0.0068
48
drift_no_low_vol
575
6155
0.0071
0.0037
0.0034
-0.0030
0.0102
3
impulse_drift
575
571
-0.0000
0.0005
-0.0005
-0.0035
0.0023
6
impulse_drift
575
571
-0.0006
0.0005
-0.0011
-0.0056
0.0029
12
impulse_drift
575
571
0.0017
0.0014
0.0003
-0.0066
0.0066
24
impulse_drift
575
571
0.0033
-0.0003
0.0037
-0.0037
0.0106
48
impulse_drift
575
571
0.0071
0.0023
0.0048
-0.0061
0.0164
3
B
575
6137
-0.0000
-0.0001
0.0001
-0.0018
0.0015
6
B
575
6137
-0.0006
0.0001
-0.0007
-0.0030
0.0015
12
B
575
6137
0.0017
0.0001
0.0016
-0.0015
0.0050
24
B
575
6137
0.0033
0.0009
0.0024
-0.0020
0.0074
48
B
575
6137
0.0071
0.0020
0.0052
-0.0014
0.0113
Pattern forward returns are statistically indistinguishable from comparable upward drift at every horizon; the largest point estimate is +0.34% over 48h with a CI that includes zero.
Continuation after the breakout
route
n
post_3h
post_6h
post_12h
post_24h
reversal_3h
followthrough_12h
post_1h
mfe
mae
boundary_race
461
-0.0014
-0.0010
-0.0013
0.0001
0.5531
0.4599
equal_distance_1ATR
289
-0.0008
-0.0026
-0.0040
-0.0018
0.7128
0.4083
-0.0004
0.0196
-0.0246
Breakouts do not continue on average. In the boundary race the post-breakout 12h mean is slightly negative, 55% reverse within 3h and only 46% are still above the level after 12h. The equal-distance route is worse: 71% reverse within 3h.
forward returns
8. Structural-feature ablation
Each stage adds one candidate condition to the v1 base (drift + compression + impulse). Raw breakout rates rise for some conditions, but the equal-distance up-first rate is near 50% wherever the sample remains usable, and several conditions collapse the sample to a handful of events.
stage
n_raw
n_dedup
n_resolved
n_bo
n_bd
n_neither
n_ambiguous
ud_n_resolved
ud_n_up
bo_rate_resolved
bo_rate_all_valid
ud_up_rate
01_drift
45509
10332
9316
7253
2063
1015
1
9909
4914
0.7786
0.7020
0.4959
02_drift_compression
23035
6349
5920
4658
1262
428
1
6109
3020
0.7868
0.7337
0.4944
03_plus_impulse
1229
575
556
461
95
19
0
541
289
0.8291
0.8017
0.5342
04_plus_consec_up
232
161
159
140
19
2
0
156
78
0.8805
0.8696
0.5000
05_plus_higher_low
1116
541
523
435
88
18
0
512
271
0.8317
0.8041
0.5293
06_plus_slope_r2
325
197
195
177
18
2
0
186
96
0.9077
0.8985
0.5161
07_plus_overlap
1229
575
556
461
95
19
0
541
289
0.8291
0.8017
0.5342
08_plus_pullback
757
395
387
335
52
8
0
377
197
0.8656
0.8481
0.5225
09_plus_failed_pushes
845
424
409
336
73
15
0
404
210
0.8215
0.7925
0.5198
10_plus_weak_recovery
878
408
394
319
75
14
0
388
210
0.8096
0.7819
0.5412
11_plus_ema_momentum
12
11
10
7
3
1
0
11
6
0.7000
0.6364
0.5455
12_plus_ema_spread
11
10
9
6
3
1
0
10
5
0.6667
0.6000
0.5000
13_plus_volume
10
9
9
6
3
0
0
9
5
0.6667
0.6667
0.5556
ablation
9. Parameter sensitivity
Full pre-registered grid: 540 configurations. Raw-race lift over the drift-only comparator is positive in 506 of 540 cells, but the equal-distance up-first rate exceeds 50% in only 178 cells and no cell survives the multiple-testing correction on that metric. No configuration was selected using the test window.
duration
slope_min
slope_max
vol_ratio_max
impulse_z_max
n_A
bo_A
bo_C
lift_vs_C
p_vs_C
q_vs_C
n_ud_A
ud_up_A
p_ud
q_ud
8.0000
0.0000
0.4000
0.6000
-2.0000
151.0000
0.8146
0.6902
0.1244
0.0010
0.0064
146.0000
0.5890
0.0191
1.0000
8.0000
0.0000
1.0000
0.6000
-2.0000
173.0000
0.8324
0.7175
0.1149
0.0009
0.0059
165.0000
0.5879
0.0145
1.0000
8.0000
0.2000
0.4000
0.6000
-2.0000
55.0000
0.9091
0.7943
0.1147
0.0358
0.0740
51.0000
0.4510
0.7995
1.0000
8.0000
0.0000
0.6000
0.6000
-2.0000
166.0000
0.8253
0.7114
0.1139
0.0013
0.0070
160.0000
0.5813
0.0239
1.0000
6.0000
0.1000
0.4000
0.6000
-2.0000
144.0000
0.8125
0.7163
0.0962
0.0110
0.0307
139.0000
0.5396
0.1982
1.0000
8.0000
0.2000
0.4000
0.6000
-1.5000
154.0000
0.8896
0.7940
0.0956
0.0037
0.0137
147.0000
0.4762
0.7452
1.0000
8.0000
0.0500
0.4000
0.6000
-2.0000
138.0000
0.8188
0.7233
0.0955
0.0127
0.0339
131.0000
0.5649
0.0809
1.0000
10.0000
0.0000
0.6000
0.6000
-2.0000
141.0000
0.8156
0.7238
0.0918
0.0156
0.0395
140.0000
0.5286
0.2771
1.0000
10.0000
0.0000
1.0000
0.6000
-2.0000
144.0000
0.8194
0.7277
0.0918
0.0141
0.0364
143.0000
0.5315
0.2518
1.0000
8.0000
0.1000
0.4000
0.6000
-1.0000
632.0000
0.8370
0.7459
0.0911
0.0000
0.0000
627.0000
0.5120
0.2881
1.0000
10.0000
0.0000
0.4000
0.6000
-2.0000
131.0000
0.8015
0.7105
0.0910
0.0227
0.0514
132.0000
0.5606
0.0957
1.0000
8.0000
0.2000
1.0000
0.6000
-2.0000
77.0000
0.9221
0.8316
0.0905
0.0345
0.0725
70.0000
0.4857
0.6399
1.0000
10.0000
0.0500
0.4000
0.6000
-2.0000
113.0000
0.8407
0.7502
0.0905
0.0273
0.0599
113.0000
0.5487
0.1734
1.0000
8.0000
0.2000
0.6000
0.6000
-2.0000
70.0000
0.9143
0.8239
0.0904
0.0479
0.0928
65.0000
0.4615
0.7715
1.0000
10.0000
0.0500
0.6000
0.6000
-2.0000
123.0000
0.8537
0.7640
0.0897
0.0200
0.0470
121.0000
0.5124
0.4279
1.0000
8.0000
0.2000
0.4000
0.6000
-1.0000
376.0000
0.8803
0.7914
0.0889
0.0000
0.0005
374.0000
0.5000
0.5206
1.0000
10.0000
0.0500
1.0000
0.6000
-2.0000
126.0000
0.8571
0.7684
0.0887
0.0191
0.0457
124.0000
0.5161
0.3939
1.0000
8.0000
0.0500
1.0000
0.6000
-2.0000
160.0000
0.8375
0.7520
0.0855
0.0129
0.0342
150.0000
0.5667
0.0603
1.0000
8.0000
0.0000
0.4000
0.6000
-1.5000
386.0000
0.7746
0.6896
0.0850
0.0004
0.0033
374.0000
0.5428
0.0544
1.0000
8.0000
0.0500
0.6000
0.6000
-2.0000
153.0000
0.8301
0.7453
0.0847
0.0169
0.0420
145.0000
0.5586
0.0919
1.0000
8.0000
0.1000
0.4000
0.6000
-1.5000
278.0000
0.8345
0.7519
0.0826
0.0017
0.0078
268.0000
0.5224
0.2509
1.0000
10.0000
0.0000
0.4000
0.6000
-1.5000
318.0000
0.7925
0.7105
0.0819
0.0016
0.0077
320.0000
0.5250
0.2009
1.0000
8.0000
0.0000
0.4000
0.6000
-1.0000
886.0000
0.7652
0.6834
0.0819
0.0000
0.0000
873.0000
0.5235
0.0879
1.0000
6.0000
0.0000
0.4000
0.6000
-2.0000
188.0000
0.7500
0.6689
0.0811
0.0189
0.0456
182.0000
0.5385
0.1676
1.0000
8.0000
0.0500
0.4000
0.6000
-1.5000
339.0000
0.8024
0.7220
0.0803
0.0012
0.0066
324.0000
0.5340
0.1217
1.0000
8.0000
0.0500
0.4000
0.6000
-1.0000
782.0000
0.7954
0.7159
0.0795
0.0000
0.0001
769.0000
0.5111
0.2820
1.0000
8.0000
0.2000
0.4000
1.0000
-1.0000
936.0000
0.8376
0.7590
0.0786
0.0000
0.0000
953.0000
0.4911
0.7201
1.0000
4.0000
0.1000
0.4000
1.0000
-1.0000
1998.0000
0.7082
0.6304
0.0778
0.0000
0.0000
1914.0000
0.4728
0.9918
1.0000
6.0000
0.1000
0.4000
0.6000
-1.5000
354.0000
0.7938
0.7161
0.0777
0.0014
0.0071
338.0000
0.5414
0.0709
1.0000
8.0000
0.1000
0.6000
0.6000
-1.0000
690.0000
0.8420
0.7653
0.0767
0.0000
0.0002
682.0000
0.5073
0.3652
1.0000
sensitivity
10. Per-symbol, per-regime and chronological splits
By symbol (12h, group A)
group
split
n
n_bo
n_bd
n_neither
n_ambiguous
n_resolved
bo_rate_resolved
bo_ci_low
bo_ci_high
bo_rate_all_valid
horizon
table
symbol
A
57
50.0000
6.0000
1.0000
0.0000
56.0000
0.8929
0.7853
0.9500
0.8772
12
symbol
BNBUSDT
A
64
44.0000
16.0000
4.0000
0.0000
60.0000
0.7333
0.6099
0.8287
0.6875
12
symbol
BTCUSDT
A
77
62.0000
14.0000
1.0000
0.0000
76.0000
0.8158
0.7142
0.8870
0.8052
12
symbol
DOGEUSDT
A
73
57.0000
12.0000
4.0000
0.0000
69.0000
0.8261
0.7202
0.8976
0.7808
12
symbol
ETHUSDT
A
40
33.0000
6.0000
1.0000
0.0000
39.0000
0.8462
0.7027
0.9275
0.8250
12
symbol
HYPEUSDT
A
43
34.0000
7.0000
2.0000
0.0000
41.0000
0.8293
0.6874
0.9147
0.7907
12
symbol
NEARUSDT
A
51
42.0000
8.0000
1.0000
0.0000
50.0000
0.8400
0.7149
0.9166
0.8235
12
symbol
OGNUSDT
A
74
61.0000
12.0000
1.0000
0.0000
73.0000
0.8356
0.7343
0.9034
0.8243
12
symbol
SOLUSDT
A
55
46.0000
8.0000
1.0000
0.0000
54.0000
0.8519
0.7340
0.9230
0.8364
12
symbol
XRPUSDT
A
41
32.0000
6.0000
3.0000
0.0000
38.0000
0.8421
0.6958
0.9256
0.7805
12
symbol
ZECUSDT
By regime (12h)
group
regime_vol
market_regime
n
n_bo
n_bd
n_neither
n_ambiguous
n_resolved
bo_rate_resolved
bo_ci_low
bo_ci_high
bo_rate_all_valid
horizon
A
highvol
highvol
332
269.0000
55.0000
8.0000
0.0000
324.0000
0.8302
0.7856
0.8672
0.8102
12
A
highvol
lowvol
55
45.0000
9.0000
1.0000
0.0000
54.0000
0.8333
0.7126
0.9098
0.8182
12
A
lowvol
highvol
46
38.0000
5.0000
3.0000
0.0000
43.0000
0.8837
0.7552
0.9493
0.8261
12
A
lowvol
lowvol
142
109.0000
26.0000
7.0000
0.0000
135.0000
0.8074
0.7328
0.8650
0.7676
12
B
highvol
highvol
1904
1341.0000
380.0000
183.0000
0.0000
1721.0000
0.7792
0.7590
0.7982
0.7043
12
B
highvol
lowvol
515
361.0000
116.0000
38.0000
0.0000
477.0000
0.7568
0.7164
0.7932
0.7010
12
B
lowvol
highvol
728
554.0000
136.0000
38.0000
0.0000
690.0000
0.8029
0.7716
0.8309
0.7610
12
B
lowvol
lowvol
2990
2233.0000
595.0000
161.0000
1.0000
2828.0000
0.7896
0.7742
0.8042
0.7468
12
drift_no_low_vol
highvol
highvol
2677
1695.0000
535.0000
447.0000
0.0000
2230.0000
0.7601
0.7419
0.7774
0.6332
12
drift_no_low_vol
highvol
lowvol
702
462.0000
151.0000
89.0000
0.0000
613.0000
0.7537
0.7181
0.7861
0.6581
12
drift_no_low_vol
lowvol
highvol
650
471.0000
125.0000
54.0000
0.0000
596.0000
0.7903
0.7558
0.8210
0.7246
12
drift_no_low_vol
lowvol
lowvol
2126
1519.0000
438.0000
169.0000
0.0000
1957.0000
0.7762
0.7572
0.7941
0.7145
12
impulse_drift
highvol
highvol
427
280.0000
95.0000
52.0000
0.0000
375.0000
0.7467
0.7003
0.7880
0.6557
12
impulse_drift
highvol
lowvol
61
36.0000
17.0000
8.0000
0.0000
53.0000
0.6792
0.5452
0.7891
0.5902
12
impulse_drift
lowvol
highvol
24
15.0000
8.0000
1.0000
0.0000
23.0000
0.6522
0.4489
0.8119
0.6250
12
impulse_drift
lowvol
lowvol
59
42.0000
13.0000
4.0000
0.0000
55.0000
0.7636
0.6365
0.8563
0.7119
12
low_vol_all
highvol
highvol
3540
1580.0000
1607.0000
353.0000
0.0000
3187.0000
0.4958
0.4784
0.5131
0.4463
12
low_vol_all
highvol
lowvol
1054
446.0000
517.0000
91.0000
0.0000
963.0000
0.4631
0.4319
0.4947
0.4231
12
low_vol_all
lowvol
highvol
1334
650.0000
611.0000
73.0000
0.0000
1261.0000
0.5155
0.4879
0.5430
0.4873
12
low_vol_all
lowvol
lowvol
5853
2681.0000
2835.0000
336.0000
1.0000
5516.0000
0.4860
0.4729
0.4992
0.4581
12
low_vol_sideways
highvol
highvol
2022
944.0000
915.0000
163.0000
0.0000
1859.0000
0.5078
0.4851
0.5305
0.4669
12
low_vol_sideways
highvol
lowvol
589
272.0000
279.0000
38.0000
0.0000
551.0000
0.4936
0.4521
0.5353
0.4618
12
low_vol_sideways
lowvol
highvol
824
415.0000
366.0000
43.0000
0.0000
781.0000
0.5314
0.4963
0.5661
0.5036
12
low_vol_sideways
lowvol
lowvol
3890
1864.0000
1845.0000
181.0000
0.0000
3709.0000
0.5026
0.4865
0.5186
0.4792
12
post_impulse_all
highvol
highvol
962
404.0000
414.0000
144.0000
0.0000
818.0000
0.4939
0.4597
0.5281
0.4200
12
post_impulse_all
highvol
lowvol
174
64.0000
89.0000
21.0000
0.0000
153.0000
0.4183
0.3431
0.4975
0.3678
12
post_impulse_all
lowvol
highvol
103
38.0000
59.0000
6.0000
0.0000
97.0000
0.3918
0.3005
0.4912
0.3689
12
post_impulse_all
lowvol
lowvol
249
102.0000
134.0000
13.0000
0.0000
236.0000
0.4322
0.3706
0.4960
0.4096
12
By split (12h)
group
split
n
n_bo
n_bd
n_neither
n_ambiguous
n_resolved
bo_rate_resolved
bo_ci_low
bo_ci_high
bo_rate_all_valid
horizon
table
symbol
A
design
423
352.0000
58.0000
13.0000
0.0000
410.0000
0.8585
0.8215
0.8889
0.8322
12
split
A
test
75
51.0000
23.0000
1.0000
0.0000
74.0000
0.6892
0.5766
0.7831
0.6800
12
split
A
validation
77
58.0000
14.0000
5.0000
0.0000
72.0000
0.8056
0.6997
0.8805
0.7532
12
split
drift_no_low_vol
design
4305
2913.0000
891.0000
501.0000
0.0000
3804.0000
0.7658
0.7521
0.7790
0.6767
12
split
drift_no_low_vol
test
923
633.0000
176.0000
114.0000
0.0000
809.0000
0.7824
0.7527
0.8095
0.6858
12
split
drift_no_low_vol
validation
927
601.0000
182.0000
144.0000
0.0000
783.0000
0.7676
0.7367
0.7958
0.6483
12
split
Walk-forward duration selection
month
method
duration
n_A
bo_A
n_C
bo_C
lift
train_lift
2025-11
frozen
8
25
0.7600
263
0.7110
0.0490
2025-12
frozen
8
38
0.8421
209
0.7895
0.0526
2026-01
frozen
8
30
0.9000
263
0.7414
0.1586
2026-02
frozen
8
23
0.7391
207
0.7536
-0.0145
2026-03
frozen
8
29
0.7241
264
0.7614
-0.0372
2026-04
frozen
8
26
0.9231
268
0.7873
0.1358
2026-05
frozen
8
24
0.7083
274
0.7920
-0.0836
2026-06
frozen
8
22
0.7727
241
0.7178
0.0549
2026-07
frozen
8
25
0.6400
271
0.7749
-0.1349
2026-08
frozen
8
23
0.7826
270
0.7963
-0.0137
2026-09
frozen
8
26
0.6538
268
0.7761
-0.1223
2026-01
walk_forward_selected
8
30
0.9000
263
0.7414
0.1586
0.1059
2026-02
walk_forward_selected
8
23
0.7391
207
0.7536
-0.0145
0.1102
2026-03
walk_forward_selected
8
29
0.7241
264
0.7614
-0.0372
0.1027
2026-04
walk_forward_selected
8
26
0.9231
268
0.7873
0.1358
0.0928
2026-05
walk_forward_selected
8
24
0.7083
274
0.7920
-0.0836
0.0952
2026-06
walk_forward_selected
8
22
0.7727
241
0.7178
0.0549
0.0856
2026-07
walk_forward_selected
8
25
0.6400
271
0.7749
-0.1349
0.0845
2026-08
walk_forward_selected
8
23
0.7826
270
0.7963
-0.0137
0.0737
2026-09
walk_forward_selected
8
26
0.6538
268
0.7761
-0.1223
0.0696
11. Optional long-breakout strategy
Pre-specified long at the first trade through pattern_high, entry at the next 1m open, stop at pattern_low, 1.5R target, 12h time exit, costs of 0/3/6/12/20 bps per side plus funding. The comparison arms are a plain prior-12h-high breakout (simple) and a post-selloff-restricted version (simple_impulse).
n
cost_bps
win_rate
mean_return
median_return
total_return
profit_factor
max_drawdown
avg_holding_hours
pct_stopped
pct_target
tag
489.0000
0.0000
0.4663
-0.0003
-0.0012
-0.1389
0.9683
0.4853
8.1970
0.2434
0.1022
pattern
489.0000
3.0000
0.4479
-0.0009
-0.0018
-0.4323
0.9048
0.5531
8.1970
0.2434
0.1022
pattern
489.0000
6.0000
0.4376
-0.0015
-0.0024
-0.7257
0.8457
0.7509
8.1970
0.2434
0.1022
pattern
489.0000
12.0000
0.4110
-0.0027
-0.0036
-1.3125
0.7395
1.3321
8.1970
0.2434
0.1022
pattern
489.0000
20.0000
0.3661
-0.0043
-0.0052
-2.0949
0.6201
2.1081
8.1970
0.2434
0.1022
pattern
4188.0000
0.0000
0.4835
0.0009
-0.0010
3.6360
1.0852
1.6075
10.1988
0.1975
0.1175
simple
4188.0000
3.0000
0.4675
0.0003
-0.0016
1.1232
1.0255
1.8697
10.1988
0.1975
0.1175
simple
4188.0000
6.0000
0.4587
-0.0003
-0.0022
-1.3896
0.9694
2.9791
10.1988
0.1975
0.1175
simple
4188.0000
12.0000
0.4346
-0.0015
-0.0034
-6.4152
0.8667
6.6455
10.1988
0.1975
0.1175
simple
4188.0000
20.0000
0.4043
-0.0031
-0.0050
-13.1160
0.7479
13.2727
10.1988
0.1975
0.1175
simple
strategy
12. Answers to the secondary questions
question
evidence
answer
Does the pattern predict positive forward returns?
12h mean +0.17% vs +0.12% for drift-only (diff +0.05%, CI −0.30% to +0.41%); 48h +0.71% vs +0.37% (CI −0.30% to +1.02%)
No significant edge
Does compression add beyond drift?
raw race +6.1% (CI +1.2% to +10.9%) but geometry-matched +2.8% (CI −0.4% to +6.1%) and equal-distance +3.3% (CI −2.5% to +9.7%)
Small raw lift, not robust
Does the prior impulse improve it?
raw race vs drift+impulse +9.2% (CI +2.2% to +16.4%); equal-distance +8.1% (CI +0.05% to +17.1%); regression p=0.88
Weak, not robust
Is there continuation after the breakout?
post-breakout 12h mean ≈ −0.13%; 55% reverse within 3h; equal-distance route 71% reverse
No continuation
Does it survive costs?
long-breakout mean net return is negative at every cost including 0 bps (46.6% win rate)
No
13. Limitations
The geometry-matched pool is finite; exact matching on all strata is impossible and the relaxation order is documented but discretionary.
ATR barriers at ±1 ATR are not the same object as the frozen boundaries; the two analyses answer different questions and are reported separately.
Events overlap in time; inference uses deduplicated events and 7-day block bootstrap, but serial dependence may remain.
The strategy is a single pre-specified rule, not an optimized system; it is secondary evidence, not proof about the pattern.
Verdict: UNSUPPORTED (raw upward rate not robust to boundary geometry)
Boundary race: cohort A broke upward first in 461/556 resolved events (82.9%; 95% Wilson 79.6%–85.8%); all-valid rate 83.5%.
Versus upward drift without compression: 82.9% vs 76.9% (+6.1%, 95% block-bootstrap CI +1.2% to +10.9%).
Equal-distance ATR barriers: A up-first 53.4% of 541 resolved (49.2%–57.6%).
Geometry-matched controls: pattern 82.9% vs matched 80.1% (paired diff +2.8%, CI -0.4% to +6.1%); equal-distance up-first 51.3% vs 53.2%.
Artifacts and reproduction
Machine-readable outputs are under experiments/reports/lowvol_grind_v2/ and figures under reports/figures/lowvol_grind_v2/. Reproduce with: