Перейти к содержимому
Все стратегии

Стратегии

US Возврат к среднему на отскоке перепроданности с фильтром рыночного режима, только длинные позиции, ликвидные крупные компании + индексные ETF (дневные бары, покупка просадок на 2 сигма ONLY, пока SPY>200д SMA, удержание 3-7 дней, без комиссии)

Итог: Отменено

UsEquityRegimeGatedOversoldBounceBasketLong

Сводка по итогам

Стратегия покупала дневные падения на 2 сигма в корзине из шести активов: крупные компании US и ETF; торговля велась, только пока SPY находился выше своего 200-дневного SMA. Проверка до оптимизации рекомендовала продолжить, опираясь на 502 сделок, PF 1.35 и доходность на сделку 0.469%, примерно в десять раз превысившую порог затрат USEQ без комиссии. Оптимизация улучшила основные показатели до коэффициента Шарпа 0.279, PF 1.53 и 0.682% на сделку; структура оставалась надёжной: без резких перепадов параметров, PBO……Показать большеСвернуть

Стратегия покупала дневные падения на 2 сигма в корзине из шести активов: крупные компании US и ETF; торговля велась, только пока SPY находился выше своего 200-дневного SMA. Проверка до оптимизации рекомендовала продолжить, опираясь на 502 сделок, PF 1.35 и доходность на сделку 0.469%, примерно в десять раз превысившую порог затрат USEQ без комиссии. Оптимизация улучшила основные показатели до коэффициента Шарпа 0.279, PF 1.53 и 0.682% на сделку; структура оставалась надёжной: без резких перепадов параметров, PBO 0.415, три положительных окна walk-forward-анализа OOS и пройденная отложенная выборка. Однако статистика дефляции оказалась решающей: DSR 0.0011, интервал коэффициента Шарпа CI [-0.075, 0.576] охватывал ноль, не пройден критерий программы FDR при candidate_p 0.9989, а выбранный коэффициент Шарпа оказался ниже планки ожидаемого максимума, полученного случайно (0.807). Кроме того, не пройдены два неотменяемых критерия HARD: is_overfitted=true и коэффициент Шарпа OOS 0.467 < 0.5. После одной итерации от стратегии отказались как от экономически незначимой (CAGR 1.70%, альфа 0.0068, IR -0.555), а также как от очередной гипотезы об отскоке перепроданности, уже неоднократно отвергнутой на USEQ.

Гипотеза

Гипотеза реализована буквально: падение на 2 сигма служит сигналом входа; условие SPY>200д SMA — фильтром режима ONLY (падения на медвежьем рынке полностью пропускаются — в этом и состоит гипотеза). Горизонт ограничен 3-7 сессиями целью возврата и стопом по времени через 7 сессий. Площадка — USEQ, поэтому отскок после падения на 2-4% покрывает затраты на сделку туда и обратно около 0.02-0.05% примерно на порядок. SPY — основной инструмент, поскольку он и задаёт режим SMA, и сам входит в торгуемую корзину; поэтому……Показать большеСвернуть

Гипотеза реализована буквально: падение на 2 сигма служит сигналом входа; условие SPY>200д SMA — фильтром режима ONLY (падения на медвежьем рынке полностью пропускаются — в этом и состоит гипотеза). Горизонт ограничен 3-7 сессиями целью возврата и стопом по времени через 7 сессий. Площадка — USEQ, поэтому отскок после падения на 2-4% покрывает затраты на сделку туда и обратно около 0.02-0.05% примерно на порядок. SPY — основной инструмент, поскольку он и задаёт режим SMA, и сам входит в торгуемую корзину; поэтому стратегия продолжает торговать, а сигнал меняется, даже если данные доступны только по основному активу. calculate_signal возвращает исходную z-оценку SPY на каждом баре (непрерывную, без ограничения диапазона); решение о входе принимается в should_enter относительно порога entry_z в соответствующих единицах. Для компонентов корзины состояние каждого инструмента отслеживается отдельно, без межинструментального выравнивания индексов, которое могло бы внести ошибки; управление идёт по основному бару после временного барьера между компонентами базового класса, поэтому z-оценки всех компонентов рассчитаны на одновременных данных. Размер позиции рассчитывается в целых акциях относительно капитала, с лимитом валового размера на равный слот и фиксированным ограничением риска на сделку 1.5%; убытки не увеличивают размер позиции. Максимальный валовой размер — 100% капитала, плечо 1.0. Работа на каждом баре — O(1) для каждого компонента (скользящие суммы и Wilder ATR, ограниченные двусторонние очереди), поэтому бюджет дымового теста 300с не пострадает на примерно 1.5 тыс. дневных барах × 6 компонентов. Частота входов: падение на 2 сигма за 20 дней возникает примерно 5-10 раз в год на актив; для 6 активов и доли времени риска около 70% это заметно больше 50+ сделок в год — далеко от сценария отсутствия сделок.

