Evidence & Limits

Last run: 19 October 2026 · 1,960 US sessions · 52,920 star-days per index

The short version: we tested whether a GO verdict marks a better session than an AVOID verdict. Over seven and a half years of US sessions, on SPY and QQQ, it does not. The measured difference is indistinguishable from zero, and the score has no correlation with returns. We publish that here because a framework you cannot audit is just a claim.

1. What was measured

2. How to read the numbers

Clustering caveat: the 27 stars on one day all see the same market return. They are not 27 independent observations. Every interval here comes from a bootstrap that resamples days, not star-days. Pooling first would have shrunk the intervals by roughly the square root of 27 and manufactured confidence that does not exist.

3. Direction — a clean null

ComparisonSPY95% CI (SPY)QQQ95% CI (QQQ)
GO − AVOID, intraday+0.16 bps−4.5 … +5.0+0.24 bps−5.5 … +6.0
GO − CAUTION, intraday−1.11 bps−5.0 … +2.7−1.25 bps−5.9 … +3.6
GO − AVOID, next day+2.88 bps−3.1 … +9.1+2.21 bps−5.0 … +9.9
Score vs return correlation0.0001—0.0007—

Every interval straddles zero. GO days are not better, not worse, and not more volatile in any way that survives clustering. Per star, the GO-minus-AVOID spread was positive for 15 of 27 stars on SPY and 16 of 27 on QQQ — a coin flip, with a spread of roughly ±1 to ±13 bps that is what noise looks like.

4. The one real effect — and it runs backwards

ComparisonSPY95% CIP(>0)QQQ95% CIP(>0)
AVOID − GO, daily range−7.24 bps−12.1 … −2.50.002−6.47 bps−11.8 … −1.30.007

AVOID sessions are quieter, not wilder — by roughly six percent of a typical daily range, consistently on both indices. The effect is small but it is not noise. If the product keeps any volatility statement, this is the only direction the data supports, and it is the inverse of the everyday meaning of the word "avoid."

5. What this does not say

6. Reproduce it

The study is a script in the repository: scripts/outcome_study.py, with the method written up in docs/outcome-study-2026.md. Run it against any ticker and window:

python scripts/outcome_study.py --ticker SPY --start 2019-01-01 --end 2026-10-20