← All ideas
#068NewTrendSwing

Panic hedge: long VXX on a Keltner channel breakout

Laurens Bensdorp keeps a standing buy stop on VXX above a 10-day Keltner channel and exits at the three-day low. Most trades lose: the hedge is there for panic days, when the whole long portfolio falls.

The Algorithmic Advantage · Laurens Bensdorp · Watch video

Markets

Futures, Indices

Timeframe

D1

Data

OHLC

Rules

Author's rules

Difficulty

Medium

Status

Untested

The author named entry, exit and parameters.

TradingView has pitfalls
EasyLanguage has pitfalls
MetaTrader 5 needs data or workarounds

Idea in brief

Laurens Bensdorp trades 55 strategies on stocks and ETFs. In a sharp crash, long systems lose at the same time, however they are diversified: when the S&P 500 falls 3-4% in a day, everything is in the red. For such days Bensdorp has three kinds of hedges. The trend-following index short for a catastrophe is described in the index-crash-hedge card. Mean reversion shorts work in a prolonged bear market. The third kind, long volatility for a sudden panic, is described here.

A buy stop sits permanently on VXX, an ETN on short-term VIX futures, above a 10-day Keltner channel. A panic candle up fills the order the same day. The exit is at the low of the last three days. Most trades lose, and the author does not hide it: the strategy is meant to make money on the days when everything else loses.

The parameters differ between the two episodes. In #025 the channel is 1 ATR wide and the exit is named. In #042 the width is 2 ATR, and the exit is not named. Both variants are below.

Why it might work

When stocks are sold off, expected volatility jumps and VIX products soar. The author's other hedges may not work in the first days of a panic. Trend-following shorts wait for a cross of the 100- or 200-day average. Mean reversion shorts need a pullback and stay out of the market in a rapid decline. A buy stop on VXX closes this hole: if a panic has started, the position opens immediately.

In #025 the author describes the scenario the hedge was built for. It is a V-shaped crash with a quick rebound. Trend-following and countertrend longs are stopped out, shorts have not had time to enter, and the portfolio is left unprotected. In the author's words, the hedge must be in position at the slightest sign of a spike, whatever it costs in calm years.

The price of such insurance is high. Volatility ETFs and ETNs melt away in calm periods, and the author speaks of a strong downward drift. The hedge's long-term equity curve falls into a deep drawdown. The author suggests looking not at that curve but at the spikes in crises, and judging the hedge only together with the long portfolio. The figures in the interviews are approximate, and there is no test with a report.

Rules

Channel and entry (author, channel construction by Finetiq)

// daily VXX bars, adjusted for splits      // author: VXX
// the author names a Keltner channel but does not specify the average or the ATR length
Mid   = EMA(Close, 10)             // author: 10 days; Finetiq: EMA of closes
ATR10 = ATR(10)                    // Finetiq: same length as the channel, Wilder smoothing
Upper = Mid + k * ATR10
// author: k = 1 in #025, k = 2 in #042 (discrepancy between episodes)

IF position = FLAT
    BUY STOP at Upper[1]           // author: the order is always in place; level from yesterday's closed bar
// on a gap above the level, entry at the open price

