BL-SD-033: Session Structure in Spread
BIJECTIVE LABS
BL-SD-033: Session Structure in Spread
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 | TOC1 |
| Family | Session structure characterisation, cost 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_TOC1_session_characterization_spec.md |
| Verdict document | hl_toc1_session_characterization_2026-07-17.md |
| Predecessor | BL-SD-032, whose cost arithmetic this dossier tested for a timing-based fix |
This dossier tests a single, narrow claim: whether the cost of trading on Hyperliquid varies by the hour of day, in a way that would give an operator a cheap window to trade in. It is written as an observation, not a strategy: no forward return is touched anywhere in this measurement.
2. Economic thesis
If half-spread or impact-spread is structurally thinner during a particular band of UTC hours,
an operator could route execution to that band and extract a real cost saving, which would
matter directly for a cost-bound hypothesis like BL-SD-032. There is no counterparty forced to
lose in this observation; it is a question about the venue's own mechanics, not a trade. The
thesis being tested is a piece of trading folklore repeated widely enough to merit direct
measurement: that liquidity is thin and manipulation common between 00:00 and 06:00 UTC, and
that a cost-sensitive strategy should avoid or favour that window accordingly.
3. Falsifiable claim
Pre-registered before the instrument was run:
Half-spread and impact-spread differ structurally by UTC hour. Structure is confirmed by a dispersion ratio, the 90th over the 10th percentile of the hourly medians, that is materially above one and consistent across at least two of BTC, ETH, and SOL; a ratio near one falsifies the claim for that metric.
| Metric | Threshold | Decision if crossed |
|---|---|---|
| Half-spread, dispersion ratio (p90/p10) across hours | near 1, consistent on 2 of 3 coins | H-obs-1 falsified for cost |
| Impact-spread, dispersion ratio across hours | near 1, consistent on 2 of 3 coins | Same conclusion, confirmatory metric |
| Cross-coin consistency | fewer than 2 of BTC, ETH, SOL agree | Any apparent structure treated as single-coin artifact |
4. Mathematical specification
Notation per BL-D-011.
Bucket assignment:
utc_hour(t) = floor(t_ms / 3,600,000) mod 24
session_of_hour(h) = ASIA (0-8 UTC), EU (7-16 UTC), US (13-21 UTC), overlap by design
Per-bucket metrics, from book and assetctx state observed at t:
half_spread_bps(t) = (ask0(t) - bid0(t)) / 2 / mid(t) * 1e4
impact_spread_bps(t) = (impact_ask(t) - impact_bid(t)) / mid(t) * 1e4
depth_top5_usd(t) = sum over levels k=1..5 of ( px_bid_k*sz_bid_k + px_ask_k*sz_ask_k )
Dispersion statistic, per metric m and coin c, over hourly medians h = 0..23:
dispersion_ratio(m, c) = quantile_90{ median(m, c, h) } / quantile_10{ median(m, c, h) }Causality holds by construction: every metric is computed from book and context state observed
at the same instant t it is bucketed into, with no forward reference. There is no signal,
entry, exit, sizing, or cost rule in this specification beyond the metrics themselves, because
this measurement characterises the venue's own cost surface; it never places a trade. The
pre-registration explicitly prohibits computing markout, adverse selection, or any
forward-return quantity at this stage.
5. Operating envelope
| Parameter | Value for this measurement |
|---|---|
| Round-trip cost assumed | Not applicable, no trade was modelled |
| Execution channel | Not applicable |
| Latency band | Not applicable |
| Measurement cadence | Per-tick book and assetctx state, bucketed by UTC hour |
| Capital scale | Not applicable |
| Venue and instruments | Hyperliquid perpetuals: BTC, ETH, SOL |
| Data era | Recorded shadow lake, 2026-07-01 to 2026-07-17, approximately 16 days; the 2026-07-04 to 07-05 gap excluded by freshness guard |
6. Instrument
BL-IS-012, test-driven with 12 of 12 unit tests passing, full
suite run.
| Property | Value |
|---|---|
| Cross-coin consistency requirement | Structure must appear on at least 2 of BTC, ETH, SOL to be treated as real rather than a single-coin artifact |
| Weekday and weekend robustness | Not separated in this run; noted as a limitation rather than a defect, since the flat result made the split immaterial to the finding |
7. Results
| Metric | Dispersion ratio (BTC) | Structure? | Result |
|---|---|---|---|
| Half-spread | 1.01 | No, constant across 24 hours | FALSIFIED for cost |
| Impact-spread | 1.01 | No | FALSIFIED for cost |
| Depth, top 5 levels | 1.09 | Marginal | Not material |
Half-spread held constant across all 24 hours on all three coins tested: approximately 0.079 basis points on BTC, 0.28 on ETH, and 0.064 on SOL, every hour, with a p90-to-p10 ratio of 1.01 on each. The folklore claim under test, that liquidity thins and manipulation concentrates between 00:00 and 06:00 UTC, is directly contradicted: spread does not widen in that window, and realised volatility and trade rate are at their lowest there rather than elevated, which is the opposite of what an elevated-manipulation reading would predict.
8. Verdict, axis of death, and transferability
Verdict: FALSIFIED. Axis: idea. Transferability: UNIVERSAL.
The idea under test, that trading cost varies structurally enough by hour to give an operator a cheap window, fails cleanly and consistently across all three coins tested. Half-spread is mechanically tight around the clock on this venue; there is no cheap hour to route toward. No envelope substitution changes this: it is a fact about how this venue's book behaves, not a parameter of any operator's cost schedule, which places it in the UNIVERSAL class.
The finding closes one specific lever for BL-SD-032 directly: the cost gap that hypothesis
needed to close could not be closed by scheduling trades to a cheaper hour, because no hour is
cheaper. What does vary by hour is activity, not price: trade rate and realised volatility
concentrate in the US session, roughly two to three times the trough seen in the Asian
early-morning hours, but that is a statement about how much happens, not about how much it
costs to participate.
9. Cost and capacity analysis
Not applicable to a characterisation. The half-spread figures reported in section 7 are the relevant cost facts; there is no separate PnL or capacity computation here.
10. Envelope sensitivity and reopening conditions
No binding parameter exists to name, because the underlying metric shows no structure to substitute a parameter against.
Reversal condition: none computable.A dispersion ratio of 1.01 leaves no room for a cost-based reversal argument. There is no hour at which half-spread is materially thinner, so no envelope substitution based on timing rescues a cost-bound hypothesis by this route.
What would reopen it: a different metric or a different venue where spread is not mechanically arbitraged flat around the clock. Not tested here.
What would not reopen it: re-examining this same venue's spread by weekday-versus-weekend split. The result was flat enough on the UTC-hour axis that this split was judged immaterial to the finding and was not run.
11. Reference implementation
BL-IS-012 is the specification, and the instrument is published as 05_INSTRUMENTS/strategies/python/src/session_structure.py with
52 tests, shared with BL-SD-034 and BL-SD-035. The data-lake reading it
sits on is not reproduced.
Two design choices in the published module bear on how this row should be read.
The session map is fixed in advance and its bands overlap, because real trading hours do. An hour inside two bands is resolved in a declared order, US then Europe then Asia, and the late hours are labelled OFF rather than folded into the nearest session. The order is not a claim about which session matters more; it is a claim that a label has to be chosen before any measurement, so the partition cannot be adjusted after seeing which cut separates best.
Dispersion is reported three ways, and that is deliberate rather than redundant. A robust percentile ratio, the full range, and a coefficient of variation disagree with each other exactly when a single hour is unusual. This row's question is whether quoted width varies enough across the day to matter, so reporting only the robust measure would hide such an hour and reporting only the range would let one thin hour decide the finding. A test constructs that configuration and pins both readings.
12. Evidence register
| ID | Artifact | Carries |
|---|---|---|
E-0055 through E-0057 | Venue verification pulls establishing the Hyperliquid substrate | Context for the book and assetctx fields this instrument reads |
This measurement is recorded in a narrative report backed by the instrument's
own reproducible output, and is registered as D-026 in BL-A-006.
13. Lessons extracted
This dossier corrects a specific piece of trading folklore with this venue's own data rather than accepting or repeating it uncritically: the claim that low-liquidity overnight hours carry elevated manipulation risk does not hold on Hyperliquid, where spread is mechanically flat around the clock and the quiet hours are quiet in activity, not in cost. Filtering an inherited claim against measured data before it is allowed to shape a design is the same discipline this programme applies to its own hypotheses, applied here to an assumption imported from outside the programme.
14. Cross-references
BL-SD-032 for the cost-bound hypothesis this measurement closes one reopening path for.
BL-SD-034 for the companion measurement on event supply by session. BL-SD-035 for the
companion measurement on reversion quality by session. Ledger row TOC1.
Copyright (c) 2026 Bijective Labs. All rights reserved.