Стратегии
US Ротация режимов «аппетит к риску/защита от риска» — SPY против защитной позиции (TLT/кэш), один долгосрочный фильтр тренда SMA с полосой гистерезиса, дневная история за несколько десятилетий (2 параметров)
Итог: Отменено
UsRiskOnRiskOffRegimeRotationSpyTltHysteresis
Сводка по итогам
Медленный механизм ротации режимов, рассчитанный на месяцы, даёт слишком мало сделок для статистической проверки на обучающей выборке; перенос повторяющегося семейства кросс-активной макроротации на смежные ETF каждый раз приводит к переобучению.
Гипотеза
Реализация
Лонговая ротация режимов risk-on/risk-off для US на площадке USEQ, дневные бары. Единственная позиция с номиналом 100% поочерёдно размещается в SPY (risk-on), TLT (risk-off) или CASH. Для каждого ETF используется фильтр тренда SAME: цена закрытия относительно собственного sma_days SMA с симметричным диапазоном hysteresis_pct. Состояние меняется на «вверх», только когда цена превышает SMA на величину диапазона, и возвращается на «вниз», только когда опускается ниже на такое же расстояние, поэтому колебания около линии не вызывают частых смен позиции. SPY вверх -> держать SPY; SPY не вверх, но TLT вверх -> держать TLT; иначе — вне рынка. Два настраиваемых параметра (sma_days, hysteresis_pct); дополнительных данных нет; около 2-4 переключений в год, поэтому издержки на спред и влияние на цену пренебрежимо малы на площадке без комиссий.
Результаты верификации
Уберите notional_pct из _param_bounds (оставьте только sma_days и hysteresis_pct), сохранив notional_pct как фиксированную структурную константу, как указано в комментарии к коду.
Гипотеза явно заявляет защиту от переобучения с TWO параметрами (sma_days, hysteresis_pct), однако config.parameters._param_bounds включает notional_pct [0.1, 1.0] как третью границу поиска. notional_pct влияет только на размер позиции (не на сигнал), а код ограничивает его значение, поэтому для корректности это безвредно, но доступность этого параметра оптимизатору немного ослабляет аргумент о защите от переобучения «2 параметров, десятилетия истории». Стоит исключить notional_pct из _param_bounds, чтобы пространство поиска соответствовало заявленным 2 параметрам.
Изменения не требуются.
Статический анализ отмечает, что min_bars_required() скрывает метод базового класса. Это FALSE POSITIVE: базовый шаблон вызывает self.min_bars_required() (base_template.py:478) для проверки прогрева, поэтому переопределение метода с требованием sma_days+2 баров — предусмотренная и поддерживаемая точка расширения. Действия не требуются; замечание добавлено, чтобы предупреждение не приняли за дефект.
Центральное утверждение гипотезы — структурная защита от режима 2022, когда акции и облигации падают вместе. Однако стрессовое окно rate_shock_2022 в песочнице всё же показывает -15.5% (коэффициент Шарпа -2.48, DD 16.9%), а третиль «нормальной» волатильности оказывается самым слабым (коэффициент Шарпа 0.41). Правило перехода в кэш, когда ни один актив не в тренде, уменьшает, но не устраняет этот участок 2022, а медленная SMA у TLT отстаёт от разворота к защитным активам. Тем не менее основные результаты песочницы положительны (+69.8%, коэффициент Шарпа 0.82, PF 5.46, PSR 0.97) за около 4.5 лет. Поведение 2022 стоит проверить на полном многолетнем бэктесте, но это вопрос эффективности для аналитика, а не препятствие для корректности.
Обзор бэктеста
- Шарп
- 0,51
- Общая доходность
- 435,39%
- Максимальная просадка
- 25,86%
- Всего сделок
- 35
- Доля прибыльных
- 45,7%
- Профит-фактор
- 4,26
Сделки соответствуют гипотезе: 35 лонг-онли ротации, 0 коротких позиций, около 1.5 переключений в год за 24 лет доступной истории TLT — частота смены режима, которую предполагает гипотеза о циклах в несколько месяцев.
Картина следования за трендом согласованна: win_rate 0.457 с profit_factor 4.26 (небольшие убытки, крупная прибыль), recovery_factor 29.6.
Экономически целесообразно на USEQ: avg_trade_return_pct 5.45% — около 100x от минимального уровня 0.05% USEQ; комиссий нет, влияние на рынок составляет лишь 0.56% от валового результата — влияние комиссий несущественно.
Надёжная защита от переобучения для запуска на этапе 3: всего TWO свободных параметра (sma_days, hysteresis_pct) и дневная история за несколько десятилетий; недостаточно представленная площадка USEQ разнообразит корпус данных, где преобладает Binance.
Надёжный, правдоподобный результат: metrics_reliable=true, доходность реальная MTM, к концу осталось лишь около 14% нереализованной прибыли, признаков артефакта нет.
Умеренное преимущество с поправкой на риск: коэффициент Шарпа 0.51, а information_ratio отрицателен (-0.14), альфа мала (около 1.46% в год) относительно бенчмарка — корзины SPY+TLT. Частично это объясняется исключёнными дивидендами SPY (около 1.5-2% в год), но активное преимущество невелико.
Даже в окне шока ставок 2022 результат составил убыток -16% (коэффициент Шарпа -2.39): правило перехода в кэш, когда ни один актив не в тренде, смягчает, но не устраняет сценарий одновременного падения акций и облигаций (QA — вопрос эффективности после оптимизации).
35 сделок — небольшая выборка для подбора параметров; это приемлемо только потому, что пространство поиска имеет размерность 2, а механизм медленный и структурный.
Анализ
Сделки соответствуют гипотезе: 18-35 лонг-онли ротации, ноль коротких позиций, режимы удерживаются месяцами, просадка 18.3% в пределах заранее установленного лимита 25%, а доходность на сделку намного выше минимального уровня комиссии USEQ (комиссии здесь несущественны).
Сетка чувствительности плавная (0 резких обрывов, коэффициент Шарпа за весь период около 0.53-0.66 на поверхности sma_days x гистерезиса) — параметры стабильны, проблема не в их хрупкости.
Однозначное OVERFIT без обобщения: walk-forward-анализ IS 1.28 -> OOS -0.016 (is_overfitted=true), окно-2 IS 2.95 -> OOS -1.02, PBO 0.754 > 0.5. Коэффициент Шарпа за весь период отражает подгонку под данные; на незнакомых окнах преимущество исчезает или меняет знак.
Статистически неотличимо от шума: DSR=0.0, ожидаемый максимальный коэффициент Шарпа 1.37 на 225 испытаниях (29 эффективных), is_significant=false, не проходит проверку программы FDR (сохраняет 4 из 275).
Структурно непроверяема: всего 18-35 сделок за 24 лет. В отложенной выборке только 3 сделок (<10), а хранилище OOS явно помечено UNDERPOWERED (ожидается около 10 сделок, требуется около 100). Стратегия слишком медленная, чтобы на любом отрезке истории можно было одновременно обучить и проверить её.
Соответствует семейству стратегий, неоднократно показавших несостоятельность: SPY/TLT, QQQ/GLD/TLT и SPY/TLT/GLD родственных стратегий макроротации режимов на USEQ были отброшены (переобучение / risk_reject / fee_edge); перенос того же механизма защитной ротации на смежные макро-ETF каждый раз приводил к повторному переобучению.
Заранее зарегистрированные прогнозы не оправдались по двум ключевым показателям: заявленные min_trades 60 (фактически 18) и min_oos_sharpe 0.8 (фактически -0.016).
Корректировка Бенджамини—Хохберга при q=0.10 для 275 кандидатов программы сохраняет 4. Кандидат, который не проходит эту проверку, неотличим от шума самой программы, какими бы хорошими ни выглядели его отдельные статистические показатели.
Сводка по итогам
Аналитик отказался от стратегии на этапе ANALYZING, после того как первоначальный бэктест прошёл BACKTEST_REVIEW (вердикт: оптимизировать). Не пройдены четыре критерия HARD: is_overfitted=true, коэффициент Шарпа OOS -0.016 (≤0), PBO 0.754 (>0.5), а в отложенной выборке только 3 сделок (<10); мощность проверки для хранилища OOS была отмечена как недостаточная.
Лонг-онли стратегия ротации режимов с двумя параметрами на площадке USEQ: ротация одной позиции номиналом 100% между SPY (аппетит к риску), TLT (защита от риска — только если сам TLT растёт в цене) и кэшем. Используется один долгосрочный фильтр тренда SMA с полосой гистерезиса и дневной историей за несколько десятилетий.
Оптимизированный бэктест за весь период выглядел убедительно на бумаге: общая доходность 561%, CAGR 10.3%, коэффициент Шарпа 0.57, фактор прибыли 15.0, максимальная просадка 18.3% и avg_trade_return_pct 12.5%, намного выше порога USEQ, — но всего на 18 сделках за 24 лет. Результаты walk-forward-анализа вне выборки резко ухудшились (средний IS коэффициент Шарпа 1.28 против OOS -0.016, окно-2 IS 2.95 против OOS -1.02); при этом PBO 0.754 и дефлированный коэффициент Шарпа 0.0.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.