Strategy library · Mean reversion and bands

Z-score reversion backtest on NQ and ES futures

Z-score (20) at -2

Also called: z-score strategy, z-score -2 strategy, statistical mean reversion, buy when the 20-bar z-score drops below -2, short when the 20-bar z-score rises above +2

What happens if you buy NQ every time the 20-bar z-score drops below -2?

What it is

The 20-bar z-score measures how many standard deviations the close is from its 20-bar average. This strategy goes long when the z-score drops below -2 and short when it rises above +2, and exits when the z-score returns to 0.

What it did

On NQ futures from 2024-10-08 to 2026-10-07, the z-score reversion strategy took 648 trades on the 15-minute chart, won 57.6% of them and finished -952.75 points (-$19,055 on one NQ contract), before commission and slippage. From 2024-10-08 to 2026-10-07 on NQ, the 325 long trades on the 15-minute chart won 61.9% and made 239.75 points ($4,795 on one NQ contract), before commission and slippage. On ES futures from 2024-08-28 to 2026-08-27, the z-score reversion strategy took 670 trades on the 15-minute chart, won 56.7% of them and finished -130.75 points (-$6,537 on one ES contract), before commission and slippage. The 5-minute, 1-hour and daily results for both markets are in the table on this page.

How it was tested

CE Market Solutions tested the z-score reversion strategy on NQ (2024-10-08 to 2026-10-07) and ES (2024-08-28 to 2026-08-27) futures, before commission and slippage, with each signal filled at the next bar's open, intraday positions flat at 15:59 ET and textbook default indicator settings; the NQ trades are listed on this page and the ES trades under the ES tab.

See it tested with one change · $19

Tested by CE Market Solutions on 2026-10-26. The trades are listed below, one market at a time. Gross, no commission or slippage. Last 2 years.

Results

Rule as tested: Long when the 20-bar z-score drops below -2; short above +2. Exit: Z-score back to 0.

TimeframeNQ · 2024-10-08 to 2026-10-07ES · 2024-08-28 to 2026-08-27
TradesWin %Avg ptsProfit factorNet ptsNet $ (1 NQ)Max DD ptsTradesWin %Avg ptsProfit factorNet ptsNet $ (1 ES)Max DD pts
5 minute153361.1%−2.260.933−3,466.25−$69,3255,320.00151661.4%−0.260.960−389.00−$19,450802.75
5 minute · longs only78063.0%——−2,359.25−$47,1854,008.2578463.5%——2.75$138432.25
5 minute · shorts only75359.1%——−1,107.00−$22,1402,384.7573259.0%——−391.75−$19,587577.25
15 minute64857.6%−1.470.973−952.75−$19,0555,085.7567056.7%−0.200.981−130.75−$6,537798.00
15 minute · longs only32561.9%——239.75$4,7953,592.2534159.5%——164.75$8,238473.50
15 minute · shorts only32353.3%——−1,192.50−$23,8503,025.2532953.8%——−295.50−$14,775648.25
1 hour37948.3%−5.270.911−1,998.00−$39,9603,198.5042052.4%0.881.080370.75$18,538569.00
1 hour · longs only17755.4%——−1,190.50−$23,8102,704.7519256.8%——−74.00−$3,700516.75
1 hour · shorts only20242.1%——−807.50−$16,1501,423.2522848.7%——444.75$22,238237.00
Daily2171.4%107.181.4122,250.75$45,0152,858.751866.7%56.072.1811,009.25$50,463441.50
Daily · longs only988.9%——2,961.25$59,2251,085.501070.0%——1,082.00$54,100258.75
Daily · shorts only1258.3%——−710.50−$14,2103,482.50862.5%——−72.75−$3,637375.00

ES Daily: small sample (18 trades).

Free to use with credit to CE Market Solutions (CC BY 4.0).

NQ 15 minute: the equity line

Z-score (20) at -2, NQ 15 minute, 2024-10-08 to 2026-10-07. Cumulative points after each trade; low −4,312.50, high 773.25, last −952.75.

Long and short

SideTradesNet pts
Long325239.75
Short323−1,192.50

By month

MonthTradesNet pts
2024-1019−581.25
2024-112517.75
2024-1226−1,507.50
2025-0126268.00
2025-0225−638.00
2025-0330686.50
2025-0424344.00
2025-05271,083.50
2025-0632591.75
2025-0731226.50
2025-0825−827.00
2025-0928353.75
2025-1030−458.75
2025-1123−1,139.50
2025-1225218.25
2026-0130−374.00
2026-0226−1,030.25
2026-0324−968.50
2026-0428201.75
2026-0529214.50
2026-0634216.25
2026-07311,541.75
2026-0823408.75
2026-0923256.25
2026-104−57.25
Every trade, NQ 15 minute648 trades

