What It Does

VIX Spike Fade runs on daily bars and trades two contracts: ES (the position) and VX (the signal). It never trades VX. It only reads its close to decide whether ES should be long.

On every daily close where both ES and VX print a bar:

  • If the strategy is flat and today’s VIX close is at or above the trigger, it buys ES at the close.
  • If the strategy is in a position, it counts the bars since entry. Once the hold window expires, it flattens at the close.

There are no stops, no profit targets, and no short side. The exit is purely time-driven.

The default preset enters when VIX closes at or above 30 and holds for five daily bars. The logic is the textbook one: high fear closes tend to be followed by some kind of relief rally, and an unconditional time exit gives that thesis room to play out without a stop chopping it short.

Two Modes

The trigger has two modes, picked at the form:

  • Absolute uses a single VIX level (default 30). It is simple and easy to reason about. The downside is that VIX regimes drift. A 30 close in 2017 was a once-a-year event. In March 2020 the VIX stayed above 30 for months on end and a single 30 print told you almost nothing.
  • Relative compares today’s close to the trailing N-day mean (default 20) and fires when today is at least X% above it (default 30%). A spike of “30% above the trailing average” means something different in a 12-VIX regime than in a 25-VIX regime. The relative mode adapts, at the cost of being slower to fire after a fast rise in vol because the mean catches up.

There is no single right answer. The presets ship both shapes so the two can be compared on the same backtest window.

Honest Failure Modes

The first thing to know about this strategy is that 2008 and 2020 happened. A VIX > 30 trigger in October 2008 caught a knife: the VIX went on to print 80 in the same month and ES kept falling for weeks. Same story in March 2020. A simple absolute trigger with no stop will sit through every one of those bars. The time exit eventually flattens, but the realized loss on those few trades can swamp the wins from a decade of normal spikes.

The second thing is regime sensitivity. A threshold tuned to one regime is rarely the best choice for the other. 30 was a meaningful number in the low-vol stretch from 2012 to 2019 and an everyday number in 2020. Any single absolute level is a compromise. The relative mode tries to address this directly, but it has its own blind spot: a slow, persistent rise in vol can keep the trailing mean rising too, so the spike condition never triggers even though the absolute level looks scary.

The third thing is sample size. The strategy fires rarely. Across most multi-year windows you are looking at tens of trades, not hundreds, which makes the metrics noisy. One badly timed entry in a 2008-style stretch can move the equity curve more than the rest of the sample combined.

Best In

  • Daily-bar research. The whole strategy is designed around end-of-session VIX prints and the next several daily closes. Intraday detail is ignored.
  • Studies that want a clean, easy-to-explain baseline for “fade the fear” trades. There is nothing else to tune once the threshold and hold are chosen.
  • Comparing absolute vs relative trigger logic on the same window. Running the classic 30 preset side by side with the relative +30% preset gives a direct feel for how regime adaptation changes the trade list.

Possible Uses

  • A reference for any more elaborate VIX-aware ES strategy. Anything fancier should beat this baseline on a clean out-of-sample window.
  • A starting point for layered ideas. The same trigger can be filtered by trend, by sector breadth, or by a regime classifier to see if the fade only works under specific conditions.
  • A stress test of the “VIX spikes mean revert” claim across different multi-year windows.

What It Does Not Do

  • No stops, no targets, no scaling. The hold window is the only exit path.
  • No short side. Every entry is long ES.
  • No position sizing logic beyond a fixed contract count.
  • No VX trade. The VIX futures series is read for signal only.

Test this strategy

Run it on your contracts, timeframes, and parameters.