Skip to main content
This is the deep end. You’ll trade the relationship between two markets instead of either one outright, fade a statistical stretch in that relationship, and only do it when the big commercial players and the markets’ own correlation both agree. It pulls together four advanced ideas at once. If z-scores or Commitment-of-Traders data are new to you, read signals & indicators and the trend-pullback tutorial first.
You’ll learn: a two-market spread (ES minus NQ), a 20-bar z-score reversion trigger, a weekly COT positioning bias, a 30-bar rolling correlation gate, and exits at the mean or a dollar stop. Time: about fifteen minutes.

The idea, in plain English

Four conditions working together:
  • The instrument — the ES minus NQ spread, treated as one synthetic series.
  • The trigger — when the spread’s 20-bar z-score climbs above +2 it’s stretched unusually wide, so short the spread, betting it snaps back.
  • The bias — only when commercials are net short ES in the weekly Commitment-of-Traders report (the hedgers’ positioning agrees with the fade).
  • The gate — only when the two markets’ 30-bar rolling correlation is above 0.8 (they’re moving together tightly enough for a spread trade to make sense).
  • The exitscover at the mean (z-score back to 0) or on a $1,000 stop.
“Short the spread” means short the leg that’s rich and long the leg that’s cheap — here, short ES and long NQ — so you profit if the gap narrows, regardless of whether both markets rise or fall together.

Step 1 — Describe it

Type it as one connected idea. AskFutures handles the spread construction, the z-score window, the weekly COT lookup, and the correlation gate from this single description:
Trade the ES-NQ spread: when the spread’s 20-bar z-score exceeds +2 and commercials are net short ES in the weekly COT, short the spread; cover at the mean or on a $1,000 stop. Only when the two markets’ 30-bar rolling correlation is above 0.8.
Spreads behave differently from a single market — there’s no opening-range or intraday-session breakout to lean on. State your exits explicitly (mean and dollar stop, as above) so AskFutures doesn’t fall back to a default it has to guess at.

Step 2 — Read the strategy card

There’s a lot packed into this one. Walk the card top to bottom and confirm each piece.
1

Markets

Two markets in play: the strategy trades the ES-NQ spread, and it also reads ES and NQ individually for the correlation gate and the ES COT bias. See futures & symbols.
2

The spread series

ES - NQ, built as a single series the z-score is measured on. This is the instrument you’re trading, not a side calculation.
3

Entry trigger

Short the spread when its 20-bar z-score is above +2 — two standard deviations rich versus its own recent average.
4

COT bias filter

Commercials net short ES in the weekly report. COT is a 1w source, so the weekly positioning is held constant across the bars inside that week. See where data comes from.
5

Correlation gate

30-bar rolling correlation between ES and NQ above 0.8. When the two decouple, the spread stops mean-reverting reliably — so the gate stands the strategy down.
6

Exits

Cover at the mean (z-score returns toward 0) or a $1,000 stop — whichever comes first. See risk & trade management.
The Strategy Flow chart makes the gating order clear:
COT data is weekly and reported with a lag — the published positioning reflects a snapshot from earlier in the week, not the live tape. Treat it as a slow-moving bias, not a precise timing tool. Check the Assumptions notes on the card for exactly how the weekly series is aligned to your bars.

Step 3 — Backtest and read the results

Backtest it.
With four conditions stacked — and one of them a slow weekly COT bias — expect a small number of trades. That’s expected for a selective reversion strategy; the filters are doing exactly what you asked.
Backtest results are hypothetical and simulated. No real trades were placed, so live outcomes can differ — and spreads add their own wrinkle: you’re paying modeled slippage and commission on both legs, and real two-leg execution can differ from a replay. Reported P&L is net of modeled slippage (default 1 tick) and commission (default $2.50/side for full-size contracts). Past performance — actual or simulated — does not guarantee future results. Always test before you trade.
What to check, in order:
Four filters can leave you with very few — or zero — trades. If it’s too sparse to judge, relax one gate (correlation above 0.7, or z-score above 1.5) and re-run.
Mostly cover at mean exits is the shape you’re hoping for — stretches that snapped back. A run of stop exits suggests the spread kept widening, often a sign the correlation gate let through a regime that was actually breaking down.
Compare against a version with the COT filter removed (next step) to see whether the positioning bias actually earned its place.

Step 4 — Iterate

Change one condition at a time and compare versions to isolate what each filter contributes.
Remove the COT filter and backtest again.
Loosen the correlation gate to 0.7.
Use a z-score threshold of +1.5 instead of +2.
Also take the long side: buy the spread when the z-score drops below -2.
Optimize the z-score threshold and the correlation gate.
Handing the z-score level and correlation threshold to the optimizer is the natural way to map out which combinations would have held up — without running each one by hand.
This example is illustrative, not a recommendation. It exists to exercise a two-market spread, a z-score trigger, a weekly COT bias, a rolling-correlation gate, and dollar-stop exits all at once — not because this exact combination is profitable. Use it to learn the mechanics, then build and test your own ideas.

Next steps

Where data comes from

How COT, correlation, and continuous-contract data are sourced and aligned.

Signals & indicators

Z-score, rolling correlation, and the spread builder explained.

Version & compare

Run the strategy with and without each filter, side by side.

Is the backtest real?

Why even a complex strategy produces the same numbers every time.