не пройден тест дефлированного коэффициента Шарпа: DSR=0.0011, ожидаемый максимум=0.807 на 75 испытаниях (47 эффективных) — выбранный коэффициент Шарпа ниже значения, которое поиск мог бы найти случайно; кроме того, не пройдены два неотменяемых критерия HARD (is_overfitted=true, OOS 0.467 < 0.5). Причина не в затратах и не в настройке: отсутствие резких перепадов и плоская поверхность 0.29–0.70 означают, что слабое преимущество одинаково повсюду, поэтому повторная оптимизация не поднимет OOS выше 0.5. Экономически незначимый результат (CAGR 1.70%, IR -0.555, альфа 0.0068). Не revise_hypothesis — гипотезу отскока после перепроданности и краткосрочного разворота уже неоднократно переформулировали и отвергли на USEQ (поперечный разворот x2, эффект начала месяца, корзина глубоких падений с фильтром восходящего тренда).

Реализация

Возврат к среднему на отскоке перепроданности, только длинные позиции, корзина из 6 ликвидных крупных компаний US и индексных ETF (SPY, QQQ, AAPL, MSFT, JPM, XOM), дневные бары USEQ. На каждой сессии цена закрытия каждого актива стандартизируется по z-оценке относительно собственной скользящей средней и стандартного отклонения за 20 сессий; если цена закрытия ниже среднего на 2 сигма или больше, актив покупается, но ONLY только при режиме риска (цена закрытия SPY выше его 200-сессионного SMA). Позиции закрываются при первом из событий: возврат (z выше 0), стоп по времени через 7 сессий, стоп 3xATR от цены исполнения входа или переход режима SPY в состояние без риска (закрыть позиции). Капитал распределяется по равным слотам в 20% капитала, одновременно открыто не более 5 позиций; риск по каждой дополнительно ограничен 1.5% капитала на расстоянии до стопа ATR. Размер позиции рассчитывается в целых акциях, без плеча, на площадке USEQ без комиссии (затраты — только спред и влияние на цену).

Результаты верификации

При желании требуй len(self._trend_closes) >= trend_len (или установи min_trend_bars ближе к 200) до включения входов, чтобы режим всегда отражал полные 200 сессий SMA, заданные гипотезой. Влияние ограничится начальной частью истории бэктеста.

Фильтр режима включается, когда история тренда достигает min_trend_bars=60, используя частичный SMA за 60-200 сессий, пока не заполнится полное окно trend_len=200. Примерно в первые 140 сессий после прогрева условие режима «SPY>200д SMA» оценивается относительно более короткого среднего, чем задано гипотезой. Поэтому в этом начальном окне решение о включении или отключении риска может измениться.

Результат симуляции положительный (avg_trade_return_pct 0.73%, PF 1.51, 121 сделок), но в терциле обычной волатильности стратегия LOSES (-1.94%, коэффициент Шарпа -0.12), а интервал Шарпа CI [-0.28, 1.24] охватывает ноль; преимущество сосредоточено в спокойном и стрессовом режимах. Walk-forward-анализ полной истории должен подтвердить, что преимущество от отскока перепроданности не ограничено парой благоприятных режимов. У поперечных корзин возврата к среднему из отдельных акций здесь слабая история выживаемости, поэтому аналитику следует тщательно оценить устойчивость к режимам.

Обзор бэктеста

Шарп
0,20
Общая доходность
49,12%
Максимальная просадка
7,61%
Всего сделок
502
Доля прибыльных
53,4%
Профит-фактор
1,35

USEQ площадка без комиссии: avg_trade_return_pct 0.469% превышает нижнюю границу комиссии (~0.05%) примерно на 10x, а PF 1.35 находится выше уровня 1.2, поэтому это NOT сигнатура L75, при которой комиссия не имеет значения USEQ (определяемая условием PF<1.2 / avg<=0.10%).

Репрезентативная выборка: 502 длинных сделок за историю около 27 лет; достаточно для содержательной подгонки параметров.

Сделки соответствуют гипотезе: 502 длинных / 0 коротких (только длинные на отскоке перепроданности), среднее удержание 8.5д соответствует замыслу на 3-7д; фильтр режима по условию SPY>200д.

Устойчива к режимам на всей истории: все три терциля волатильности — POSITIVE (спокойный +0.145, обычный +0.239, стрессовый +0.253); опасение QA, что преимущество ограничено спокойными или стрессовыми режимами, после проверки на всей истории NOT не подтвердилось.

Низкий риск: max_drawdown 7.6%, влияние на цену — лишь 5.6% от валовой величины, ёмкость около $32 млн.

