Идея коротко
Кривая VIX-фьючерсов показывает, сколько рынок платит за волатильность на разные сроки. Обычно дальние контракты дороже ближних: неопределённость на три месяца больше, чем на один. Это контанго. В распродажу хеджеры скупают ближнюю защиту, короткий конец поднимается выше дальнего, и кривая уходит в бэквордацию.
Alan Clement, ретейл-квант по акциям из Мельбурна, ждёт переворота из бэквордации обратно в контанго. Для него это знак, что хеджи снимают, и повод купить индекс. Держит он, пока кривая в контанго. Когда волатильность взрывается, стратегия переходит на другую сторону: лонг VXX.
Rob Hanna (Quantifiable Edges) смотрит на ту же кривую из шорта волатильности. Шорт VIX-ETF разрешён только в контанго, выход при любом из трёх признаков роста риска. Вариант C от него же: момент для шорта VIX выбирается по краткосрочной перекупленности и перепроданности S&P 500.
Вариант B это шорт волатильности. У него редкие, но разрушительные убытки, и размер позиции в нём важнее входа.
Почему это может работать
Clement объясняет форму кривой хеджированием. Управляющие большими портфелями акций не хотят продавать бумаги при падении и покупают опционы или VIX-фьючерсы. Короткий конец кривой растёт. Когда кривая возвращается в контанго, защиту снимают и ждут роста рынка. По словам автора, так получается вход на возврате к среднему, который превращается в трендовую сделку: контанго держится долго, а всплески VIX короткие.
Hanna объясняет эдж шорта через устройство VIX-ETF. Фонды держат позицию со средним сроком около 30 дней и каждый день перекатывают часть фьючерсов. В контанго они продают более дешёвый ближний контракт и покупают более дорогой дальний, и цена ETF со временем тает. В бэквордации тот же механизм толкает ETF вверх. Отсюда его первый выход. Второй и третий проще: VIX выше 25 или 30, и VIX, заметно разошедшийся с реализованной волатильностью за последний месяц.
Chicken and Egg переворачивает привычный порядок: не S&P по VIX, а VIX по S&P. Если индекс сильно перекуплен, шортить VIX мало смысла, впереди скорее откат. Если индекс сильно перепродан на коротком горизонте, отскок вероятен, и это хороший момент для шорта волатильности. Статистику автор даёт в статье и курсе, в интервью её нет. Все объяснения выше это позиция авторов, мы их не проверяли.
Правила
Режим кривой
// дневные закрытия
// Clement: ряды Cboe постоянного срока на 9, 30 и 90 дней (VIX9D, VIX, VIX3M)
Ratio = VIX / VIX3M // Finetiq: пару точек автор не назвал
Contango_C = Ratio < 1 два закрытия подряд // Finetiq: защита от дребезга около 1.0
Backwardation_C = Ratio > 1 два закрытия подряд
// Hanna: первый и второй месяц VIX-фьючерсов
Contango_H = VX2 > VX1 // автор: второй месяц выше первого
Backwardation_H = VX2 < VX1
Основное правило. Индекс по перевороту кривой (Clement)
// инструмент: SPY, фьючерс S&P 500 или ETF с плечом // автор
IF position = FLAT AND Contango_C AND Backwardation_C был последним режимом
BUY INDEX AT NEXT BAR OPEN // автор: переворот в контанго = вход
IF position = LONG INDEX AND Backwardation_C
EXIT AT NEXT BAR OPEN // автор: держать, пока контанго
// автор: при взрыве волатильности лонг VXX
IF Backwardation_C AND Ratio > 1.05 // Finetiq: порог «взрыва»
BUY VXX AT NEXT BAR OPEN
IF position = LONG VXX AND Contango_C
EXIT AT NEXT BAR OPEN // Finetiq
// автор: размер по историческому риску стратегии в целом, чисел нет
IndexAlloc = 100% капитала без плеча // Finetiq; автор использует ETF с плечом
VXXAlloc = 10% капитала // Finetiq
Вариант B. Шорт VIX-ETF в контанго с тремя выходами (Hanna)
// инструмент: шорт VXX или фьючерса VX // автор: VXX можно торговать напрямую, если делать это правильно
RV21 = StdDev(ln(SPX / SPX[1]), 21) * sqrt(252) * 100 // автор: 21 торговый день; Finetiq: формула
Spread = VIX - RV21
StepOut = Backwardation_H // автор
OR VIX > 25 // автор: «25 или 30»; Finetiq: 25 стартовое
OR Spread > 10 // автор: VIX против реализованной; Finetiq: прочтение A, порог 10 пунктов
// Finetiq, прочтение B третьего триггера: Spread < 0, реализованная выше ожидаемой
IF position = FLAT AND Contango_H AND NOT StepOut
SELL SHORT VXX AT NEXT BAR OPEN
IF position = SHORT AND StepOut
EXIT AT NEXT BAR OPEN // автор: выйти или сократить
// размер: автор называет его главным элементом, числа не даёт
LossBudget = 10% // Finetiq: доля капитала, которую готовы потерять на одном всплеске
Shock = 2.0 // Finetiq: стресс-сценарий, VXX вырос на 200% до выхода
ShortNotional = Equity * LossBudget / Shock // = 5% капитала
пересчитывать ShortNotional раз в неделю // Finetiq: при росте VXX доля шорта в капитале растёт
Вариант C. Chicken and Egg: момент шорта по S&P 500 (Hanna)
RSI_S = RSI(SPX, 2) // автор: краткосрочный RSI S&P; Finetiq: период 2
IF RSI_S < 10 THEN новый шорт из варианта B разрешён // автор: перепродан → отскок вероятен; Finetiq: 10
IF RSI_S > 90 THEN новых шортов нет // автор: перекуплен → эджа в шорте мало; Finetiq: 90
// автор: при сильной перекупленности можно взять long vol как защиту акций
IF RSI_S > 90 AND в портфеле есть лонг акций
AND position = FLAT // Finetiq: не при открытом шорте VXX из варианта B
BUY VXX на 5% капитала AT NEXT BAR OPEN // Finetiq: размер
IF position = LONG VXX AND RSI_S < 50
EXIT AT NEXT BAR OPEN // Finetiq
// выходы из шорта остаются из варианта B
// Finetiq: position общая для B и C, встречные позиции по VXX запрещены.
// Пока открыт лонг из C, шорт из B не открывается: там тоже нужен FLAT.
// Если хедж акций нужен и при шорте, ведите его отдельным счётом и считайте результаты раздельно.
Параметры
| Параметр | Значение | Откуда |
|---|---|---|
| Сигнал Clement | переворот из бэквордации в контанго | автор |
| Точки кривой Clement | ряды Cboe на 9, 30 и 90 дней | автор |
| Пара для наклона | VIX / VIX3M | Finetiq |
| Подтверждение режима | два закрытия подряд | Finetiq |
| Инструмент Clement | индекс или ETF с плечом, лонг VXX при взрыве | автор |
| Порог «взрыва» | Ratio > 1.05 | Finetiq |
| Размер Clement | 100% в индексе, 10% в VXX | Finetiq |
| Режим Hanna | второй месяц VX выше первого | автор |
| Выход 1 | бэквордация | автор |
| Выход 2 | VIX выше 25 (у автора 25 или 30) | автор, выбор 25 Finetiq |
| Выход 3 | VIX против реализованной за 21 день | автор |
| Порог выхода 3 | прочтение A: больше 10 пунктов; прочтение B: меньше 0 | Finetiq |
| Бюджет потерь шорта | 10% капитала при росте VXX на 200% | Finetiq |
| RSI для варианта C | RSI(2), пороги 10 и 90 | Finetiq |
Что проверить
- Что даёт выход на бэквордации. Основное правило против покупки и удержания S&P 500 и против фильтра «цена выше 200-дневной средней». Контанго по автору держится около 84% времени, так что индекс в позиции большую часть лет. Считайте срезанную просадку и пропущенный рост после каждого переворота.
- Какая пара точек. VIX / VIX3M, VIX9D / VIX, VX1 / VX2. Для каждой число переворотов в год и доля ложных, когда кривая вернулась обратно за 5 дней.
- Цена подтверждения. Вход на следующий день после первого закрытия в контанго против двух и трёх закрытий подряд. Автор говорит о входе у минимума или в одном баре от него: посмотрите, сколько теряется при каждом дне ожидания.
- Триггеры шорта по отдельности. Вариант B с каждым триггером отдельно и со всеми тремя. Порог VIX 20, 25, 30. Оба прочтения третьего триггера. Метрики: худший день, худшие 5 дней, максимальная просадка. Отдельно февраль 2018 и февраль–март 2020.
- Когда исполняется выход. Выход на открытии следующего дня против выхода по закрытию дня сигнала против внутридневного стоп-ордера на рост VXX на 15%. В худшие дни основное движение проходит между двумя закрытиями.
- Размер и стоимость шорта. Shock 1.0, 2.0, 3.0 против максимального роста VXX или VX1 за 1, 5 и 10 дней в ваших данных. Если исторический рост больше Shock, бюджет потерь нарушен. Заложите стоимость займа VXX.
- Chicken and Egg. Результат шорта VIX-ETF через 1, 3 и 5 дней после RSI(2) S&P ниже 10 и выше 90 против всех дней в контанго. Если группы не отличаются, фильтр только сокращает число сделок.
Особенности платформ
TradingView (Pine Script)
- VIX без заглядывания вперёд:
request.security("CBOE:VIX", "D", close[1], lookahead = barmerge.lookahead_on). VIX3M и VIX9D тоже публикует Cboe, тикер уточните в поиске символов. История у них короче, чем у VIX. - Непрерывные ряды первого и второго месяца (обозначения
1!и2!) склеены по экспирации. За несколько дней до экспирации первый контракт почти равен спотовому VIX, и сравнение со вторым месяцем меняет смысл. Проверьте, в какой день поставщик переключает оба ряда. - Стратегия торгует только символ графика. Индекс и VXX, как у Clement, в одной стратегии не соединить: гоняйте две стратегии и складывайте кривые снаружи.
- Цены VXX скорректированы на обратные сплиты. Ранние бары показывают уровни, по которым никто не торговал. Считайте размер в долях капитала.
MultiCharts и TradeStation (EasyLanguage)
- VIX и VIX3M подключаются как
Data2иData3, ордера отправляются только по Data1. В TradeStation индекс VIX обычно$VIX.X, остальные символы зависят от поставщика данных. - Время дневного закрытия у индекса VIX и у фьючерса VX разное, а дневной бар фьючерса в TradeStation закрывается по settlement. Сравнивайте кривую по рядам одного времени.
- Второй месяц VX нужен как отдельный непрерывный ряд. Если его нет у поставщика, собирайте из отдельных контрактов с правилом перехода, одинаковым для обоих месяцев.
- Бэктест шорта VXX не знает о стоимости займа, отзыве бумаг и росте маржи. Заложите их вручную. Индекс и VXX вместе: Portfolio Trader в MultiCharts или Portfolio Maestro в TradeStation.
MetaTrader 5 (MQL5)
- Спотового VIX, VIX3M и VXX у большинства брокеров нет. Если символ VIX есть, это обычно CFD на фьючерс со своими перекатками, и эдж VIX-ETF на нём нужно проверять заново.
- Для теста кривую можно загрузить пользовательскими символами (
CustomSymbolCreate,CustomRatesUpdate). Для живой торговли нужен внешний источник котировок. - Шорт CFD на волатильность несёт своп и спред, который в распродажу расширяется как раз тогда, когда срабатывают выходы.
- Сигнал по кривой берите с закрытого дневного бара (сдвиг 1). Дневной бар брокера закрывается по серверному времени, а не по закрытию Cboe.
Где идея может сломаться
- Шорт волатильности теряет редко, но много. В феврале 2018 года обратный VIX-ETN XIV потерял почти всю стоимость за один вечер и был закрыт эмитентом. Hanna прямо говорит, что такие события выносили людей, и что шорт двукратного продукта может в любой момент уйти против позиции в 5-10 раз.
- Все три выхода считаются по дневным закрытиям. Всплеск происходит внутри дня или между закрытиями, и выход на следующем открытии случится после основной части убытка. Стоп-ордер от гэпа не защищает.
- Бюджет потерь в варианте B держится на нашем допущении о размере всплеска. Следующий всплеск может оказаться больше любого в истории, и тогда убыток превысит бюджет.
- Во время всплеска брокер может поднять маржу или отозвать бумаги для шорта. Позицию закроют принудительно в худший момент.
- Выборка короткая. Фьючерсы VIX торгуются с 2004 года, VXX с 2009-го. Больших всплесков в этом окне несколько, и один день может перечеркнуть годы накопленного результата.
- Данные сшиты. По данным Hanna, текущий VXX в Norgate начинается в январе 2018 года, прежний жил с февраля 2009 по январь 2019, длинные ряды двукратных ETF воссозданы задним числом. Продукты, которые обнулились, из списков пропали, и тест на выживших приукрашает шорт.
- Пороги неточные. Hanna называет «25 или 30», направление третьего триггера из его слов однозначно не следует, пару точек кривой Clement не называет. Все эти значения наши.
- Основное правило Clement большую часть времени просто держит индекс. Преимущество перед покупкой и удержанием может оказаться маленьким. ETF с плечом, которые использует автор, теряют на ежедневной ребалансировке в боковике.
- Оба автора продают курсы и рассылки. Статистики по этим правилам в интервью нет.