HomeBlogRelative Strength Breakout Strategy: Testing Proxy-Based Intraday Breakouts With QQQ and DIA
Case StudyApril 18, 2026·7 min read

Relative Strength Breakout Strategy: Testing Proxy-Based Intraday Breakouts With QQQ and DIA

Daniel Ratke

Daniel Ratke

Research & Engineering

Relative Strength Breakout Strategy: Testing Proxy-Based Intraday Breakouts With QQQ and DIA

Term map

Backtesting vocabulary for this article

Treat signal timestamp, point-in-time universe, quote-aware fill, reject reason, replay artifact, walk-forward test, and cache key as first-class terms. They separate reproducible research from a backtest that only preserves the final performance table.

Follow the linked definitions for Point-in-time contracts, Quote-aware fills, Reject reasons, Replay artifact, Cache key, Signal timestamp, Look-ahead leakage, Walk-forward test, Slippage model, Same-bar fill, Promotion gate, and Options data API.

Repository reference: cutebacktests

Abstract

Relative-strength breakout strategies are often described too loosely. A trader says one symbol is stronger than the market and then treats that statement as a signal. In a research setting, that is not enough. The proxy has to be defined, the comparison has to be normalized, and the breakout still has to prove itself quickly enough to matter.

The c4 family in this repository formalized that problem. As summarized in Episode 8, the stock-level logic required the primary ticker to break its opening structure while outperforming a beta-adjusted proxy by a minimum relative-strength edge. The guard_v3 version tightened that edge, capped the proxy's own movement more aggressively, added a beta-shock veto, and forced the trade to prove itself quickly. Later repair work even introduced an SPY-to-DIA proxy override so the SPY sleeve could be benchmarked against a broader market proxy without disturbing the default map elsewhere.

For relative-strength context, compare this result with Dispersion and Relative-Strength Backtests: Proxy Series and Data Limits, Stock Aggregates and Indicators, and Backtesting Robustness. The test has to define the benchmark pair, proxy spread, rolling window, breakout threshold, OHLCV aggregate, z-score, sample count, PBO, and DSR before the result is interpretable.

Question

The practical question is not whether relative strength matters. It is how to define a relative-strength breakout strategy tightly enough that it can be tested and falsified.

That is exactly why the c4 branch is interesting. It takes a familiar discretionary idea and turns it into a code-faithful object. The primary symbol must be stronger than its proxy by a specified edge, the proxy's own move must stay controlled, and the breakout has to validate quickly instead of wandering around for a long time.

Method: How a Relative Strength Breakout Strategy Was Built Here

The c4 family uses a proxy-relative framing rather than a standalone breakout framing. The strategy does not ask only whether a ticker is breaking its opening structure. It asks whether that move is happening while the ticker is outperforming a chosen proxy after adjusting for beta and while the proxy itself is not exhibiting a movement pattern that invalidates the comparison.

This produces several useful controls:

  • a minimum relative-strength edge versus the proxy
  • caps on proxy movement so the comparison remains interpretable
  • a beta-shock veto
  • time pressure so the trade must prove itself quickly

In the SPY repair path, the repo added an SPY-to-DIA override. That is an especially useful example because it shows the proxy is not a decorative input. Changing the proxy can change what the branch is actually testing.

Evidence / Results

The c4 branch did not end as a winner, but it did become more interesting after repair. In Toward The One Piece Of Sharpe, the repaired stock stage restored realistic trade counts and later follow-ups reached 79 and 85 trade variants. That is an important result because it showed the earlier zero-trade collapse was not a valid scientific conclusion. Part of it was a launch bug around an empty writable DuckDB.

Even so, the branch was eventually parked. That outcome makes the strategy more educational, not less. It means the proxy-relative framing produced something real enough to study and still not strong enough to admit.

What Worked

What worked was the research framing itself. The c4 family is one of the repo's strongest examples of turning a discretionary concept into a measurable strategy. It asked a more sophisticated question than "did the symbol break out?" It asked whether the symbol broke out while outperforming a relevant proxy under a controlled relative-value regime.

The repair work also worked in an important sense. It prevented the wrong conclusion. Without fixing the launch issue and the proxy/path details, the branch might have been dismissed as dead when it was actually a near-miss.

What Failed

What failed was admission. The proxy-relative idea improved after repair and still did not clear the portfolio gate. That is an important negative result because it stops the public story from turning into "the bug fix rescued the strategy." The bug fix rescued the measurement. It did not automatically create a promotable branch.

The dispersion family also exposed that relative strength was not evenly distributed across sleeves. The QQQ-specific descendants were more compelling than SPY. That further shows why proxy selection and symbol decomposition matter. The family was not one homogeneous edge.

Takeaway

A relative strength breakout strategy is only meaningful if the proxy relationship is defined tightly enough to be tested. The c4 family is a good case study because it built that structure explicitly, learned something real from the repairs, and still failed the final admission bar.

If you want the symbol-level dispersion result, Dispersion Trading Backtest: QQQ vs SPY and Why the Signal Was Not Symmetric is the best companion. If you want the admission decision itself, Why c4 Was Parked: A Dispersion Strategy That Improved But Still Failed the Portfolio Gate carries the story into portfolio context. Join the research log to get the next backtest and failure report.

