Research

Understand the math before you size up. 286 aligned sessions · sample prices, not a live signal

Hedge ratio (β)

-0.4721

OLS on log prices

Half-life

23.4 days

AR(1) on spread

Backtest Sharpe

-1.76

Rough, in-sample

Profit factor

0.60

5 simulated trades

Spread z-score

How this works

  1. Align QQQ and SPY daily adjusted closes.
  2. Regress log(QQQ) on log(SPY) → hedge ratio β.
  3. Spread = residual from that regression (should be stationary if pair is cointegrated).
  4. Z-score over 60 days. Enter at ±2, exit at 0, stop at ±3.
  5. Regime filter: half-life between 2–60 days. If spread drifts too long, the “edge” is probably gone.

Simulated trades (last sample)

EntryExitDirP&L%
2026-09-162026-11-06long spread1.02%
2026-06-262026-08-28short spread-1.93%
2026-04-202026-05-21long spread1.77%
2026-04-162026-04-17long spread-0.92%
2026-04-032026-04-15long spread-1.80%