BL-SD-011: Cross-Sectional Momentum, Market-Neutral
BIJECTIVE LABS
BL-SD-011: Cross-Sectional Momentum, Market-Neutral
Status: RELEASED
Classification: PUBLIC
Revision: 1
Date: 2026-09-07
Venue: Bybit perpetuals Programme: I Verdict: FALSIFIED Axis of death: Condition Transferability: UNIVERSAL
1. Identification
| Field | Value |
|---|---|
| Internal code | XSEC-MOM |
| Family | Cross-sectional momentum, dollar and beta neutral, mirror of BL-SD-010 |
| Venue | Bybit perpetuals |
| Programme | I |
| Pre-registered | 2026-06-14, in three successive stages, amended in method rather than in date |
| Verdict issued | 2026-06-14, decisive stage |
| Pre-registration documents | D-006, stage 1 pre-registration; D-006, stage 2 amendment; D-006, stage 3 decisive test |
| Predecessor | BL-SD-010, whose reversal thesis failed while its exact mirror, the opposite direction on the identical selection rule, showed a real signal |
Three pre-registered decision rules were written and applied in sequence on the same day, each replacing the last because each prior stage's own honest reading of its result required a stronger test rather than a claim. This dossier reports all three, because the middle stage is the one that produced the headline figure the programme would have been tempted to stop on, and the discipline this hypothesis exists to demonstrate is that stopping there would have been wrong.
2. Economic thesis
Long the symbols whose idiosyncratic return over a lookback window most
exceeds the equal-weight basket; short those that most trail it; hold to a
fixed horizon; dollar and beta neutral by construction. This is the exact
opposite selection direction of BL-SD-010, discovered as that hypothesis's
own mirror-direction control rather than designed independently, and it is a
distinct family from an earlier, separately falsified absolute-direction
trend strategy: the position here is relative to the basket, not to zero.
Who is forced to lose. The design record does not name one, and this dossier does not supply one retroactively. The thesis is stated as a property of the cross-section, that recent relative outperformance persists over hourly horizons, rather than as a mechanism naming a specific participant compelled to transact against their own interest as that persistence resolves. This gap is the same one carried by the sibling reversal hypothesis and is not repaired here.
3. Falsifiable claim
Three pre-registered decision rules, reproduced in the order they were written and applied.
Stage 1, from the stage 1 pre-registration (D-006):
Momentum confirmed only if the out-of-sample-aggregate confidence interval is strictly above zero, and a majority of out-of-sample folds are positive, and it beats the random-symbol null. Otherwise reject.
Stage 2, from the stage 2 amendment (D-006), amended after stage 1's per-trade intervals were judged to understate correlation between same-timestamp legs:
Momentum confirmed if and only if a majority of configurations have block-bootstrap portfolio confidence intervals strictly above zero on both the 1-hour and the 4-hour timeframe, and the walk-forward out-of-sample block-bootstrap confidence interval is above zero. Otherwise the lead is not robust and does not proceed to shadow.
Stage 3, from the stage 3 decisive test (D-006), written after stage 2 produced a pass on one timeframe and a fail on the other over spans of different length:
The edge is valid if and only if the full-long, same-span, 1-hour block-bootstrap confidence interval is above zero, and a majority of sequential subperiods are positive, and it survives a doubled spread-cost stress. Else it was a recent-regime artifact; reject, do not shadow.
| Metric | Threshold | Decision if crossed |
|---|---|---|
| Stage 1, both timeframes, OOS CI and null | CI above 0 and beats null | 4-hour failed CI above 0; escalate to stage 2 |
| Stage 2, both timeframes, majority configs and OOS CI | must hold on both | 1-hour passed; 4-hour failed; pre-registered "both timeframes" criterion not met |
| Stage 3, full-span 1-hour, robust-region configs CI above 0 | at least 3 of 4 | decisive |
| Stage 3, subperiod positivity | majority of 3 sequential thirds | decisive |
| Stage 3, cost stress, spread 4 to 10 bps | survives | decisive |
4. Mathematical specification
Notation per BL-D-011. Same causal residual z-score as BL-SD-010 section 4,
reused without modification; only the entry direction differs.
z_{i,t} = cross-sectional residual z-score at bar t, causal, per
BL-SD-010 section 4
Entry, fire at t when, for symbol i:
entry_z <= |z_{i,t}| < entry_z_max entry_z = 1.5, entry_z_max = 3.0
direction d_i = -1 (short) if z_{i,t} < 0, +1 (long) if z_{i,t} > 0
[the exact reverse of BL-SD-010's direction rule; the module implements
this as sign(reversal_direction) * -1, an exact mirror rather than a
separately fitted rule]
Exit, fixed horizon:
at bar t + hold, hold and lookback drawn from grid {6, 12, 24} in
stages 1 and 2; robust-region grid {(12,12), (12,24), (24,12), (24,24)}
and pre-declared core config (12,12) in stage 3
Sizing:
one unit notional per leg, equal weight, dollar-neutral by construction
Cost, per leg, round trip:
c_rt = 2 * fee_per_fill + spread_cost_bps
= 2 * 5.5 + 4.0 = 15.0 bps (baseline)
= 2 * 5.5 + 10.0 = 21.0 bps (stage 3 cost-stress arm)
Inference, correlation-aware, stages 2 and 3:
R_t = per-timestamp portfolio return, collapsing every leg entered
at bar t under equal-weight sizing, per BL-D-011 section 5
CI95[mean(R)] from a moving-block bootstrap, block length = hold,
3,000 resamplesCausality holds by the same construction as BL-SD-010 section 4, verified
by the same test suite, extended to 27 unit tests including an exact-mirror
identity test between the reversal and momentum directions. The block
bootstrap in stages 2 and 3 does not touch causality; it corrects the
interval, not the signal, for the autocorrelation induced by overlapping
holding windows and same-timestamp legs.
5. Operating envelope
| Parameter | Value for this measurement |
|---|---|
| Round-trip cost assumed | 15.0 bps baseline (11.0 bps fee, 4.0 bps spread); 21.0 bps in the stage 3 cost-stress arm |
| Execution channel | Crossing on both legs |
| Latency band | Cold path; hourly bar cadence renders latency immaterial |
| Measurement cadence | 1-hour candles, decisive; 4-hour candles used in stages 1 and 2 for a multi-regime comparison |
| Capital scale | Programme default, BL-FM-002 section 6 |
| Venue and instruments | Bybit USDT perpetuals, ccxt top 40 to 45 by quote volume, excluding BTC, ETH, commodity-linked symbols, and stock-tagged listings |
| Data era | Stage 1 and 2, 1-hour panel approximately 42 days; stage 3, 1-hour panel extended to approximately 167 days, paginated, the same span class as the 4-hour panel that had already failed |
6. Instrument
The cross-sectional reversion primitive, momentum mode, shared with
BL-SD-010, 27 unit tests. A companion validation-statistics module, 9
unit tests, supplying the per-timestamp portfolio collapse and moving-block
bootstrap used from stage 2 onward. Three harnesses, run in sequence in an
ephemeral container against a public data feed, leaving the live shadow
process untouched: the stage 1 out-of-sample harness, the stage 2 validation
harness, and the stage 3 final-verification harness.
| Property | Value |
|---|---|
| Selection method, stages 1 and 2 | Walk-forward, 5 folds, configuration chosen by training-fold t-statistic, scored only on the held-out fold |
| Selection method, stage 3 | No further selection; the robust-region grid identified in stage 2 is tested as a fixed, pre-declared set of 4 configurations, plus one pre-declared core configuration for the subperiod and cost-stress arms |
| Null, stage 1 | Random-symbol, real-price control, matched fee and spread cost |
| Correlation treatment, stages 2 and 3 | Per-timestamp portfolio collapse, moving-block bootstrap, block length equal to the holding period |
7. Results
Stage 1, naive per-trade statistics, walk-forward out-of-sample:
| Arm | n | Estimate | CI95 | Threshold | Result |
|---|---|---|---|---|---|
| 1-hour, OOS aggregate | approximately 42 days of folds | NET +261 bps, t=+2.1 | [+17, +505] | CI above 0, folds positive, beats null | PASS all three |
| 4-hour, OOS aggregate | approximately 167 days of folds | NET +228 bps, t=+1.7 | [-42, +499] | CI above 0 | FAIL, spans zero |
| Reversal, both timeframes | - | negative | negative and significant | confirms BL-SD-010 | dead, as expected |
| Random-symbol null | - | approximately -4 to -54 bps | consistent with -cost | harness valid | - |
Stage 2, correlation-aware, block-bootstrap portfolio statistics:
| Arm | n configs | Estimate | CI95 | Threshold | Result |
|---|---|---|---|---|---|
| 1-hour, configs with block-bootstrap CI above 0 | 9 | 6 of 9, all with lookback at or above 12 | - | majority on both timeframes | 1-hour PASSES |
| 1-hour, OOS block-bootstrap | - | mean +338 bps | [+136, +659], p=0.001 | CI above 0 | robust on this span |
| 4-hour, configs with block-bootstrap CI above 0 | 9 | 3 of 9 | - | majority on both timeframes | 4-hour FAILS |
| 4-hour, OOS block-bootstrap | - | mean +284 bps | [-78, +591], p=0.169 | CI above 0 | not significant |
Pre-registered stage 2 criterion, "confirmed iff majority on both timeframes": not met. A yellow flag was logged at this stage rather than suppressed: the significant timeframe, 1-hour, was also the shorter and more recent window, approximately 42 days, while the longer, multi-regime 4-hour window, approximately 167 days, failed. The design record states plainly that offline testing could not, at this stage, distinguish a genuine short-horizon edge from a recent-regime artifact, and that only a same-span comparison could resolve it.
Stage 3, decisive, full 167-day span on the 1-hour panel:
| Arm | n | Estimate | CI95 / significance | Threshold | Result |
|---|---|---|---|---|---|
| Robust-region configs, full 167-day span | 4 | 0 of 4 significant; example, lookback=12 hold=12: +20 bps, p=0.54 | at least 3 of 4 | FAIL | |
| Subperiod 1 of 3, core config lookback=12 hold=12 | 1 third of the span | -57 bps | not positive | negative | |
| Subperiod 2 of 3, core config | 1 third of the span | +10 bps, not significant | positive, not significant | positive, weak | |
| Subperiod 3 of 3, core config | 1 third of the span | +111 bps, p=0.048 | positive and significant | positive and significant, alone | |
| Cost stress, spread 4 to 10 bps, core config | - | not significant even at the base 4 bps spread | survives the stress | FAIL |
The reported stage 2 headline, +338 basis points at p=0.001 over approximately 42 days, corresponds almost exactly to the final third of the stage 3 decomposition, +111 basis points at p=0.048 over the same fraction of the full span. The earlier significance was not wrong as an arithmetic statement; it was computed on the one regime, out of three tested, in which the effect actually held.
8. Verdict, axis of death, and transferability
Verdict: FALSIFIED. Axis: Condition. Transferability: UNIVERSAL.
This is not a power failure. R-06 reserves NOT PROVEN for an interval that
spans its threshold for lack of sample; this hypothesis had a full 167-day,
same-span sample available, tested it, and the effect did not merely fail to
reach significance, it reversed sign in two of its three sequential thirds
and reached significance in only the most recent one. That is a positive
finding about the mechanism, not an absence of one: the edge exists
conditionally on a specific, recent regime and does not exist outside it.
Applying BL-D-002 section 4, no envelope substitution repairs a result
whose defect is which third of the calendar it was measured on. Cost was
tested directly, in the stress arm, and was not the deciding factor: the
core configuration was already not significant at the baseline spread cost,
before the stress was applied. The classification is universal because the
defect is temporal rather than a property of the operating envelope; a
different fee schedule or capital scale does not change which regime the
underlying price data falls into.
9. Cost and capacity analysis
Baseline round-trip cost 15.0 bps
Cost-stress round-trip 21.0 bps
Core config, full 167-day span +20 bps, p=0.54, not significant
at baseline cost, before stressCost was tested and ruled out as the deciding factor rather than assumed to be immaterial: the core configuration failed to reach significance at the baseline 15.0 basis point round trip, before the stress arm's 21.0 basis point figure was even applied. Capacity was not measured; the hypothesis failed on regime stability before frequency or size became a relevant question.
10. Envelope sensitivity and reopening conditions
No binding envelope parameter exists to name, because the finding is that the edge is concentrated in the most recent third of the tested span and disappears over the full multi-regime sample. No cost, capital, or execution substitution changes which calendar period a given bar of price data falls into.
Reversal condition: none computable against the operating envelope.What would reopen it: a test on a currently sealed, not-yet-observed era,
pre-registered before that era is opened, following the same three-arm
protocol used in stage 3, full-span significance, subperiod stability, and a
cost stress. This is the discipline R-11 describes for held-out eras
generally, and it is the only honest resolver available: this dossier's own
data has already been fully spent testing the claim and cannot be re-used to
re-test it without the multiple-testing violation R-12 prohibits.
What would not reopen it: re-running the same 167-day span with a different fee schedule, a different capital scale, or a longer or shorter holding period chosen after seeing this result. None of these address the finding, which is that the effect is regime-dependent rather than durable.
11. Reference implementation
The cross-sectional reversion primitive in momentum mode is published as
05_INSTRUMENTS/strategies/python/src/cross_sectional_reversion.py, shared
with BL-SD-010, with 28 tests. The companion validation-statistics module is
published separately as
05_INSTRUMENTS/strategies/python/src/validation_stats.py, with 16 tests,
because BL-SD-039 rests on the same two functions and a shared primitive
belongs in one place rather than three.
No code defect was found in either instrument; the finding is a property of the market data across the full sample, correctly measured.
The mirror identity in BL-SD-010 section 11 applies to this row from the
other side, and it is the honest way to read this verdict. The reversal
direction had already measured negative across every configuration, which fixed
the sign of the momentum direction before this hypothesis was tested. It was
tested anyway, because a pre-registered hypothesis is settled by measurement.
What the measurement added beyond the algebra was the condition finding: the
earlier +338 at p = 0.001 lived entirely in the final third of the sample, and
that is not something an identity would have told us.
12. Evidence register
| ID | Artifact | Carries |
|---|---|---|
| None assigned | This measurement rests on the narrative decision record rather than an emitted machine-readable artifact, and is registered as D-006 in BL-A-006 |
13. Lessons extracted
This hypothesis produced R-04 in the rules register directly: the sample
is cut into at least three sequential subperiods and the edge must survive in
each, adopted specifically because this result, 338 basis points at a
p-value of 0.001, disappeared once the sample it was measured on was split
into three sequential blocks and only the most recent one held. BL-D-009
section 2 states the provenance in exactly those terms.
It also stands as the completed instance of a discipline BL-SD-010 began.
That dossier's own methodological near-miss, a naive time-shuffle null
manufacturing a fake edge, produced R-03. This hypothesis's three-stage
escalation, from a naive per-trade interval, to a correlation-aware
block-bootstrap on two timeframes of different length, to a same-span,
subperiod-decomposed, cost-stressed decisive test, is the fuller worked
example of why a headline figure from an intermediate stage of validation is
not a result. The programme could have stopped at stage 2 with a positive,
p=0.001 headline. It did not, and the reason it did not is the yellow flag
logged at that stage rather than suppressed: the significant timeframe was
also the shorter, more recent one, and that observation alone was enough to
demand the decisive test that then rejected the claim.
14. Cross-references
BL-SD-010 for the sibling reversal hypothesis whose mirror-direction
control is this hypothesis's origin. BL-D-009 section 2 for R-04,
produced directly by this hypothesis. BL-D-011 section 5 for the
per-timestamp portfolio collapse and moving-block bootstrap method used from
stage 2 onward. BL-SD-000 ledger row XSEC-MOM.
Copyright (c) 2026 Bijective Labs. All rights reserved.