Strategy Detail
VIX Spike Fade
Long ES at the close after a VIX spike. Time-based exit, no stops. A direct take on the old "buy when there is blood in the streets" idea.
Sample runs (3)
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.
Presets (5)
Named parameter bundles for this family. Pick one to see its parameters and pre-fill the New Backtest form. The form lets you adjust contract, date range, and capital before running.
Preset
Classic VIX > 30, Hold 5
Buy ES at the close when VIX closes at or above 30. Hold for five daily bars, then flatten. The textbook fear-fade setup.
Preset
Aggressive VIX > 25, Hold 5
Lower trigger at 25 fires more often than the classic 30. Expect more trades and a higher share of false starts during slow grinds higher in vol.
Preset
Extreme VIX > 40, Hold 5
Only fires on rare panic closes above 40. Few trades; the ones that hit tend to coincide with the steepest drawdowns and the sharpest rebounds.
Preset
Relative Spike +30%, Hold 5
Triggers when today's VIX closes 30% above its trailing 20-day mean. Adapts to regime: a 30% jump from a 12 base is very different from one from a 25 base.
Preset
Long Hold (VIX > 30, Hold 10)
Same 30 trigger as the classic preset, but holds for ten daily bars instead of five. Captures more of the recovery when one happens; bleeds longer when it does not.