Стратегии
QQQ трендовая стратегия ротации режимов Risk-On / защитных активов, только длинные позиции (QQQ.USEQ нога роста <-> GLD/TLT защитные ноги, 1-DAY баров, SMA + коридор гистерезиса, 2 параметров)
Итог: Отменено
QqqRiskOnDefensiveSplitRotationGldTltHysteresis
Сводка по итогам
Эта стратегия стала осознанным переходом от угасающего семейства криптомоментума к ротации режимов индекса акций ETF, расширив сохранившуюся родственную стратегию SPY<->TLT на более волатильный инструмент QQQ с разделённым защитным портфелем GLD+TLT. Бэктест на полной истории прошёл проверку до оптимизации, и аналитик одобрил переход к оптимизации, но запуск на 3 этапов выявил сильное переобучение: коэффициент Шарпа в выборке сменился отрицательным вне выборки, показатель PBO достиг 0.65, дефлированный коэффициент Шарпа составил 0.115, а оптимизатор снизил просадку, сократив экспозицию до ~13%. После одной итерации аналитик отказался от стратегии, отметив, что механизм теряет деньги в верхней терцили волатильности и во всех периодах шока ставок 2022; четыре почти одинаковые родственные стратегии уже провалились из-за переобучения или были отклонены по риску.
Гипотеза
Реализация
Ротация режимов 1-DAY USEQ баров с инструментом ETF, только длинные позиции US. Одна позиция номиналом ~95% удерживается в QQQ, пока QQQ находится в подтверждённом восходящем тренде (закрытие выше его sma_days SMA более чем на hysteresis_pct; состояние «восходящий тренд» сохраняется, пока цена не опустится на то же расстояние ниже SMA). При сломе режима роста портфель переключается на защитный портфель с равными долями GLD и TLT; каждый инструмент включается, только если проходит такой же фильтр SMA с гистерезисом. Если ни один защитный инструмент не находится в восходящем тренде (сценарий 2022, когда акции и облигации падают вместе), стратегия держит наличные. Только целые акции, без плеча, площадка без комиссий, несколько сделок туда и обратно в год.
Результаты верификации
Оставь без изменений, если базовый шаблон вызывает min_bars_required(); иначе дополнительная история проверяется только внутренними условиями len(closes) < sma_days (они присутствуют), так что поведение остаётся безопасным.
min_bars_required() переопределяет метод фреймворка (предупреждение Layer-1 base_shadow). Похоже, это сделано намеренно: переопределённый метод возвращает sma_days+2, чтобы базовая проверка прогрева масштабировалась с длиной тренда. Функциональной проблемы нет, но проверь, действительно ли базовый класс использует это переопределение для прогрева основного инструмента, а не собственное значение по умолчанию.
Результаты в песочнице выглядят сильными (коэффициент Шарпа 1.00, total_return 143%, PF 96, avg_trade_return_pct 12.75%), сомнений в прибыльности нет, но окно предварительной проверки включает лишь ~8 сделок за 1650 баров, поэтому оценка преимущества основана на малой выборке. Режимы рынка и периоды типа 2022, когда падают акции и облигации, следует оценивать на полном историческом бэктесте за десятилетия дневных данных QQQ/GLD/TLT. Упомянутые в отчёте stress_windows обозначены как криптовалютные (covid/luna/ftx) и не относятся к стратегии USEQ; это артефакт шаблона отчёта, а не проблема кода.
Обзор бэктеста
- Шарп
- 0,60
- Общая доходность
- 672,12%
- Максимальная просадка
- 26,90%
- Всего сделок
- 61
- Доля прибыльных
- 52,5%
- Профит-фактор
- 5,34
USEQ акций ETF: ротация режимов — семейство ONE пока единственное сохраняется в рабочем конвейере (родственная стратегия UsRiskOnRiskOffRegimeRotationSpyTltHysteresis и несколько стратегий ротации USEQ на этой неделе перешли к оптимизации). Это реальное расширение охвата: растущий сегмент QQQ, защитный портфель разделён на GLD+TLT; это не новая версия неудачной криптостратегии на импульсе.
avg_trade_return_pct 4.25% составляет ~85x от минимального уровня комиссий USEQ ~0.05%; комиссия $0, а влияние на цену — лишь 0.37% от валового результата. Издержки структурно незначительны, как и задумано в стратегии с низкой оборачиваемостью (61 сделок за 27 лет). Это противоположный сценарий провала по сравнению с кладбищем fee_edge.
profit_factor 5.34, коэффициент Шарпа на базе MTM — 0.596, с CI [0.23, 1.01], который NOT пересекает ноль, PSR 0.9959, положительная альфа +2.35%/год (бета 0.60), max_drawdown 26.9% (<60%).
Сделки соответствуют гипотезе: 61 длинных сделок, 0 коротких (счёт только для длинных позиций, с наличными), а в период шока ставок 2022 (QA беспокоит конкретно падение акций и облигаций вместе) стратегия перешла к защитной ротации, а не обвалилась. Опасение QA насчёт малой выборки на полной истории не подтвердилось.
information_ratio ~0.004 — ротация лишь немного опережает пассивную корзину QQQ/GLD/TLT с равными весами; фактическое преимущество активной стратегии над наивным портфелем невелико.
Несёт убытки в стрессовом терциле волатильности (доходность -9.7%, коэффициент Шарпа -0.01); позиция в max_drawdown_duration удерживается долго — около 1407 дней (~3.8 года).
Редкие daily_returns с датой закрытия — это неравномерно распределённые атрибуции реализованной прибыли и убытка по долго удерживаемым позициям (например, 2022-01-24 +63.6% на одну дату закрытия); честная оценка с поправкой на риск — скромный коэффициент Шарпа MTM 0.596, а не броские годовые и дневные показатели.
Скромный заголовочный коэффициент Шарпа означает, что решающими проверками в запуске на 3 этапов станут дефлированный коэффициент Шарпа и показатели отложенной выборки.
Анализ
USEQ ежедневная ротация без комиссий — издержки за счёт комиссий и влияния на цену структурно незначительны (влияние 0.18% от валового результата), так что причина не в гибели из-за fee_edge.
Анализ чувствительности чистый (0 резких провалов), доходность на сделку с большим запасом превышает минимальный уровень площадки.
Низкая номинальная просадка в оптимизированной конфигурации (4.2%), но см. слабые стороны: это артефакт почти нулевой экспозиции.
OVERFIT: коэффициент Шарпа 0.374 walk-forward IS сменился с OOS на -0.178 (is_overfitted=true); в 2 из 3 окон результат неположительный. Преимущество не подтверждается вне выборки — результат меняет знак.
OOS коэффициент Шарпа -0.178 <= 0 и PBO 0.65 > 0.5 (пороговые условия HARD) — продвижение невозможно, и, скорее всего, выбор параметров привёл к переобучению.
Оптимизатор свёл notional_pct 0.95 к 0.134: он не нашёл преимущества и минимизировал рыночную экспозицию, чтобы снизить просадку. Заголовочные показатели PF 11.6 / DD 4.2% — артефакт почти нулевой экспозиции, а не реализованное преимущество.
Дефлированный коэффициент Шарпа 0.115 (намного ниже 0.95), is_significant=false; не пройдена проверка программы FDR (candidate_p 0.88, сохраняется 4 из 280). Выбранный коэффициент Шарпа невозможно отличить от шума лучшего результата из 150 испытаний.
На отложенной выборке всего 3 сделок — статистически этого недостаточно; номинальный коэффициент Шарпа 0.71 на отложенной выборке бессмысленен при таком объёме данных.
Теряет деньги в верхней терцили волатильности (коэффициент Шарпа -0.17) и во всех периодах шока ставок 2022 — защитная ротация не страхует портфель в критические моменты.
Это повторяющееся семейство ротации между режимами индекса и защитных активов USEQ: четыре почти одинаковых варианта (сходство 0.63-0.77) уже сняты с рассмотрения из-за переобучения/risk_reject, включая ту самую структуру гистерезиса SPY<->TLT, развитие которой заявлено здесь.
Поправка Бенджамини—Хохберга при q=0.10 для 280 кандидатов программы оставляет 4. Если кандидат не проходит эту проверку, его нельзя отличить от шума самой программы, какими бы хорошими ни выглядели его отдельные статистические показатели.
Сводка по итогам
Применение того же механизма ротации режимов по абсолютному тренду к новому индексу роста приводит к повторному переобучению, а не исправляет ошибку исходной предпосылки: от этого семейства ротации индекса USEQ и защитных активов неоднократно отказывались из-за переобучения, а у настолько медленной стратегии слишком мало сделок для статистической проверки.
После оптимизации аналитик вынес решение отказаться от стратегии: преимущество не подтвердилось вне выборки (коэффициент Шарпа OOS <= 0, PBO > 0.5, не пройдена проверка программы FDR), а оптимизатор сократил notional_pct с 0.95 до 0.134, минимизируя экспозицию вместо поиска преимущества. Поэтому привлекательные показатели оптимизированной конфигурации PF 11.6 / просадки 4.2% — артефакт почти пустого портфеля.
Стратегия открывает только длинные позиции, не платит комиссий и ежедневно ротирует активы USEQ: удерживает QQQ, пока он находится в подтверждённом восходящем тренде с гистерезисом SMA, а при сломе режима роста переводит средства в защитный портфель с равными долями GLD и TLT (либо в наличные). Используются всего два подбираемых параметра (sma_days, hysteresis_pct).
Начальный бэктест за ~27 лет выглядел сильным (коэффициент Шарпа 0.596, фактор прибыли 5.34, avg_trade_return_pct 4.25%, альфа +2.35%/год, максимальная просадка 26.9%, 61 сделок), но оптимизация в 3 этапов провалилась: коэффициент Шарпа 0.374 walk-forward IS сменился на OOS -0.178 (is_overfitted=true), PBO 0.65, дефлированный коэффициент Шарпа 0.115, а на отложенной выборке было всего 3 сделок.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.