Pick any of the 648 charted trades with Previous, Next or a date, or click a row in the trades table below, to see it drawn on the real 1-minute bars. Drag the chart sideways to move through the sessions around it.

Chart unavailable. The trades are in the table below.

All trades (648), newest first

Times are New York time; points are gross. Click a row to draw that trade in the chart above.

Session dateSideEntry (ET)Entry priceExit (ET)Exit priceExit reasonPoints
2026-02-20short10:4525061.0015:0025023.00z back to 038.00
2026-02-19long13:0024779.5015:5924863.50end of day 15:5984.00
2026-02-19short10:4524921.0011:4524842.00z back to 079.00
2026-02-18long14:4524926.0015:5924957.50end of day 15:5931.50
2026-02-18short10:1525043.0014:0025025.75z back to 017.25
2026-02-17short11:1524773.2515:5924777.00end of day 15:59−3.75
2026-02-17long10:1524499.2511:0024599.25z back to 0100.00
2026-02-17short09:4524701.2510:0024483.75z back to 0217.50
2026-02-16long09:4524723.5012:5924747.25early close23.75
2026-02-13long15:3024766.0015:5924802.00end of day 15:5936.00
2026-02-13short10:3024848.7515:0024852.25z back to 0−3.50
2026-02-12long09:4525309.0015:5924763.50end of day 15:59−545.50
2026-02-11long10:3025077.0012:3025290.00z back to 0213.00
2026-02-10long13:3025292.0015:5925219.75end of day 15:59−72.25
2026-02-10long09:4525310.0010:0025392.50z back to 082.50
2026-02-09short10:1525214.2515:3025364.00z back to 0−149.75
2026-02-06short10:3024904.5015:5925146.75end of day 15:59−242.25
2026-02-06short09:4524926.7510:1524769.75z back to 0157.00
2026-02-05long10:1524559.0011:4524784.00z back to 0225.00
2026-02-04long09:4525333.7514:4525025.75z back to 0−308.00
2026-02-03long09:4525752.5015:4525392.75z back to 0−359.75
2026-02-02short09:4525719.7515:0025847.25z back to 0−127.50
2026-01-30long12:0025758.2515:5925675.50end of day 15:59−82.75
2026-01-29long09:4525951.5013:3025846.25z back to 0−105.25
2026-01-28long10:1526216.2515:0026161.00z back to 0−55.25
2026-01-27short10:1526060.0015:5926076.00end of day 15:59−16.00
2026-01-27long09:4525959.2510:0026052.50z back to 093.25
2026-01-26short09:4525816.7515:0025879.00z back to 0−62.25
2026-01-23short10:0025668.0013:0025693.75z back to 0−25.75
2026-01-22long15:3025608.7515:5925662.00end of day 15:5953.25
2026-01-22long09:4525646.5011:3025672.50z back to 026.00
2026-01-21short14:4525557.7515:5925471.50end of day 15:5986.25
2026-01-21short10:0025323.5012:1525154.75z back to 0168.75
2026-01-20long14:3025161.0015:5925142.25end of day 15:59−18.75
2026-01-20short09:4525333.7512:4525291.75z back to 042.00
2026-01-19short11:1525380.0012:5925398.25early close−18.25
2026-01-19long09:4525245.7510:0025316.00z back to 070.25
2026-01-16long10:0025729.0014:4525709.50z back to 0−19.50
2026-01-15long14:3025799.0015:5925719.25end of day 15:59−79.75
2026-01-15short09:4525926.7510:4525851.50z back to 075.25
2026-01-14short15:4525587.0015:5925636.50end of day 15:59−49.50
2026-01-14long09:4525630.7515:1525554.00z back to 0−76.75
2026-01-13short09:4525990.0010:1525914.50z back to 075.50
2026-01-12short09:4525854.0015:5925952.25end of day 15:59−98.25
2026-01-09short10:3025854.2515:5925933.25end of day 15:59−79.00
2026-01-08long09:4525621.7515:1525655.25z back to 033.50
2026-01-07long15:4525833.0015:5925835.00end of day 15:592.00
2026-01-07short09:4525854.5014:3025899.50z back to 0−45.00
2026-01-06short09:4525666.2515:5925813.50end of day 15:59−147.25
2026-01-05long14:4525562.5015:5925586.75end of day 15:5924.25

