Join waitlist
Strategies / Mean reversion / Volatility Spike Mean Reversion

Volatility Spike Mean Reversion

The strategy buys when a volatility spike is confirmed on consecutive bars and the close is below the lower Bollinger Band, expecting a rebound. It sells the long when the close rises above the upper Bollinger Band.

Mean reversionLong onlySwingS&P 500Daily
3.81Profit factor
5,218Net profit EUR
77.14%Win rate
140Trades
-1,190Max drawdown
37.27Avg trade

Best run of 25. S&P 500, Daily, spread 1, from run pf:2026-10-05-USA500-D.tsv:6.

Entry rules, long

  1. Vix Fix spikes: it is at or above its 20-bar upper Bollinger band or 0.85 times its 50-bar highest value
  2. The spike is on for the current bar and the previous bar
  3. No long position is currently open

Exit rules

  1. The close moves above the upper Bollinger Band (20 periods, 2 standard deviations), and the long closes at market

Test conditions

PeriodUp to 2026-10-05
InstrumentS&P 500, Daily
Spread1 points
Starting capital1,000,000
CostsSpread only. Commissions and overnight financing are not included.
BarsUp to 200,000 bars, fewer where the instrument has less history
Last tested2026-10-05

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
S&P 500Best runDaily3.81 14077.145,218 EUR-1,190
Nikkei 2251 hour1.38 88765.3941,536 USD-9,011
USD/JPY4 hoursn/a 33364.86532,910 USD-177,370
Dow JonesDailyn/a 13576.3038,320 EUR-9,762
Nikkei 225Dailyn/a 11171.1729,874 USD-22,755
Dow Jones4 hoursn/a 9677.0821,361 EUR-10,364
Nikkei 2254 hoursn/a 21967.1218,103 USD-9,460
DAX 40Dailyn/a 14362.9417,935 EUR-5,511
Nasdaq 1004 hoursn/a 29173.2016,901 EUR-4,471
Nikkei 22515 minn/a 1,83462.2115,375 USD-14,878
Dow Jones1 hourn/a 41965.8713,590 EUR-7,317
Nasdaq 100Dailyn/a 9171.4312,939 EUR-6,091
Dow Jones15 minn/a 1,52265.4411,546 EUR-8,411
Dow Jones30 minn/a 77863.7510,084 EUR-7,522
Nasdaq 1001 hourn/a 1,23362.539,803 EUR-4,217
FTSE 100Dailyn/a 11275.009,474 EUR-2,722
SilverDailyn/a 11866.959,242 USD-8,263
FTSE 1001 hourn/a 1,09867.675,989 EUR-2,754
FTSE 1004 hoursn/a 26566.423,801 EUR-2,781
S&P 5004 hoursn/a 29171.483,799 EUR-1,149
Dow Jones2 minn/a 1,71263.613,192 EUR-2,757
FTSE 10010 minn/a 1,81665.142,520 EUR-1,672
S&P 5001 hourn/a 1,23664.082,246 EUR-1,131
GoldDailyn/a 11464.911,150 EUR-856
Gold4 hoursn/a 26965.80954 EUR-823

Charts

Results by run

Top 10 of 25 runs. The full list is in the table above.

Above 1.0 made money, below 1.0 lost money.

The code

ProBuilder code, as tested

// ==============================================================
// Volatility Spike Mean Reversion
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Mean reversion
// Direction: Long only
// Timeframe tested: Daily
// ==============================================================

DEFPARAM CumulateOrders = false

basis = Average[20](close)
dev = 2.0 * STD[20](close)
upper = basis + dev
lower = basis - dev

hh = Highest[20](close)
wvf = ((hh - low) / hh) * 100
midline = Average[20](wvf)
upperband = midline + 2.0 * STD[20](wvf)
rangehigh = Highest[50](wvf) * 0.85

spike = 0

13 more lines: the entry and exit rules.

Setup

How to load it

  1. Copy the code with the copy button on the code block.
  2. In ProRealTime, open a chart of the instrument and timeframe you want to test, then open ProOrder > New trading system and choose "Create with programming".
  3. Paste the code, give the system a name and save it.
  4. Click "Backtest", set your own spread and position size, and run it before you consider trading it live.

Indicators used

Bollinger BandsSMAStandard Deviation
Longer historyRe-run on up to 1,000,000 barsS&P 500 · Daily · older data 0.00 EUR

S&P 500 had no history beyond the standard run, so both runs used 14,000 bars.

S&P 500 · Daily

Bars available14,000
Net, standard 200,000-bar run5,217.65 EUR
Net, long run5,217.65 EUR
Net on the older data alone0.00 EUR
Read this firstKnown weaknesses2 points
  • The code sets no stop loss, so a losing trade stays open until an exit signal arrives.
  • Results include the spread only. Commissions and overnight financing are not included.

Questions

About this strategy

Can I run Volatility Spike Mean Reversion in ProOrder?

Yes. The code is ProBuilder and runs as an automated ProOrder system. Backtest it on your own account with your own spread and position size before trading it live.

Which markets was it tested on?

It was tested on 25 market and timeframe combinations. The best run was S&P 500, Daily, with a profit factor of 3.81 over 140 trades.

How large was the drawdown?

The best run had a maximum drawdown of 1,190 EUR at the tested position size, against a net result of 5,218 EUR.

Does it trade long, short or both?

It only takes long trades.

Related

Strategies like this one

Trend Surfer

Uses the same indicator.

1.04 PF · 10,813 trades

CCI Sign With EMA Alignment

Best run on the same market, S&P 500.

1.23 PF · 1,253 trades

Turnaround Tuesday

Also a mean reversion strategy.

3.80 PF · 39 trades

Want strategies that are already part of a live portfolio? Join the ProRealAlgos waitlist.

Copy trading on US indices is available to ProRealAlgos members as spots open.

Past backtest results do not guarantee future results. This is not financial advice. Curated and maintained by ProRealAlgos. ProRealTime™ is a trademark of ProRealTime SAS. prorealalgos.comStatsDocs