Episode 9: Why QQQ Beat SPY In Dispersion Options
CuteMarkets Team
Research

Scope
This episode follows the most interesting research branch still not promoted: the QQQ-only dispersion sleeve.
The main evidence is concentrated in the April 11 to April 18 section of RUNS.md, together with decision_gate.json.
Result Snapshot
Three results define the branch.
First, the strict-causal reruns showed the symbol split clearly:
SPY-only stayed negative or weakQQQ-only stayed positive
Second, infrastructure fixes mattered:
- quote-loader repair eliminated quote starvation as the dominant blocker
- session-bar cache and proxy-data repair removed a false parity gap
- dynamic overlay generation removed stock-to-option drift
Third, even after those fixes, the branch still ended research_only because of sample size.
Representative results:
- strict-causal rerun:
QQQsingle+20.81%on5trades, vertical+10.85%on8trades - patched combined rerun: single
+5369.05on7trades, vertical+8150.18on11trades - direct Stage B QQQ replay:
qqq_single_base9trades,+44537.92;qqq_single_volume15_v110trades,+32998.35 - positive-unlock replay:
qqq_single_base9trades,+9079.91;qqq_single_volume15_v117trades,+326.53
Strategy Context
The QQQ sleeve is not an entirely separate strategy family. It is a specialized descendant of the c4 dispersion-relative breakout logic. At the stock level, the branch uses QQQ-specific variants of the dispersion breakout seed, changing relative-volume floors, beta-shock tolerance, and entry thresholds to find a denser but still positive stock winner. At the option level, the repo then derives overlays from the selected stock winner instead of hard-coding a fixed option alias. This is important because it keeps the option expression aligned with the actual stock signal that survived Stage A.
The two main option overlays discussed in this branch are simpler than their names make them sound. qqq_single_base is the standard single-leg option overlay derived from the selected stock seed. qqq_single_volume15_v1 is the same basic overlay with one meaningful extra requirement: minimum option entry volume of 15 contracts at both the leg and structure level. The comparison therefore isolates a scientifically useful question. Does demanding more entry-bar options liquidity improve the branch enough to offset the trades it removes?
Why The Branch Improved
The most interesting part of this story is that the repo did not just find a better threshold. It found a better diagnosis.
The early combined branch looked worse partly because:
- fixed option overlays no longer matched the selected stock seed
- quote availability was broken in the loader path
- some parity gaps were due to missing proxy/session data
Once those issues were repaired, the signal got cleaner:
extra_option_attempt_countfell to0stock_signal_drift_symbolsstayed empty- quote rejects fell sharply
- the preferred overlay changed from
qqq_single_volume15_v1toqqq_single_base
That change in winner ranking is not trivial. It means the branch stopped confusing execution cleanliness with execution edge. A stricter entry-volume filter can make a backtest look more institutionally respectable, but if it removes too much of the economically good sample, it can reduce the value of the sleeve. The repo's final posture on volume15 is therefore nuanced: it is a useful control, but not the retained anchor.
That is exactly what a scientific process should do. It should convert "the strategy looks noisy" into "which layer of the pipeline is introducing the noise?"
What Worked
Two things worked especially well.
First, the symbol decomposition was informative. The repo learned that dispersion strength was not evenly distributed across SPY and QQQ. QQQ was the actual signal carrier.
Second, the dynamic overlay fix was not cosmetic. It changed the winner ranking and reduced parity drift. That is a real research result, not just an engineering note.
The best QQQ evidence still comes with caveats, but it is not hand-wavy anymore. It has:
- positive economic results
- cleaner parity
- explicit robustness diagnostics such as largest-winner share and leave-one-out minimum PnL
What Did Not Work
Three negative results remain.
-
SPYstill did not cooperate. The repo repeatedly tried to repair theSPYsleeve, and the best positive SPY vertical remained extremely sparse. -
Sample size is still too small. The QQQ density gate explicitly required more stock and options trades than the branch could deliver consistently.
-
The denser positive-unlock follow-up did not preserve quality well enough to replace the base anchor.
qqq_single_volume15_v1got to17trades in one positive-unlock replay, but its total PnL and leave-one-out robustness still did not beatqqq_single_base.
That is why the lane stayed research_only.
This is worth emphasizing because it is exactly the kind of branch that invites premature promotion. A reader who sees +44537.92 on 9 trades or +20.81% on 5 trades may feel that the repo is being too conservative. The better interpretation is that the repo is finally behaving like a portfolio researcher rather than a chart collector. Large positive totals on thin samples are hypotheses, not admissions tickets.
Why This Week Matters
This is one of the most valuable episodes in the whole journey because it contains both a real positive result and a real refusal to overclaim it.
In light One Piece language, this branch found a promising island but did not yet declare it the final one.
That is exactly the tone public research should have.
Public Build Takeaway
The right lesson to publish is:
- symbol-specific sleeves matter
- QQQ carried more dispersion signal than SPY in this repo
- fixing the data and overlay path changed the conclusion materially
- even strong-looking QQQ results remain unpromoted because sample is thin
That combination of excitement and restraint is what makes the branch worth following publicly.
Product links
Build the workflow with CuteMarkets
This article is part of the broader CuteMarkets product and research stack. Use the landing pages below to move from the blog into the specific API workflow you want to evaluate.
Options Data API
See the canonical product page for real-time and historical options data.
Historical Options Data API
Inspect the historical contracts, quotes, trades, and aggregates workflow.
Options Chain API
Go straight to chain snapshots, expirations, and strike discovery.
Pricing
Review plans before you move from free evaluation into production usage.