← NewerPage 5 of 13Older →

Questions and answers

What happens if you buy NQ every time the 20-bar z-score drops below -2?

From 2024-10-08 to 2026-10-07 on the NQ 15-minute chart, the z-score reversion strategy took 325 long trades, won 61.9% of them and made 239.75 points ($4,795 on one NQ contract), before commission and slippage. From 2024-10-08 to 2026-10-07 on NQ, its long trades also made -2,359.25 points on 780 trades on the 5-minute chart, -1,190.50 points on 177 trades on the 1-hour chart and 2,961.25 points on 9 trades on the daily chart, before commission and slippage.

What happens if you short ES every time the 20-bar z-score rises above +2?

From 2024-08-28 to 2026-08-27 on the ES 15-minute chart, the z-score reversion strategy took 329 short trades, won 53.8% of them and made -295.50 points (-$14,775 on one ES contract), before commission and slippage. From 2024-08-28 to 2026-08-27 on ES, its short trades also made -391.75 points on 732 trades on the 5-minute chart, 444.75 points on 228 trades on the 1-hour chart and -72.75 points on 8 trades on the daily chart, before commission and slippage.

Does the z-score reversion strategy work on Nasdaq futures?

On NQ futures from 2024-10-08 to 2026-10-07, the z-score reversion strategy on the 15-minute chart took 648 trades, won 57.6% of them and finished -952.75 points (-$19,055 on one NQ contract), before commission and slippage.

What is the win rate of Z-score (20) at -2 on ES futures?

The z-score reversion strategy won 56.7% of its 670 trades on the ES 15-minute chart from 2024-08-28 to 2026-08-27, before commission and slippage. On ES from 2024-08-28 to 2026-08-27 it also won 61.4% of 1,516 trades on the 5-minute chart, 52.4% of 420 trades on the 1-hour chart and 66.7% of 18 trades on the daily chart, before commission and slippage.

Is the z-score reversion strategy better on the 5-minute, 15-minute, 1-hour or daily chart for NQ?

On NQ from 2024-10-08 to 2026-10-07, the z-score reversion strategy made -3,466.25 points on 1,533 trades on the 5-minute chart, -952.75 points on 648 trades on the 15-minute chart, -1,998.00 points on 379 trades on the 1-hour chart and 2,250.75 points on 21 trades on the daily chart, before commission and slippage.

Is it better to only buy or only sell z-score reversion signals on NQ?

On the NQ 15-minute chart from 2024-10-08 to 2026-10-07, the long trades made 239.75 points on 325 trades (61.9% won) and the short trades made -1,192.50 points on 323 trades (53.3% won), before commission and slippage.

How many trades does the z-score reversion strategy take on NQ in two years?

The z-score reversion strategy took 648 trades on the NQ 15-minute chart from 2024-10-08 to 2026-10-07, before commission and slippage. On NQ from 2024-10-08 to 2026-10-07 it also took 1,533 on the 5-minute chart, 379 on the 1-hour chart and 21 on the daily chart, before commission and slippage.

What is the max drawdown of the z-score reversion strategy on NQ?

The z-score reversion strategy had a max drawdown of 5,085.75 points ($101,715 on one NQ contract) on the NQ 15-minute chart from 2024-10-08 to 2026-10-07, before commission and slippage. On NQ from 2024-10-08 to 2026-10-07 its max drawdown was also 5,320.00 points on the 5-minute chart, 3,198.50 points on the 1-hour chart and 2,858.75 points on the daily chart, before commission and slippage.

How does the z-score reversion strategy do on ES compared with NQ?

On the ES 15-minute chart from 2024-08-28 to 2026-08-27, the z-score reversion strategy took 670 trades, won 56.7% of them and made -130.75 points (-$6,537 on one ES contract), before commission and slippage. On the NQ 15-minute chart from 2024-10-08 to 2026-10-07, the z-score reversion strategy took 648 trades, won 57.6% of them and made -952.75 points (-$19,055 on one NQ contract), before commission and slippage.

How these were run

  • Gross: no commission and no slippage.
  • The last 2 years of each market, from the first to the last session of its window.
  • A signal on a closed bar fills at the next bar’s open.
  • A stop and a target touched in the same minute count as the stop.
  • Intraday positions are flat at 15:59 ET.
  • Textbook TradingView default settings for every indicator; nothing is tuned.

Want your own rules tested the same way?