Aggressor-partitioned opening options pressure predicts 09:41-to-close underlying return

Separating buyer-initiated from seller-initiated opening premium did not rescue the directional claim: the sharper measure is null too, and marginally the wrong way.

Registered 3 Sep 2026 · Completed 3 Sep 2026

The question

The aggregate opening-pressure null left one obvious escape route open. Aggregate net premium pools trades initiated by buyers with trades initiated by sellers, so genuine directional pressure could have washed out in the aggregation rather than been absent from the market. This experiment closes that route. It separates premium executed at or above the offer (buyer-initiated) from premium executed at or below the bid (seller-initiated) and asks whether that sharper measure of opening pressure predicts the rest of the session. A yes would have meant the earlier null was an instrumentation artifact rather than a market fact.

Why we tested it

Registered before the result

Tests whether AGGRESSOR-PARTITIONED opening flow (buyer-initiated minus seller-initiated premium via the measured five-level side-partitioned flow tape) carries information that HYP-001's aggregate options-net-premium representation washed out. Standing limitations: roughly a third of side-partitioned-flow premium is multi-leg (measured); side-partitioned history is reconstructed after the fact, so real-time availability at 09:41 is asserted, not measured. A null does not falsify trade-level or opening-position variants.

How we tested it

The same two index proxies and the same seven months of sessions as the aggregate test, so the comparison is like for like. The signal is directional premium over 09:30–09:40: call premium lifted at or above the offer minus call premium hit at or below the bid, minus the same difference for puts, divided by the gross premium across those aggressive sides. Trades executed at the midpoint are excluded from numerator and denominator alike, so the quantity is a unit-free imbalance of aggressive prints only. The construction was frozen from instrumentation measurements alone (sign census, additivity, bucket semantics) before any outcome data was examined. The outcome is the log return from 09:41 to the close. Estimation pools both symbols with symbol intercepts and clusters standard errors on sessions; inference is a permutation test with 999 draws against a preregistered positive direction.

Result

-0.00483opposite of registered direction

beta of aggressor-partitioned opening pressure on forward log return

t
-0.56
p_perm
= 0.61
95% CI
[-0.0223, 0.0134]
n
280 rows · 140 sessions · 2 symbols
0.00156

What we learned

The escape route is closed. The coefficient came in at −0.0048 with t = −0.56 and a permutation p of 0.61 over 140 sessions: indistinguishable from zero, and negative where the registration expected positive. Both symbols and both halves of the sample sit near zero, so there is no subsample doing the work and no instability to appeal to. This matters more than a second null usually would, because it removes the most plausible benign explanation of the first one. Aggregate opening pressure is not null because the aggregation destroyed the signal. Resolving buyer from seller at the point of execution, which is the thing practitioners reach for when aggregate flow disappoints, recovers nothing.

Limitations

Roughly a third of measured options premium comes from multi-leg structures whose directional attribution is ambiguous. This is a standing limitation on every flow-premium-derived result.

Side-partitioned flow history is reconstructed after the fact, so live availability of this signal at formation time is asserted rather than measured.

Formation windows close roughly a minute before outcome windows open, and measured feed publication latency consumes most of that slack. Live availability of each signal at the formation boundary is therefore tight rather than generous.

Aggressor partitioning identifies which side crossed the spread, not what the trader intended: a lifted offer may open a long or close a short, and the two carry opposite information. The registered claim is about aggressive-print imbalance, and a null does not falsify trade-level or opening-position variants of the same mechanism, which the lab has not instrumented.

This result is flagged as landing opposite its registered direction. That flag records a fact about the registration, not a finding: the estimate here is indistinguishable from zero at t = −0.56, so the sign carries no weight and nothing should be read into it. Like every result the lab has published so far, it is a discovery-substrate result: preregistered, but not yet confirmed on data the research process has never seen.

Design details
Universe
SPY, QQQ
Sessions
2 Feb 202624 Aug 2026
Formation window
09:30–09:40 ET
Outcome window
09:41–close ET
Registered direction
positive
Estimator
ols_cr1
Controls
none
Permutation draws
999
Data inputs
side-partitioned options flow series; one-minute equity price series
Registered on
2026-09-03
Completed on
2026-09-03
Evidence run
RUN-001
Preregistered spec
278395598320b552…

Inputs are described in general terms. The lab does not publish raw or row-level market data, and never names the commercial options market-data vendor the inputs are licensed from.

Related experiments

Follow the lab

Every experiment is published the same way, whatever it finds. Get each batch by email.

One email per batch of experiments. No spam, unsubscribe in one click.