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.
| Timeframe | NQ · 2024-10-08 to 2026-10-07 | ES · 2024-08-28 to 2026-08-27 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Trades | Win % | Avg pts | Profit factor | Net pts | Net $ (1 NQ) | Max DD pts | Trades | Win % | Avg pts | Profit factor | Net pts | Net $ (1 ES) | Max DD pts | |
| 5 minute | 1533 | 61.1% | −2.26 | 0.933 | −3,466.25 | −$69,325 | 5,320.00 | 1516 | 61.4% | −0.26 | 0.960 | −389.00 | −$19,450 | 802.75 |
| 5 minute · longs only | 780 | 63.0% | — | — | −2,359.25 | −$47,185 | 4,008.25 | 784 | 63.5% | — | — | 2.75 | $138 | 432.25 |
| 5 minute · shorts only | 753 | 59.1% | — | — | −1,107.00 | −$22,140 | 2,384.75 | 732 | 59.0% | — | — | −391.75 | −$19,587 | 577.25 |
| 15 minute | 648 | 57.6% | −1.47 | 0.973 | −952.75 | −$19,055 | 5,085.75 | 670 | 56.7% | −0.20 | 0.981 | −130.75 | −$6,537 | 798.00 |
| 15 minute · longs only | 325 | 61.9% | — | — | 239.75 | $4,795 | 3,592.25 | 341 | 59.5% | — | — | 164.75 | $8,238 | 473.50 |
| 15 minute · shorts only | 323 | 53.3% | — | — | −1,192.50 | −$23,850 | 3,025.25 | 329 | 53.8% | — | — | −295.50 | −$14,775 | 648.25 |
| 1 hour | 379 | 48.3% | −5.27 | 0.911 | −1,998.00 | −$39,960 | 3,198.50 | 420 | 52.4% | 0.88 | 1.080 | 370.75 | $18,538 | 569.00 |
| 1 hour · longs only | 177 | 55.4% | — | — | −1,190.50 | −$23,810 | 2,704.75 | 192 | 56.8% | — | — | −74.00 | −$3,700 | 516.75 |
| 1 hour · shorts only | 202 | 42.1% | — | — | −807.50 | −$16,150 | 1,423.25 | 228 | 48.7% | — | — | 444.75 | $22,238 | 237.00 |
| Daily | 21 | 71.4% | 107.18 | 1.412 | 2,250.75 | $45,015 | 2,858.75 | 18 | 66.7% | 56.07 | 2.181 | 1,009.25 | $50,463 | 441.50 |
| Daily · longs only | 9 | 88.9% | — | — | 2,961.25 | $59,225 | 1,085.50 | 10 | 70.0% | — | — | 1,082.00 | $54,100 | 258.75 |
| Daily · shorts only | 12 | 58.3% | — | — | −710.50 | −$14,210 | 3,482.50 | 8 | 62.5% | — | — | −72.75 | −$3,637 | 375.00 |
ES Daily: small sample (18 trades).
Free to use with credit to CE Market Solutions (CC BY 4.0).
ES daily: the equity line
Long and short
| Side | Trades | Net pts |
|---|---|---|
| Long | 10 | 1,082.00 |
| Short | 8 | −72.75 |
By month
| Month | Trades | Net pts |
|---|---|---|
| 2024-10 | 1 | 74.25 |
| 2024-11 | 2 | 353.50 |
| 2024-12 | 1 | 87.75 |
| 2025-02 | 1 | −244.75 |
| 2025-04 | 1 | −14.00 |
| 2025-05 | 1 | −70.50 |
| 2025-06 | 1 | −112.25 |
| 2025-09 | 1 | 20.75 |
| 2025-10 | 1 | 151.00 |
| 2025-11 | 1 | 150.25 |
| 2026-01 | 1 | 138.00 |
| 2026-02 | 1 | 199.50 |
| 2026-03 | 1 | −49.00 |
| 2026-04 | 1 | −364.00 |
| 2026-06 | 1 | 299.75 |
| 2026-07 | 1 | 293.00 |
| 2026-08 | 1 | 96.00 |
Every trade, ES daily18 trades
Daily results show the table and the equity line; there is no chart viewer for them yet.
All trades (18), newest first
Times are New York time; points are gross.
| Session date | Side | Entry (ET) | Entry price | Exit (ET) | Exit price | Exit reason | Points |
|---|---|---|---|---|---|---|---|
| 2026-08-05 | short | 2026-08-04 18:00 | 7772.00 | 2026-08-24 18:00 | 7676.00 | z back to 0 | 96.00 |
| 2026-07-30 | long | 2026-07-29 18:00 | 7338.00 | 2026-08-03 18:00 | 7631.00 | z back to 0 | 293.00 |
| 2026-06-11 | long | 2026-06-10 18:00 | 7259.25 | 2026-06-15 16:59 | 7559.00 | z back to 0 | 299.75 |
| 2026-04-15 | short | 2026-04-14 18:00 | 7004.00 | 2026-06-07 18:00 | 7368.00 | z back to 0 | −364.00 |
| 2026-03-09 | long | 2026-03-08 18:00 | 6685.50 | 2026-04-07 18:00 | 6689.00 | z back to 0 | −49.00 |
| 2026-02-06 | long | 2026-02-05 18:00 | 6785.50 | 2026-02-09 18:00 | 6985.00 | z back to 0 | 199.50 |
| 2026-01-21 | long | 2026-01-20 18:00 | 6839.00 | 2026-01-26 18:00 | 6977.00 | z back to 0 | 138.00 |
| 2025-11-19 | long | 2025-11-18 18:00 | 6630.75 | 2025-11-25 18:00 | 6781.00 | z back to 0 | 150.25 |
| 2025-10-28 | short | 2025-10-27 18:00 | 6914.00 | 2025-11-06 18:00 | 6763.00 | z back to 0 | 151.00 |
| 2025-09-12 | short | 2025-09-11 18:00 | 6596.25 | 2025-10-12 18:00 | 6632.00 | z back to 0 | 20.75 |
| 2025-06-25 | short | 2025-06-24 18:00 | 6144.75 | 2025-08-03 18:00 | 6257.00 | z back to 0 | −112.25 |
| 2025-05-13 | short | 2025-05-12 18:00 | 5868.00 | 2025-06-19 18:00 | 5994.00 | z back to 0 | −70.50 |
| 2025-04-04 | long | 2025-04-03 18:00 | 5423.00 | 2025-04-23 18:00 | 5409.00 | z back to 0 | −14.00 |
| 2025-02-25 | long | 2025-02-24 18:00 | 6006.50 | 2025-03-24 18:00 | 5813.00 | z back to 0 | −244.75 |
| 2024-12-20 | long | 2024-12-19 18:00 | 5944.50 | 2025-01-19 18:00 | 6032.25 | z back to 0 | 87.75 |
| 2024-11-08 | short | 2024-11-07 18:00 | 6007.75 | 2024-12-18 18:00 | 5949.50 | z back to 0 | 132.00 |
| 2024-11-01 | long | 2024-10-31 18:00 | 5742.00 | 2024-11-06 18:00 | 5963.50 | z back to 0 | 221.50 |
| 2024-10-15 | short | 2024-10-14 18:00 | 5914.25 | 2024-10-30 18:00 | 5840.00 | z back to 0 | 74.25 |
Page 1 of 1
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?