How the terminology applies

For Relative Strength Breakout Strategy: Testing Proxy-Based Intraday Breakouts With QQQ and DIA, the backtesting workflow should treat Point-in-time contracts, Quote-aware fills, Reject reasons, Replay artifact, Cache key, and Signal timestamp as operational state rather than glossary decoration. That framing keeps the research claim causal: the strategy can only select instruments, prices, and labels that existed at the decision time.

A developer implementing this Case Study idea should persist Look-ahead leakage, Walk-forward test, Slippage model, Same-bar fill, Promotion gate, and Options data API beside the result, instead of leaving those words in a term card. It also turns attractive performance into an auditable record where fills, skips, thresholds, and replay inputs can be challenged independently.

The review artifact for Relative Strength Breakout Strategy: Testing Proxy-Based Intraday Breakouts With QQQ and DIA becomes more useful when OPRA-originating data, OCC option symbol, Bid/ask spread, Midpoint, Quote/trade condition, and Quote vs trade semantics appear in the same body of evidence as the selected rows. When a result is promoted, these fields should appear in the run manifest, rather than a prose summary or final equity curve.

In production notes for this backtesting workflow, REST snapshot, WebSocket stream, Entitlement gate, Quote freshness, Timestamp semantics, and Pagination cursor define the checks that decide whether the workflow is reproducible. The result is a backtest that can be rerun, compared across threshold families, and rejected when the evidence is not strong enough.

For Relative Strength Breakout Strategy: Testing Proxy-Based Intraday Breakouts With QQQ and DIA, the practical acceptance test is simple: another developer should be able to read the body, identify the exact inputs, reproduce the request sequence, and explain the accepted and rejected rows without relying on the bottom terminology grid. If a phrase appears in the page vocabulary, it should correspond to a stored field, a validation check, a replay step, or an implementation decision in the backtesting workflow.

This is also the reason the article should not measure success only by the final chart, table, or headline metric. The better standard is whether the data path, timing model, entitlement state, and evidence trail survive review. When those pieces are written directly into the body, the terminology becomes part of the workflow readers can implement.

Terminology

Market-data terms used in this article

These terms keep the article connected to the CuteMarkets knowledge base and to the exact API workflow behind the research.

Point-in-time contracts

Contract discovery anchored to the research date so a backtest does not use future listings.

Quote-aware fills

Entry and exit assumptions based on bid/ask quotes, quote age, spread width, and side-specific fill rules.

Reject reasons

Logged explanations for skipped contracts or fills, including stale quote, wide spread, no bid, or missing data.

Replay artifact

The saved request, selection, fill, reject, and metric record that lets another developer audit the backtest.

Cache key

The structured identifier that keeps provider, endpoint, ticker, timestamp, plan, and schema state from being mixed.

Signal timestamp

The exact time a strategy made a decision, used to reconstruct the visible universe and quote window causally.

Look-ahead leakage

A research error where a fill, contract, indicator, or label uses information unavailable at decision time.

Walk-forward test

A validation method that repeatedly trains and evaluates across separated time windows instead of trusting one optimized sample.

Slippage model

A fill-cost assumption based on bid/ask side, midpoint, spread percent, quote age, and liquidity policy.

Same-bar fill

An intraday backtest assumption that can become invalid when signal, entry, stop, and target ordering is ambiguous.

Promotion gate

The written threshold that decides whether a research candidate can move into paper trading or production monitoring.

Options data API

The product surface for chains, contracts, quotes, trades, aggregates, Greeks, IV, open interest, and expirations.

OPRA-originating data

The U.S. listed-options source context behind quotes, trades, exchange participation, and consolidated option-market records.

OCC option symbol

The exact option contract identifier that preserves root, expiration, call or put side, and strike.

Bid/ask spread

The execution interval between bid and ask that determines whether a contract is realistically tradable.

Midpoint

The computed center between bid and ask, useful as a reference price but not proof that an order would fill.

Quote/trade condition

The condition-code, exchange, correction, sequence, and timestamp context that explains how a quote or trade row can be used.

Quote vs trade semantics

The distinction between executable bid/ask markets, printed transactions, and bar-level summaries.

REST snapshot

A reproducible request for current or historical market state, used for initialization, backfills, and audit logs.

WebSocket stream

A persistent live connection that needs subscription topics, reconnect tracking, freshness labels, and REST repair paths.

Entitlement gate

The product, plan, quote, live, delayed, historical, or commercial-use boundary checked before data is shown.

Quote freshness

The age, timestamp, and live or delayed state of a bid/ask record before it is used in a scanner, backtest, or UI.

Timestamp semantics

The exchange, provider, ingestion, session, and application time context attached to a market-data record.

Pagination cursor

The continuation token or next URL that keeps large chains, trades, quotes, and historical windows complete.

Daniel Ratke

Written by

Daniel Ratke

Research & Engineering

Daniel covers the deeper research notes: options backtesting, execution realism, robustness testing, data engineering, and strategy validation.