VRP и свечные паттерны: что выживает после честного аудита
Суть идеи
Автор берёт 30 лет дневных баров SPY и дискретизирует каждый бар в одно из 12 «свечных состояний» (по форме тела, теней, положению закрытия). Затем проверяет, зависит ли направление следующего бара от текущего состояния — классический условный тест на предсказуемость. Параллельно строится VRP-оверлей: разница между подразумеваемой волатильностью (VIX или аналог) и реализованной волатильностью за предшествующий период.
Механизм, на который ставит автор, двойной. Свечные паттерны якобы кодируют краткосрочный дисбаланс спроса/предложения. VRP — более фундаментальная история: продавцы опционов систематически получают премию за принятие хвостового риска, и это создаёт измеримый drift в доходности базового актива в режимах высокого VRP.
Главный вывод: большинство свечных паттернов не выживают после поправки на множественное тестирование (Bonferroni или FDR) и транзакционные издержки. VRP-сигнал устойчивее — особенно в режиме «IV > RV», где рынок исторически показывал положительный drift с пониженной реализованной волой.
Применимость к крипте
VRP на BTC/ETH — живая история. У нас есть ATM IV (Deribit) и реализованная вола (30d rolling), разница даёт прямой аналог VRP-сигнала. Исторически крипто-VRP был шире, чем на акциях, из-за структурного спроса на защитные путы и левередж-колы — то есть механизм тот же, но амплитуда другая.
Свечные паттерны на крипте — скорее шум: 24/7 торговля, нет дневного открытия с гэпом, другая микроструктура. Переносить 12-state классификатор напрямую бессмысленно. Зато VRP-компонент ложится на наши ряды почти без адаптации: берём (ATM IV − RV_30d) как сигнал, фильтруем по режиму (funding rate как прокси на позиционирование), смотрим на форвардную доходность спота или на P&L short-vol стратегии.
Тестируемо ли
Да, с оговорками. Ряды ATM IV для BTC есть с ~2019 года по Deribit — это ~5 лет, около 1800 дневных наблюдений. Для walk-forward с rolling-z это минимально приемлемо, но независимых «режимных циклов» (бычий/медвежий/боковой) мало. RV считается из OHLCV напрямую. Funding rate — с Binance/Bybit с 2020.
Чего нет: нормального аналога VIX для крипты с историей до 2019. DVOL (Deribit Volatility Index) появился позже. Можно реконструировать ATM IV из исторических страйков, но это уже ручная работа.
В нашем bt_engine: сигнал = z-score(VRP_30d), порог входа/выхода, горизонт 1-5 дней, Deflated Sharpe для коррекции на множественное тестирование — именно то, что делает автор на SPY.
Сомнения
VRP на SPY за 30 лет — большая выборка, крипто-VRP за 5 лет — маленькая. Режимная хрупкость очевидна: в 2022 году крипто-IV была хронически ниже реализованной (инвертированный VRP), стратегия short-vol давала дродауны. Автор не показывает разбивку по суб-периодам — неизвестно, работает ли VRP-сигнал в медвежьих режимах или только в бычьих. Свечная часть выглядит как data-snooping showcase: 12 состояний × множество горизонтов = много шансов найти что-то случайное.
Следующий шаг
Прогнать на BTC: сигнал = (ATM_IV_30d − RV_30d) / rolling_std(VRP, 90d), вход в long спот при z > +0.5, выход при z < 0, горизонт 3 дня, walk-forward с окном 365/90 дней, Deflated Sharpe. Добавить режимный фильтр по funding rate (> 0 = бычий режим) и посмотреть, меняется ли знак альфы.
Результаты тестов
Дописано 14 июля 2026, в день публикации — прогон «Следующего шага» на нашем движке. Сама статья выше не менялась.
Данные: спот Binance BTCUSDT (дневные бары с августа 2017 — на них свечная часть), DVOL Deribit как 30-дневная ATM IV (с марта 2021), funding Binance-перпа (с сентября 2019). VRP = DVOL − RV30 (реализованная 30д, annualized, в пунктах волы). Сигнальное окно после warmup — апрель 2021 — июль 2026, 1909 дней (~5.2 года). Исполнение по спеке: вход t+1, издержки 6 б.п. на оборот. Меню зафиксировано до прогона: две нормировки сигнала (по букве спеки VRP/rolling_std_90 — «scaled», и классический z-score 90д) × {гистерезис вход>+0.5/выход<0, фиксированное удержание 1/3/5 дней} + сырой VRP>0 + два funding-гейта = 11 вариантов, Deflated Sharpe — по всем 11. Walk-forward по спеке: 365д IS → 90д OOS, выбор варианта по IS-Sharpe без пересмотра, 17 фолдов.
| Вариант | Sharpe | DSR | CAGR | maxDD | в рынке | сделок/г |
|---|---|---|---|---|---|---|
| B&H BTC (тот же период) | 0.34 | — | +4% | −77% | 100% | — |
| Гистерезис scaled — правило статьи | 0.39 | 0.64 | +8% | −73% | 71% | 13 |
| Гистерезис z90 | 0.52 | 0.75 | +13% | −52% | 47% | 15 |
| Hold 3д scaled — «горизонт 3 дня» из спеки | 0.30 | 0.56 | +3% | −70% | 70% | 16 |
| Сырой VRP>0 | 0.45 | 0.69 | +11% | −71% | 79% | 22 |
| Гистерезис & fund>0 | 0.22 | 0.49 | −0% | −71% | 67% | 17 |
| Гистерезис & fund<0 | 0.73 | 0.88 | +8% | −23% | 4% | 6 |
| Walk-forward 365/90 | 0.78 | 0.87 | — | — | — | — |
Остальные hold-варианты (1/5 дней, обе нормировки) — Sharpe 0.25–0.36, в DSR-фоне учтены все. Buy&hold на том же OOS-периоде walk-forward — 0.44.
Разбивка по годам для правила статьи — ровно то, чего в оригинале не хватало:
| Год | Sharpe правило | Sharpe B&H | Средний VRP, п. волы | Дней VRP<0 |
|---|---|---|---|---|
| 2021 (с апр.) | +1.33 | +0.18 | 17.0 | 11% |
| 2022 | −1.29 | −1.29 | 11.1 | 22% |
| 2023 | +2.11 | +2.35 | 7.6 | 18% |
| 2024 | +1.80 | +1.76 | 6.3 | 27% |
| 2025 | −0.51 | +0.05 | 5.1 | 20% |
| 2026 (до 13.07) | −1.34 | −1.10 | 1.0 | 28% |
Свечная часть: из 12 состояний два геометрически невозможны (большое тело не совместимо с закрытием в противоположной трети диапазона), итого 20 тестов — 10 состояний × 2 горизонта (1д и 3д, для 3д SE ×√3 как консервативный штраф за оверлап окон). Лучшее состояние до всяких поправок — |z| = 1.94, p ≈ 0.053 («малое тело вверх с закрытием у лоу», 55 наблюдений — классический кандидат в data snooping). После Bonferroni — 0 из 20, после BH-FDR q=0.10 — 0 из 20. До обсуждения издержек (12 б.п. раунд-трип) дело даже не доходит.
Ответ на главный вопрос статьи. Свечная половина вердикта подтверждена на BTC жёстче, чем на SPY: там хоть что-то выживало до поправок, у нас ни одно состояние не проходит даже сырое p<0.05. VRP-половина переносится хуже. Правило статьи буквально — Sharpe 0.39 против 0.34 у buy&hold, DSR 0.64; вся сетка 0.22–0.73, ни один вариант не проходит планку DSR. Walk-forward выглядит лучше всех (OOS 0.78 против 0.44 у B&H), но выборы скачут — 8 разных вариантов на 17 фолдов: это «переключение режимов иногда спасает», а не стабильный VRP-эдж. И главное: в 2022 правило сидело в рынке 75% дней и упало вместе с ним (Sharpe −1.29 у обоих) — положительный VRP не защитил от медведя, он просто был широким и в медвежий год тоже.
Что подтвердилось из «Сомнений». Мало независимых циклов — да: годовой Sharpe правила пляшет от +2.1 до −1.3, вся «альфа» решается двумя-тремя режимами. Режимная хрупкость — да. А вот конкретика ошиблась: «хроническая инверсия VRP в 2022» на BTC не подтвердилась — VRP<0 было лишь 22% дней, средний VRP +11 пунктов (IV в 2022 была высокой вместе с реализованной — LUNA и FTX двигали обе ноги). Short-vol в 2022 болел не от инверсии среднего уровня, а от хвостовых эпизодов.
Чего статья не предсказала. Первое — структурное сжатие премии: средний VRP монотонно тает шесть лет подряд, 17 пунктов волы в 2021 → 1 пункт в 2026. Порог «z > +0.5» в 2021 означал жирную премию, в 2026 — почти ноль: у сигнала уплывает сама база, и это же сжатие мы независимо видим в тонком эдже недельных опционных продаж на реальных цепочках Deribit. Второе — funding-фильтр работает наоборот: статья предлагала fund>0 как «бычий» фильтр, а он правило только портит (Sharpe 0.22 против 0.39 без гейта). Вся концентрация доходности — в редком режиме fund≤0 (9% дней): Sharpe 2.47, maxDD −23%. Но и B&H в этом режиме даёт 2.33 — то есть знак альфы не меняется, это не VRP-эдж, а старый знакомый «покупай после вымывания плечей», который у нас уже живёт в funding-контра сигналах. VRP тут почти ничего не добавляет.
Проверка: research_validate_vrp.py + адверсариальная верификация — независимая реимплементация правила прямым циклом (equity совпал бит-в-бит), шок будущих цен ×1.5 с середины выборки (позиции и P&L до точки шока идентичны — лукахеда нет), ручной пересчёт Deflated Sharpe по Bailey–López de Prado (совпал до 4-го знака), пермутационный тест свечных состояний (200 перестановок: под нулевой гипотезой BH-FDR даёт 0.05 ложных выживших в среднем — процедура не либеральничает).