Стратегии
Управление экспозицией QQQ по волатильности с фильтром тренда — тайминг только длинных позиций по Nasdaq-100 ETF; обратное масштабирование экспозиции по реализованной волатильности при цене выше тренда за 200 дней, ребалансировка по порогу (USEQ, дневные бары, 2 параметров)
Итог: Отменено
QqqVolatilityManagedTrendExposure
Сводка по итогам
Гипотеза
Реализация
Только длинная позиция по QQQ (USEQ, дневные бары), пока цена выше 200-дневной SMA; размер позиции обратно пропорционален реализованной волатильности за 20 дней (target_vol/realized_vol, максимум 100% капитала). Для входа также требуется, чтобы 200-дневный SMA рос за последние 20 сессий. Открытая позиция корректируется ONLY, если целевой вес по волатильности относительно веса последней сделки меняется более чем на rebalance_band (50%) — то есть при реальной смене режима волатильности, а не из-за дрейфа цены или капитала. Выход — закрытие ниже 200-дневной SMA.
Результаты верификации
Убедись, что базовый FactoryStrategy вызывает подкласс min_bars_required(); повышенное требование к периоду разогрева в переопределении намеренно и корректно, поэтому менять ничего не нужно, если базовый класс его учитывает.
min_bars_required(self) переопределяет/затеняет метод базового фреймворка (отмечено статическим анализом). Переопределение намеренно увеличивает период разогрева, чтобы охватить sma_days + slope_days; это правильно и необходимо, но проверь, что базовый шаблон действительно вызывает это переопределение для допуска оценки сигналов, а не использует собственную реализацию.
В тестовой среде стратегия уступает «купи и держи» по доходности с поправкой на риск относительно бенчмарка (information_ratio -0.42, бета 0.27, альфа 0.034); в стрессовом терциле волатильности результат слегка отрицательный (-1.5%, коэффициент Шарпа -0.04). Это ожидаемо для позиции с таргетированием волатильности, ценность которой заключается в доходности с поправкой на риск (меньшая просадка, коэффициент Шарпа 0.91, максимальная DD 12.4%), а не в абсолютном превосходстве. Аналитику следует оценивать бэктест за всю историю по коэффициенту Шарпа и просадке относительно «купи и держи», а не по превышению общей доходности. Сделок мало (8 полных циклов в тестовом окне), поскольку входы ограничены пересечением за 200 дней и растущим наклоном. На полной 25-летней дневной истории QQQ должно быть достаточно циклов рыночных режимов, но стоит подтвердить достаточность выборки.
Обзор бэктеста
- Шарп
- 0,59
- Общая доходность
- 432,34%
- Максимальная просадка
- 22,48%
- Всего сделок
- 58
- Доля прибыльных
- 36,2%
- Профит-фактор
- 5,36
Исправление в итерации -2 сработало: теперь avg_trade_return_pct составляет +4.088% номинала (ранее -1.67%), что значительно выше порога комиссий USEQ 0.05%. Дефект ребалансировки при дрейфе, который снижал доходность на сделку, устранён: полоса изменения позиции теперь привязана к целевому весу по волатильности, а не к дрейфу MTM.
Репрезентативная и надёжная выборка: 27 лет дневных баров QQQ (1999-2026), 58 отдельных эпизодов с позициями + 131 исполнений, metrics_reliable=true. Достаточно циклов разных рыночных режимов, чтобы 2 часов оптимизации имели смысл.
Явное преимущество до учёта издержек: profit_factor 5.36, положительный коэффициент Шарпа 0.586 (база mtm_equity_curve, правильная метрика), максимальная просадка 22.5% (< 60%), комиссии и влияние на цену составляют лишь 0.43% валового результата.
Сделки реализуют гипотезу: 58 длинных / 0 коротких позиций; входы допускаются при пересечении 200-дневной границы и наличии фильтра растущего наклона; вес позиции по одной бумаге QQQ <= 1.0 (доходность на сделку не является артефактом плеча или компаундирования). Механизм (экспозиция с управлением по волатильности + фильтр тренда) хорошо документирован и обоснован.
Только два свободных параметра (target_vol_annual, rebalance_band), остальные структурные настройки фиксированы — пространство поиска чистое и с низким риском переобучения.
Уступает стратегии «купи и держи» по доходности с поправкой на риск относительно бенчмарка (information_ratio -0.25, бета 0.28, альфа 0.022, CAGR 6.36%). Это ожидаемо для позиции с таргетированием волатильности, цель которой — контролировать просадку, а не превзойти абсолютную доходность. Кроме того, PnL USEQ не включает дивиденды QQQ (около 1-2% в год), поэтому абсолютная доходность занижена — однако порог коэффициента Шарпа для повышения стратегии будет трудно преодолеть.
Коэффициент Шарпа 0.586 ниже порога повышения; в стрессовом терциле волатильности он едва положительный (0.073). Оптимизация может улучшить доходность с поправкой на риск, но вряд ли позволит достичь порога повышения с коэффициентом Шарпа 1.5.
end_unrealized_pct 39.9 (около 9% от заголовочного показателя 432%) — скромный результат, но у последней открытой позиции есть нереализованный MTM; на этапе повышения оценивай реализованные показатели и доходность с поправкой на риск.
Анализ
Исправление для итерации-2 сработало: теперь avg_trade_return_pct составляет +0.289% от номинала (оптимизированное значение) / +4.09% (значение по умолчанию), что заметно выше порога комиссий USEQ 0.05%. Это NOT не провал из-за недостаточного преимущества над комиссиями.
Надёжная механика, не уязвимая к комиссиям: комиссии нулевые, влияние на цену — лишь 0.71% валового результата, profit_factor 4.81, низкая максимальная просадка 8.56%, поверхность чувствительности ровная, с 0 пороговыми параметрами.
Механизм управления экспозицией по волатильности (Moreira—Muir) — документированный эффект; код корректно реализует позицию только в лонг, только сокращение и ребалансировку по полосе выше растущей 200-дневной SMA.
Не пройдены три жёстких пороговых условия UNWAIVABLE: walk-forward is_overfitted=TRUE (средний IS Sharpe 0.617 -> средний OOS 0.376, одно окно OOS — 0.0), PBO 0.7328 > 0.5 (переобучение при отборе вероятнее, чем нет), а в контрольной выборке всего 9 сделок (< минимальных 10).
Статистически неотличима от шума: deflated_sharpe 0.851 < 0.95, is_significant=false, коэффициент Шарпа CI [0.273, 1.014], а стратегия NOT не проходит программную проверку FDR (BH при q=0.10 сохраняет 4 из 245; candidate_survives=false).
Альфы относительно бенчмарка нет: information_ratio составляет NEGATIVE (-0.36 оптимизированный / -0.25 по умолчанию), бета 0.11-0.28, benchmark_correlation около 0.57 — по сути это скрытая длинная позиция с бетой QQQ, а не активное преимущество; по доходности с поправкой на риск она уступает стратегии «купи и держи».
Лучшая конфигурация оптимизатора доводит target_vol_annual до минимального порога 0.05, снижая avg_position_pct с 73% до 38%, а CAGR — с 6.36% до 3.25%. По результатам поиска, чтобы повысить коэффициент Шарпа, нужно почти не инвестировать — признак отсутствия масштабируемого преимущества.
Структурно непроверяема: 57 сделок за 27 лет; хранилище OOS помечено как UNDERPOWERED (ожидается около 16 сделок при необходимых 100) — «нет такого отрезка истории, который был бы достаточно коротким, чтобы оставить обучающие данные, и одновременно достаточно длинным, чтобы проверить настолько медленную стратегию».
Провалы родственных стратегий подтверждают проблему всего класса: отказались от QQQ длинно-короткой стратегии по режимам волатильности (fee_edge), от BTC стратегии с фильтром тренда и управляемой волатильностью, длинная позиция/вне рынка (переобучение x2), а также от корзины основных инструментов с управлением по волатильности.
Преимущество на сделку ниже издержек: avg_trade_return_pct -1.666% при пороге комиссий 0.05% и 77 сделках. Оптимизация этого не исправит: измени механизм, период удержания или таймфрейм, чтобы доходность на сделку превысила порог, либо откажись от стратегии.
Метод Бенджамини—Хохберга при q=0.10 среди 245 кандидатов программы оставляет 4. Кандидат, не прошедший этот отбор, неотличим от собственного шума программы, какими бы хорошими ни выглядели его индивидуальные статистики.
Сводка по итогам
Волатильностно-управляемый трендовый оверлей на одном индексе по сути является скрытой длинной позицией с бетой (отрицательный информационный коэффициент) и при примерно 57 сделках за 27 лет структурно слишком медленный для проверки вне выборки — прежде чем развивать этот класс стратегий, нужно проверить частоту сделок и наличие подлинной альфы.
После оптимизации аналитик отказался от стратегии: не пройдены три обязательных пороговых условия — walk-forward is_overfitted=TRUE, средний коэффициент Шарпа IS обрушился с 0.617 до OOS 0.376; PBO 0.7328 > 0.5; в контрольной выборке лишь 9 сделок при минимуме 10. Кроме того, стратегия статистически неотличима от шума (дефлированный коэффициент Шарпа 0.851 < 0.95, статистически значимой на уровне FDR не является).
Позиция QQQ только в лонг: экспозиция обратно пропорциональна недавней реализованной волатильности, когда цена выше растущей 200-дневной SMA. Позиция меняется, только если целевой вес по волатильности существенно изменился.
За 27 лет дневных баров QQQ (1999-2026) конфигурация по умолчанию принесла 432% (CAGR 6.36%) при коэффициенте Шарпа 0.586, факторе прибыли 5.36, максимальной просадке 22.5% и 58 сделках; оптимизированная конфигурация снизила показатели до коэффициента Шарпа 0.644, CAGR 3.25% и 57 сделок, а информационный коэффициент относительно стратегии «купи и держи» оказался отрицательным (-0.36).
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.