BL-IS-001: Moving-Block Bootstrap

BIJECTIVE LABS


BIJECTIVE LABS . SEP 7, 2026


BL-IS-001: Moving-Block Bootstrap

Status: RELEASED

Classification: PUBLIC

Revision: 1

Date: 2026-09-07


1. What it measures

A confidence interval on a mean return, when the observations are not independent.

On this substrate they are emphatically not independent. Mean pairwise return correlation across the fifteen major perpetuals is 0.737, which leaves an effective independent sample of

N_eff = N / ( 1 + (N - 1) * rho )
      = 15 / ( 1 + 14 * 0.737 )
      = 1.33

Fifteen instruments carry the information of roughly one and a third. Any interval that treats them as fifteen is not conservative, it is wrong.


2. Why it is mandatory rather than preferred

Because the error is large enough to flip a sign.

One result in the archive reads +0.86 basis points as a raw mean over trades and -8.74 under the collapsed bootstrap construction [E-0022]. Same data, same strategy, opposite conclusion. The difference is entirely in how the observations were treated.

R-02 therefore forbids per-leg t-statistics on this substrate. Not discourages. Forbids.


3. The two steps

The instrument does two things, and the first matters more than the second.

Collapse to a portfolio. Before anything is resampled, per-instrument returns at a timestamp are aggregated into one portfolio return for that timestamp.

R_t  =  sum over i of  w_{i,t} * r_{i,t,h}

This is where the correlation problem is actually solved. Fifteen correlated legs at time t become one observation at time t, which is what they are worth.

Resample in blocks. The series of portfolio returns is then resampled in overlapping blocks of length b rather than as individual points.

Draw K = ceil(T / b) blocks with replacement from the T - b + 1 possible
starting positions. Concatenate, truncate to T, compute the mean.
Repeat B times. The interval is the empirical 2.5 and 97.5 percentiles.

Blocks preserve whatever serial structure exists inside a window of length b. Point resampling destroys it, which manufactures independence the data does not have.


4. Choosing the block length

The rule used throughout this record: the block length exceeds the holding horizon.

The reason is mechanical. A position held for h periods produces overlapping returns across those h periods. If b is shorter than h, an overlapping pair can be split across two independently drawn blocks, and the resampling treats as independent two observations that share most of their content.

For a 24-hour horizon on hourly bars the programme used daily blocks. For the 72-hour work the block grew accordingly.

The choice is declared at pre-registration and not varied afterwards, because block length is exactly the kind of free parameter that R-09 exists to catch.


5. Interface

block_bootstrap_ci(returns, block_length, n_resamples, alpha) -> (lower, point, upper)
 
  returns        per-timestamp collapsed portfolio returns, length T
  block_length   b, exceeding the holding horizon in the same units
  n_resamples    B, at least 1000
  alpha          two-sided level, 0.05 for the CI95 reported throughout
 
Raises when:
  b >= T                    no valid block structure
  T is too short for the declared horizon
  returns contain any missing value

Missing values raise rather than being dropped. A timestamp that failed to compute is not a random one, and silently excluding it reintroduces selection.


6. What it does not fix

It corrects the interval. It does not correct the point estimate.

A mean computed on a correlated panel is still a mean. What changes under this instrument is how much confidence that mean supports, and on this substrate the answer is usually much less than a naive calculation suggests.

It also does not address multiple testing. A single interval computed correctly across twenty hypotheses still produces one false positive at the five percent level. R-05 handles that separately with Benjamini-Hochberg correction, and the two are applied together rather than as alternatives.

Finally, it assumes the correlation structure is stable enough across the sample for a single block length to be appropriate. The programme did not test that assumption, and a reader working across a regime break should.


7. Where it changed a verdict

Three cases in the record, all in the same direction.

The sizing-convention result in section 2, from +0.86 to -8.74.

The conditioned reversion verdict, where the collapsed sample is 11,252 against 43,209 trades. The interval widens from something that looked decisive to [-27.00, +9.60], which spans zero and therefore cannot carry a kill on its own. That widening is why the branch had to be closed from four independent directions rather than one.

The cross-sectional work throughout, where 1,275 rebalances are the observation count rather than the far larger number of individual legs.

In every case the instrument made a result less significant. That is what a correct interval does on correlated data, and a programme that finds its intervals narrowing after adopting one has implemented it wrong.


8. Cross-references

BL-D-011 section 5 for the collapse and the correlation arithmetic. BL-D-004 section 2.2. BL-D-009 rule R-02. BL-IS-002 for the null this interval is usually reported alongside. Evidence E-0021, E-0022.


Copyright (c) 2026 Bijective Labs. All rights reserved.