Заглавный коэффициент Шарпа низкий (0.199, по рыночной оценке) и sharpe_ci_low -0.14 охватывает ноль; экспозиция портфеля мала (43%), как и годовая волатильность (6.2%), поэтому абсолютная доходность умеренная — это станет настоящей проверкой на этапе допуска после оптимизации.

Есть некоторая годовая вариативность (несколько убыточных лет), что типично для корзины возврата к среднему с фильтром режима.

Анализ

С точки зрения механики всё чисто: нет резких перепадов параметров, гладкая поверхность чувствительности, PBO 0.415 <= 0.5, все три окна walk-forward-анализа OOS положительны (0.397/0.581/0.424) — стабильное, но крошечное преимущество, без подгонки кривой.

Отложенная выборка прошла жёсткий критерий: 88 сделок, коэффициент Шарпа +0.115, consistent_with_oos=true (z=-0.85).

Экономика приемлема для USEQ: avg_trade_return_pct 0.682% (порог около 14x), PF 1.53, комиссии нулевые, влияние на цену — 3.8% от валовой величины, ёмкость — $67.7 млн.

Умеренный риск: максимальная просадка 10.7% (в пределах стандартного значения для акций 15%), экспозиция 34.6%, доля прибыльных сделок 0.538 при соотношении прибыли к убытку 1.30.

HARD: walk-forward-анализ is_overfitted=true (IS 0.864 -> OOS 0.467); HARD: коэффициент Шарпа OOS 0.467 < минимального порога валидности 0.5 — допуск невозможен, критерий нельзя отменить.

Дефляция даёт однозначный вывод: DSR 0.0011, is_significant=false, а выбранный коэффициент Шарпа (0.279 за полный период) находится BELOW планки ожидаемого максимума, полученного случайно, 0.807.

Коэффициент Шарпа CI [-0.075, 0.576] охватывает ноль; PSR 0.789 < 0.95; не проходит критерий программы FDR (candidate_p 0.9989, BH оставляет 4 из 281).

Альфы относительно собственного бенчмарка нет: IR -0.555, альфа 0.0068, CAGR 1.70% за 33 лет.

Коэффициент Кальмара 0.149 против 0.5; коэффициент на отложенной выборке 0.245 против 0.70; максимальная длительность DD — 1,274 дней.

Поверхность чувствительности повсеместно посредственная (0.29–0.70) — слабые результаты везде, нет устойчивой области для настройки.

При стрессовых условиях стратегия рушится: окно COVID -7.1% / коэффициент Шарпа -3.85; коэффициент Шарпа в стрессовом режиме 0.23 против 0.36 в спокойном.

Поправка Бенджамини—Хохберга при q=0.10 среди 281 кандидатов программы оставляет 4. Кандидат, не прошедший эту проверку, неотличим от собственного шума программы, какими бы хорошими ни выглядели его отдельные статистические показатели.

Сводка по итогам

Механически чистая стратегия — без перепадов чувствительности, PBO 0.415, все три окна walk-forward-анализа OOS положительны, отложенная выборка пройдена с 88 сделками и коэффициентом Шарпа 0.115 — всё равно может быть бесполезной, если преимущество повсюду слабое: плоская поверхность чувствительности 0.29-0.70 означает, что лучшей области для настройки нет, а вторая оптимизация не поднимет коэффициент Шарпа OOS выше порога.

отказались

После оптимизации аналитик проголосовал за отказ: walk-forward-анализ выявил is_overfitted=true (IS 0.864 против OOS 0.467), а коэффициент Шарпа OOS 0.467 оказался ниже минимального порога валидности 0.5. Оба критерия HARD нельзя отменить. При этом дефлированный коэффициент Шарпа 0.0011 ниже планки ожидаемого максимума, полученного случайно, 0.807, на 75 испытаниях (47 эффективных), то есть выбранный коэффициент Шарпа неотличим от шума поиска.

Покупай перепроданные активы после падения на 2 сигма в длинной корзине ликвидных крупных компаний US и индексных ETF (SPY, QQQ, AAPL, MSFT, JPM, XOM) по дневным барам USEQ, только пока SPY торгуется выше своего 200-сессионного SMA. Выходи при возврате, стопе ATR, стопе по времени через 3-7 дней или смене режима.

Первоначальный бэктест примерно за 8,453 дней дал 502 длинных сделок, общую доходность 49.1%, коэффициент Шарпа 0.199, фактор прибыли 1.35, максимальную просадку 7.6% и avg_trade_return_pct 0.469% на площадке без комиссий; после оптимизации получено 381 сделок, общая доходность 57.7%, коэффициент Шарпа 0.279, PF 1.53, avg_trade_return_pct 0.682% и максимальная просадка 10.7%, а также CAGR 1.70% и информационное отношение -0.555.

Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.