BL-SD-035: Session Structure in Reversion Quality
BIJECTIVE LABS
BL-SD-035: Session Structure in Reversion Quality
Status: RELEASED
Classification: PUBLIC
Revision: 1
Date: 2026-09-08
Venue: Hyperliquid perpetuals Programme: I Verdict: FALSIFIED Axis of death: Idea Transferability: UNIVERSAL
1. Identification
| Field | Value |
|---|---|
| Internal code | TOC3 |
| Family | Session structure characterisation, reversion-quality axis |
| Venue | Hyperliquid perpetuals |
| Programme | I |
| Pre-registered | 2026-07-17, spec locked before the run |
| Verdict issued | 2026-07-17 |
| Pre-registration document | 2026-07-17_TOC3_reversion_by_session_preregistration.md |
| Verdict document | hl_toc1_session_characterization_2026-07-17.md, section 7 |
| Predecessors | BL-SD-033, cost by session; BL-SD-034, event supply by session |
Unlike its two predecessors, this measurement touches a forward return.
Reversion after cascade exhaustion is exactly the quantity BL-SD-032
trades, and asking whether its quality differs by session means computing a
markout, which is the one thing the first two dossiers in this family were
built specifically to avoid. Every choice that could be locked before
looking at data was locked in the pre-registration: the event grid, the
horizon, the price series, the direction convention, and the comparison
method. This dossier is the last of three timing levers this family was
built to close, and it is the only one of the three built to touch a label.
2. Economic thesis
Cost does not vary by session, BL-SD-033. Event supply does not either,
BL-SD-034. If session is to matter at all to a cascade-exhaustion
strategy, the only channel left is whether price, once it has exhausted a
forced-liquidation displacement, reverts toward oracle with different
strength depending on what session it happened in. A session with thinner
resting liquidity or fewer informed participants absorbing the displacement
might show weaker reversion; a session with deeper two-sided flow might show
stronger reversion. This is a question about signal quality conditional on
session, not about cost or opportunity count, and it is the only remaining
route by which session could function as a conditioner for BL-SD-032
without those two prior findings being overturned.
There is no new counterparty named here beyond the one BL-SD-032 already
names: the participant whose forced liquidation created the displacement.
This dossier asks only whether the strength of the reversion that follows
depends on when it happens.
3. Falsifiable claim
Pre-registered before the instrument was run:
Gross reversion markout at the BR1 primary horizon, 120 seconds, does not differ by session. The null is rejected only if a pair of sessions, each with n at or above 8, has non-overlapping 95 percent confidence intervals on gross reversion.
| Metric | Threshold | Decision if crossed |
|---|---|---|
| Any powered session pair (both n at or above 8), CI95 non-overlap | present | Flag as a candidate for a new pre-registration in a later round, not an edge and not a modification to BL-SD-032 |
| All powered session pairs | CI95 overlapping, or fewer than two sessions reach n at or above 8 | Door closed: no session differential reliable at the power available |
A methodological correction was made before the run and is recorded rather than absorbed silently. The original criterion compared each session's interval against the pooled mean. A unit test demonstrated that criterion is biased: a single outlier session pulls the pooled mean toward it, which can make an ordinary majority session appear falsely separated from a pooled figure that outlier itself distorted. The criterion was replaced with pairwise comparison between sessions before any data was examined, which is symmetric and does not inherit that bias.
4. Mathematical specification
Notation per BL-D-011.
Event set, fixed grid, unchanged from BL-SD-034 and its predecessor BR1:
E = detect_events( alpha = 0.75, beta_pct = 0.005,
band_pct = true, flow_from_trades = true )
Fixed horizon, the BR1 primary horizon and the only one tested:
H* = 120 s
Fade direction, per event e, resolved at exhaustion time t_ex(e):
entry(e) = mid_px asof t_ex(e) executable price, per BL-D-006 audit
oracle0(e) = oracle_px asof t_ex(e)
fd(e) = fade_dir( (entry(e) - oracle0(e)) / oracle0(e) )
+1 if price sits above oracle and is expected to fade down,
-1 if below and expected to fade up,
0 excluded, no displacement to fade
Gross reversion at horizon, no cost term:
p_H(e) = mid_px asof ( t_ex(e) + H* )
r_gross(e) = fd(e) * ( p_H(e) - entry(e) ) / entry(e) * 1e4 [bps]
Session assignment, identical mapping to BL-SD-034:
session(e) = session_of_hour( utc_hour( t_ex(e) ) )
Grouping and inference:
grouped(s) = { r_gross(e) : session(e) = s }
mean(s), CI95(s) from a 10,000-draw bootstrap, fixed seed, per session and pooled
door_closed = no pair (s_a, s_b), both n(s) >= 8, with CI95 non-overlappingCausality holds by construction. entry(e) and oracle0(e) are resolved as
of t_ex(e) using an as-of lookup that only admits observations at or before
that instant; p_H(e) is resolved at t_ex(e) + H*, strictly forward of
entry and used only as the outcome, never as an input to fd(e) or to the
session bucket. No term entering the session grouping or the direction
convention is a function of the outcome it is later compared against.
This is the gross return, deliberately, and the pre-registration states why:
BL-SD-033 established that half-spread is flat across the clock, so a
gross-versus-net distinction that would ordinarily matter is immaterial
here. Because cost does not vary by session, a differential in gross
reversion is the same thing as a differential in net reversion, and
computing gross isolates the signal component without a cost model
contaminating a comparison this dossier was built specifically to keep
simple. Reporting a gross return without noting this equivalence would be
misleading in a different family; here it is exact.
The exit price is fixed at H* and no other horizon was computed. Testing
additional horizons after seeing this result is barred by R-12; a reader
wanting a different horizon must pre-register it against unseen data.
5. Operating envelope
| Parameter | Value for this measurement |
|---|---|
| Round-trip cost assumed | Not applicable, gross reversion only. Zero, by the equivalence argument in section 4, since half-spread is flat across sessions per BL-SD-033. |
| Execution channel | Not applicable |
| Latency band | Not applicable |
| Measurement cadence | Event-level, at the BR1 exhaustion timestamp, one fixed horizon per event |
| Capital scale | Not applicable |
| Venue and instruments | Hyperliquid perpetuals: BTC, ETH, SOL, pooled |
| Data era | Recorded shadow lake, same window as BL-SD-034, 15.3 days |
6. Instrument
The reversion-by-session test, test-driven with 6 of 6 unit tests
passing, full suite of 412 tests run clean. Reuses fade_dir, reversion_ret,
and bootstrap_ci from the M3 reversion instrument and event_sessions from
BL-SD-034's instrument without modification.
| Property | Value |
|---|---|
| Sample | n=40 events, pooled 3-coin: BTC 28, ETH 6, SOL 6 |
| Cross-coin dependency | BTC supplies 28 of 40 events; the pooled distribution is close to the BTC distribution alone, reported as a hygiene caveat, matching the same caveat carried in BL-SD-034 |
| Inference | 10,000-draw bootstrap, fixed seed, per session and pooled |
| Comparison rule | Pairwise CI95 non-overlap between sessions, both members of the pair at n at or above 8; corrected pre-run from a pooled-mean comparison found to be biased |
7. Results
| Session | n | Gross reversion mean (bps) | CI95 | Contains pooled mean | Powered (n at or above 8) |
|---|---|---|---|---|---|
| ASIA | 11 | +6.14 | [-0.65, +14.00] | Yes | Yes |
| EU | 12 | +6.33 | [-1.68, +14.01] | Yes | Yes |
| US | 13 | +2.69 | [-6.95, +11.85] | Yes | Yes |
| OFF | 4 | -0.73 | [-15.40, +7.52] | Yes | No, n=4 |
| POOLED | 40 | +4.39 | [-0.25, +9.02] | -- | -- |
Every powered session's interval contains the pooled mean, and every pair of powered sessions overlaps the other. No pair meets the pre-registered kill criterion.
A second, honest fact belongs alongside the primary result rather than
beneath it. The pooled gross reversion itself, +4.39 bps, carries a CI95 of
[-0.25, +9.02], which contains zero. At n=40, even the pooled sign of
reversion is not established at conventional significance, consistent with
the parent hypothesis BL-SD-032 remaining unproven on its own merits at
gross +3.53 bps. This dossier is not a test of whether reversion exists; it
is a test of whether reversion, whatever its strength, differs by session.
The two questions are separate and this result answers only the second.
8. Verdict, axis of death, and transferability
Verdict: FALSIFIED. Axis: idea. Transferability: UNIVERSAL.
The idea under test, that reversion quality after cascade exhaustion differs structurally by session, does not clear the pre-registered bar. No pair of powered sessions shows a non-overlapping interval; the session that looks weakest, OFF at -0.73 bps, carries n=4 and is excluded from the comparison by its own underpower rather than included as a finding. This is an honest inconclusive result treated correctly: the pre-registration named in advance that "no differential found at this power" is itself a valid closure, not a placeholder for a future positive result, and that is the reading applied here.
The verdict is UNIVERSAL because nothing in this measurement is a function of an operator's cost schedule, capital, or execution channel. It states a fact about when, within the day, a market mechanism behaves the way it behaves, not a fact blocked by a parameter any operator controls.
Combined with BL-SD-033 and BL-SD-034, all three legs of the session
question this family was built to answer are now closed. Cost is flat by
session. Event supply is proportional to session length. Reversion quality
does not measurably differ by session at the power available. Session
structure is not a live conditioner for BL-SD-032, on any of the three
channels through which it could plausibly have mattered.
9. Cost and capacity analysis
Not applicable to a characterisation, and doubly so here: the section 4 equivalence argument means no cost term was needed even to make the reversion figures comparable across sessions.
10. Envelope sensitivity and reopening conditions
No binding parameter exists to name, because no session pair separated under the pre-registered criterion.
Reversal condition: none computable.There is no operator-controlled term, fee tier, capital scale, or latency band that would turn four overlapping intervals into a separated pair; what would need to change is the underlying market behaviour itself, or the statistical power available to observe it.
What would reopen it: substantially more data. At roughly 10 events per session, the confidence intervals span 10 to 20 basis points, wide enough that a true differential of several basis points between sessions would plausibly still read as overlapping. A rerun at several times this sample, on the same fixed grid and horizon, is the only route that would either confirm the flat reading with tighter intervals or surface what this measurement lacked the power to see. That rerun is not scheduled here.
What would not reopen it: testing a different horizon, a different
price series, or a different direction convention against this same data.
Every one of those was locked in the pre-registration specifically to
prevent a search for the combination that produces separation, and applying
that search after seeing this result would be exactly the horizon-shopping
R-12 prohibits. A reader wanting a different horizon needs a fresh
pre-registration against data this programme has not seen.
What this closes for BL-SD-032: the full timing-lever question. Three
measurements, BL-SD-033 on cost, BL-SD-034 on event supply, and this
dossier on reversion quality, were run specifically to determine whether
session-conditioning could serve as a lever for that hypothesis. None found
one. BL-SD-032 remains bound by execution structure, not by timing, and no
further session-conditioning work is warranted on the current sample.
11. Reference implementation
Published as 05_INSTRUMENTS/strategies/python/src/session_structure.py with 52 tests, carrying the session partition, the grouping,
the interval machinery, the door criterion, and the fade direction and
reversion return this row reuses from the predecessor reversion instrument. The
BR1 detector and the event collection remain scheduled.
The door criterion carries a correction that is the methodological content of this row, and the published test suite pins it rather than describing it. A session is flagged only when some pair of sessions, both at or above the power floor, have non-overlapping intervals. The door closes when no such pair exists.
An earlier form compared each session's interval against the pooled mean, and that asks the wrong question. The pooled mean contains every session including the one being tested, so one session with an extreme mean and a large sample drags the comparison point toward itself and can make every other session look separated from it. The hypothesis asks whether reversion quality differs between sessions, not whether any session differs from an average that includes it. One test builds exactly that configuration: two quiet sessions whose intervals overlap each other, one extreme session holding most of the sample, and a pooled mean sitting far from both quiet sessions.
The power floor applies to both members of a pair rather than to one, so a three-observation session cannot flag a well-sampled one however extreme its mean. That has its own test.
One item is stated in the published module rather than resolved, and a reader
re-running this row needs it. The intervals here come from a bootstrap that
resamples observations independently. BL-IS-001 argues correlation-aware
resampling is mandatory on this substrate and R-02 forbids per-leg
statistics, but both arguments are made about legs held simultaneously across
correlated instruments, where measured pairwise correlation is 0.737. These
observations are events spread across coins and across time, so that argument
does not transfer directly, and it does not obviously fail to either: a cascade
hitting many coins inside one minute would produce exactly the clustering an
independent resample understates. Whether these events cluster enough to
require block resampling was not measured. The published function is named for
the construction it uses, so the ambiguity sits in the signature rather than in
a reader's assumption, and the direction of the risk is stated: narrower
intervals make this door easier to trip, not harder.
12. Evidence register
| ID | Artifact | Carries |
|---|---|---|
E-0055 through E-0057 | Venue verification pulls establishing the Hyperliquid substrate | Context for the book, assetctx, and trades fields the BR1 detector and the reversion computation read |
This measurement is recorded in the narrative report shared with BL-SD-033
and BL-SD-034, backed by the instrument's own reproducible output, and is
registered as D-027 in BL-A-006.
13. Lessons extracted
A pre-run methodological correction belongs in the record with the same weight as the result it produced. Comparing each session against a pooled mean rather than against its peers pairwise would have risked labelling an ordinary session artificially separated purely because a different session's outlier pulled the pooled figure toward it. Catching that with a unit test before the run, rather than after seeing a suspicious result, is the discipline this programme expects of every pre-registration that touches a forward return, and it is documented here because it changed the criterion actually applied rather than remaining a note that was never acted on.
The second lesson is procedural rather than statistical: an inconclusive result, arrived at honestly and at a pre-declared power threshold, is a legitimate way to close a question. This dossier did not find that session does not matter in some deeper sense; it found that at n=40 no differential is reliable enough to act on, and it says so rather than either overclaiming a null result as proof of nothing or treating the absence of significance as an invitation to keep looking.
14. Cross-references
BL-SD-033 for the cost measurement and BL-SD-034 for the event-supply
measurement that precede this dossier in the same family. BL-SD-032 for
the cost-bound hypothesis this three-part measurement was run to serve.
BL-D-006 for the executable-price audit that governs the choice of
mid_px over a smoothed mark. Ledger row TOC3.
Copyright (c) 2026 Bijective Labs. All rights reserved.