Exit (#025)

IF position = LONG
    SELL STOP at Lowest(Low, 3)[1] // author (#025): three-day low, recalculated daily
// author: while VXX rises, the level trails up behind the price
// #042 does not name an exit. Finetiq: for both variants we use the exit from #025
// Finetiq, alternative to test: EXIT AT NEXT BAR OPEN when Close < Mid
// the author does not name a separate stop-loss

Size (author: a small share, number by Finetiq)

// author: a small share of capital alongside the long portfolio, no number given
HedgeAlloc = 10%                                  // Finetiq: test 5% and 20%
Shares     = floor(Equity * HedgeAlloc / EntryPrice)
// Finetiq: size is fixed at entry and does not change during the trade

Evaluation (author: principle, windows by Finetiq)

// author: the hedge is judged by its spikes on days when the long portfolio falls
LongBook   = your long portfolio or buy-and-hold SPY
Combined   = (1 - HedgeAlloc) * LongBook + HedgeAlloc * Hedge
PanicDays  = days when SPY fell 3% or more    // author: panic, S&P down 3-4%; Finetiq: 3% threshold

Report = hedge result on PanicDays and over the 10 days after them,
         maximum drawdown of Combined versus LongBook,
         hedge result in calm years (the cost of insurance)

Parameters

Parameter Value Source
Instrument VXX (VIX futures and puts possible) author
Channel length 10 days author
Channel width 1 ATR (#025) or 2 ATR (#042) author
Channel average EMA(Close, 10) Finetiq
ATR 10 days, Wilder Finetiq
Entry buy stop, always in place author
Exit three-day low author (#025)
Capital share 10%, test 5-20% Finetiq (author: a small share)
Panic day threshold for evaluation SPY down 3% in a day Finetiq

What to test

  1. The hedge in the portfolio. The main test. A long portfolio with a 5%, 10% or 20% hedge versus the portfolio without a hedge: maximum drawdown, worst month, time under water, return. A standalone hedge equity curve does not answer this question.
  2. 1 ATR versus 2 ATR. Trades per year, share of losing trades (the author speaks of roughly eight out of ten), average loss and the result in spike windows: August 2011, August 2015, February 2018, February-March 2020, August 2024.
  3. Two readings of "channel plus 2 ATR". An upper band 2 ATR wide, as in the card, versus a band 1 ATR wide plus another 2 ATR on top. The second reading enters less often and later, and in a fast panic this can cost the entire profit.
  4. Exit. Three-day low versus two and five days, versus a close below Mid, versus an exit after 5 days. The author expects to give back half the profit. Calculate what share of the peak each variant keeps in crisis trades.
  5. Channel construction. EMA versus SMA for the midline, Wilder ATR versus a simple average of TR. For a 10-day channel the difference is noticeable precisely on spike days.
  6. Instrument. VXX versus the front VX future. The VIX index is for comparing signals, not results: the index is not tradable, and a test on it will miss the ETN's downward drift.
  7. Gaps. Share of entries that opened with a gap above the stop level, and the average distance between the level and the open. In a panic a buy stop often fills worse than the level.

Platform notes

TradingView (Pine Script)

  • Calculate the channel yourself: ta.ema(close, 10) and ta.atr(10), which is already Wilder-smoothed. ta.kc may build the width differently, so check it against the formula.
  • strategy.entry("VXX", strategy.long, stop = upper) stays active until filled or canceled. Call it on every bar with the new level while there is no position. Exit: strategy.exit("X", "VXX", stop = ta.lowest(low, 3)). In the pseudocode the levels come from the last closed bar (Upper[1], Lowest(Low, 3)[1]), because the stop works inside the current bar. In Pine an order placed at the bar close starts working only on the next bar, so the same levels are written without an offset: stop = upper and stop = ta.lowest(low, 3). A [1] offset in Pine would push both levels back by one more bar.
  • On daily bars you cannot tell the order of a stop entry and an exit on the same day. Days with a large range need use_bar_magnifier = true (paid plans) or a lower timeframe.
  • The current VXX in Norgate starts in January 2018, and the previous series lived from 2009 to 2019 (details in the vix-term-structure-regime card). If the provider lacks the previous series, the test will have no 2011 or 2015.

MultiCharts and TradeStation (EasyLanguage)

  • Buy next bar at Upper stop lives for one bar. Send the order every day while MarketPosition = 0.
  • At the bar close Lowest(Low, 3) already includes this bar. For the order Sell next bar at Lowest(Low, 3) stop this is exactly the low of the last three days.
  • AvgTrueRange is a simple average of TrueRange. To match the card, calculate Wilder ATR: ATRw = ATRw[1] + (TrueRange - ATRw[1]) / 10. Average: XAverage(Close, 10).
  • Check that the series is split-adjusted. VXX has had reverse splits: on unadjusted data such a day looks like a multifold price jump and produces a false breakout. The hedge together with long strategies: Portfolio Trader in MultiCharts or Portfolio Maestro in TradeStation.

MetaTrader 5 (MQL5)

  • Few brokers offer VXX as a stock CFD, and VIX futures are usually unavailable. A "VIX" CFD follows the future with its own rolls, which makes it a different instrument with a different drift.
  • For testing, VXX history can be loaded as a custom symbol (CustomSymbolCreate, CustomRatesUpdate). Live trading needs a broker that offers this instrument.
  • There is no built-in Keltner channel. Average: iMA(..., MODE_EMA, ...). iATR is a simple average of TR, so calculate Wilder yourself.
  • Place the buy stop via CTrade.BuyStop with expiration at the end of the day, again every day. The exit is easier to manage as the position's SL price, moved after the bar closes. A long CFD position pays swap every night, and the spread widens in a panic.

Where the idea can break

  • The author's figures are estimates: "about eight out of ten", "say, 80%" in COVID, an 8-fold VIX rise in 1987 from memory. There is no test report, number of trades or period. In 1987 the VIX index was not yet published, and only a later reconstruction of its old version, the VXO index, exists. On that series (an external source, not the author's words) the index rose roughly fourfold on October 19, 1987, about 36 → 150, not 8 times. VXX appeared in 2009.
  • The parameters differ between the two episodes, and the words "channel plus 2 ATR" allow two readings. The average and the ATR length in the channel are ours.
  • The history is short and stitched: the VXX series changed in 2018-2019, and there were reverse splits. There are only a handful of large spikes in the sample, and the evaluation of the hedge rests on them.
  • Volatility ETNs melt away in calm years. The author expects a long-term drawdown of about 90%. After a few losing years the hedge is easy to switch off, and the portfolio will be left unprotected exactly at the moment the hedge was built for.
  • An exit at the three-day low gives back a noticeable part of the peak, and the author expects about half of the profit. If a spike fits into one or two days, a stop entry near the peak and an exit after the reversal may produce a loss even on a panic day.
  • In a panic a buy stop fills with slippage, and the VXX spread widens. Using the stop level as the entry price in a test is optimistic.
  • A VIX hedge protects a portfolio that resembles the S&P 500. A small-cap or single-sector portfolio falls differently, and it needs a different hedge share.
  • In both episodes the author promotes their own school and books.

Sources

  • 042 - Laurens Bensdorp II - Building Strategies with Purpose

    The Algorithmic Advantage · Laurens Bensdorp · 2025-08-21

    • 14:41A hedge as a strategy for the long portfolio's weak spot
    • 15:08Panic: S&P 500 down 3-4% in a day, all longs lose
    • 16:52Long volatility via VXX
    • 17:10Buy stop: 10-day Keltner channel plus 2 ATR
    • 17:401987: VIX up roughly 8 times in a day, from the author's memory
    • 17:57Eight trades out of ten lose
    • 18:21COVID: longs minus 30%, hedge about plus 80%
    • 59:24Three kinds of hedges: long vol for a sudden panic
    • 59:57Trend hedges are not yet in the market in the first days
  • 025 - Laurens Bensdorp - Balancing 55 Supermodels

    The Algorithmic Advantage · Laurens Bensdorp · 2024-09-02

    • 1:08:05V-shaped crash: a hole in the portfolio's protection
    • 1:08:56Long vol on its own looks terrible, it is an insurance premium
    • 1:09:36Drawdown of about 90% over a long history, look at the spikes
    • 1:10:45Goal: be in position at the slightest sign of a spike
    • 1:11:1210-day Keltner channel with one ATR
    • 1:11:19Exit at the three-day low
    • 1:11:32The trailing stop gives back half the profit
    • 1:12:12Trades VXX, VIX futures and puts are possible
    • 1:12:23Volatility ETFs have a strong downward drift

Author's claims

These figures and statements are the author's. We have not verified them.

  • #042: roughly eight trades out of ten lose.
  • #042: the author's example: in the COVID crash the long strategies fell 30%, while the VXX strategy could have made, say, around 80%. The author calls this very easy to achieve, judging by how much VXX rose at the time. This is an estimate, not a test report.
  • #042: in the 1987 crash VIX, from the author's memory, rose roughly 8 times in a single day. External data show less: on the reconstructed VXO index the rise was about 4 times (see "Where the idea can break").
  • #025: over a long history such a strategy eventually falls into a drawdown of about 90%. The author judges it not by its equity curve but by its spikes in crises.
  • #025: with an exit at the three-day low, the author expects to give back about half of the profit, because volatility drops very quickly after the peak.

Related ideas

Updated: 2026-09-11