BL-IS-004: Anchor Robustness

BIJECTIVE LABS


BIJECTIVE LABS . SEP 7, 2026


BL-IS-004: Anchor Robustness

Status: RELEASED

Classification: PUBLIC

Revision: 1

Date: 2026-09-07


1. What it measures

Whether a result depends on the phase of a periodic parameter that was fixed by convenience rather than chosen.

The canonical case is a rebalance clock. A strategy that rebalances every 24 hours has 24 possible starting phases. If it is only ever run at one of them, the reported result is one draw from a distribution nobody has looked at.


2. Why it exists

Because that is exactly what happened, across nineteen pre-registrations.

The rebalance hour in the second programme was 00:00 UTC. It was never chosen. The grid builder anchored on the first timestamp of the research era, that era boundary fell at midnight, and the clock inherited midnight from a date boundary set for an unrelated reason.

Re-running the final hypothesis across all 24 phases returned zero significant positive phases and a median of -3.54 basis points, while the phase in use returned +4.28 and ranked third of twenty-four [E-0029]. A separate momentum result had published +14.11 basis points at t=2.49, which turned out to be the maximum of 24 phases that had never been reported [E-0044].

Nobody searched the phase space. The statistical damage is identical to having done so.

BL-IN-006 is the case study. This instrument is the remedy, and it is code rather than a note to be careful.


3. Interface

anchor_robustness(nets, t_stats, reported_index) -> AnchorReport
 
  nets            net result at each phase, length P
  t_stats         test statistic at each phase, length P
  reported_index  index of the phase whose result was published
 
Returns:
  n_phases              P
  n_positive            count of phases with net above zero
  n_significant_positive  phases with t_i above +1.96
  n_significant_negative  phases with t_i below -1.96
  net_min, net_median, net_max
  sign_consistent       True when every phase shares the sign of the median
  reported_label        OPTIMISTIC | TYPICAL | PESSIMISTIC
  reported_rank         rank of the reported phase, 1 being most favourable

4. Required behaviours

Four, and each one is enforced by test rather than by convention.

It raises when given a single phase. One phase is the defect. It cannot assess itself, and returning a report from a single observation would let the instrument certify exactly the situation it exists to catch.

It raises on any missing value. Silently excluding a phase that failed to compute reintroduces selection through the back door, and the phase that fails to compute is not a random one.

It reports sign consistency separately from magnitude. These are different kinds of evidence and conflating them is how the momentum result was misinterpreted. Twenty-four of twenty-four phases positive is a robust direction even when only five are individually significant. Thirteen of twenty-four with sign flips is not a direction at all.

It labels the reported phase against the distribution. OPTIMISTIC, TYPICAL, or PESSIMISTIC, with a rank.

That last behaviour is the one worth copying. It does not prevent reporting a favourable phase. It prevents reporting one silently.


5. Specification

Given P phases with net results r_1 .. r_P and statistics t_1 .. t_P:
 
  n_positive     = |{ i : r_i > 0 }|
  n_significant_positive = |{ i : t_i >  1.96 }|
  n_significant_negative = |{ i : t_i < -1.96 }|
  median         = median(r)
  sign_consistent = all( sign(r_i) == sign(median) for i in 1..P )
  rank(k)        = 1 + |{ i : r_i > r_k }|
 
  label(k) = OPTIMISTIC   if rank(k) <= P/3
             PESSIMISTIC  if rank(k) >  2P/3
             TYPICAL      otherwise

The thresholds are terciles, chosen before the instrument was applied to anything and not tuned since.


6. Where it applies

Any parameter with a natural period that was fixed once and never varied.

ParameterPeriod
Rebalance clock24 hours
Snapshot or sampling offsetthe sampling interval
Session boundary24 hours
Era partition boundarythe partition length
Lookback offsetthe lookback window

The list is not exhaustive and that is the point. BL-D-003 section 6 records the limitation this instrument addresses: pre-registration locks the parameters you have recognised as parameters, and that set is smaller than it feels.


7. Cost of running it

The instrument itself is arithmetic on an array. The cost is re-running the underlying measurement P times, which for a 24-phase sweep is twenty-four times the compute of the original.

On the substrate in this record that was a few minutes. On a heavier measurement it would not be, and the honest guidance is to run it once on the final specification rather than on every intermediate variant.

Eleven tests accompany the instrument. The suite moved from 683 to 694 when it was added.


8. A defect found while publishing this instrument

Writing the reference implementation for this document turned up a defect in the instrument that produced the audit in BL-IN-006.

The significance count compared the signed statistic, t_i > 1.96, rather than the two-sided form |t_i| > 1.96 that section 5 above specifies. A phase significant in the negative direction was therefore not counted.

The specification was right and the code was wrong, which is the less common direction and the reason it survived: no test exercised a negative statistic, and the published figure looked unremarkable.

Recomputing from the artifact [E-0029]:

CountValue
Published, significantly positive phases0 of 24
Recomputed two-sided, per the specification7 of 24
Of those, significantly negative7
Most negative phase statistic-4.80

The correction does not weaken the verdict it supported. It strengthens it considerably. The published reading was that no rebalance phase produced a significant positive result. The corrected reading is that seven of twenty-four produced a significant negative one, with the worst phase at t = -4.80.

The hypothesis was not merely unsupported across the phase space. Across nearly a third of it, the strategy was significantly losing.

The remedy is in the interface rather than in the arithmetic. Reporting a single significance count conflates two different questions, and the one that matters for a hypothesis claiming positive returns is not the one the specification asked for. The instrument now returns both:

n_significant_positive    phases with t_i above +1.96
n_significant_negative    phases with t_i below -1.96

Both are reported everywhere the count appears. A reader assessing a directional hypothesis wants the first. A reader assessing whether the phase space is noise or is actively hostile wants the second, and on this evidence it was hostile.


9. What it does not do

It does not tell you which phase to use. Reporting the median with the full range is the correct output; picking the best phase after seeing all of them is the error this instrument was built to detect.

It also does not distinguish a phase effect that is real from one that is noise. A strategy could genuinely perform differently at different times of day for mechanical reasons, and this instrument would report the same dispersion either way. Establishing that requires a separate hypothesis with its own pre-registration, which is what BL-SD-033 through BL-SD-035 did on a different venue.


10. Cross-references

BL-IN-006 the incident. BL-D-009 rule R-09. BL-D-004 section 2.8. BL-SD-045 and BL-SD-051 for the two results it corrected. Evidence E-0029, E-0040, E-0044.


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