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

Стратегии

Дневной импульс BTC с фильтром волатильности

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

BtcDailyMomentumVolatilityFilterLongShort

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

BtcDailyMomentumVolatilityFilterLongShort была намеренно простой ставкой на устойчивость дневного импульса BTC с тремя параметрами и самонормирующимся фильтром расширения волатильности, призванным избежать ложных разворотов в боковом рынке. Базовый бэктест был посредственным: коэффициент Шарпа 0.23, фактор прибыли 1.07, просадка 43%, а доходность сосредоточена в нескольких аномальных днях. Однако плотная выборка из 120 сделок позволила включить стратегию в оптимизацию. Оптимизация дала броский коэффициент Шарпа……Показать большеСвернуть

BtcDailyMomentumVolatilityFilterLongShort была намеренно простой ставкой на устойчивость дневного импульса BTC с тремя параметрами и самонормирующимся фильтром расширения волатильности, призванным избежать ложных разворотов в боковом рынке. Базовый бэктест был посредственным: коэффициент Шарпа 0.23, фактор прибыли 1.07, просадка 43%, а доходность сосредоточена в нескольких аномальных днях. Однако плотная выборка из 120 сделок позволила включить стратегию в оптимизацию. Оптимизация дала броский коэффициент Шарпа 1.18, чрезмерно сократив число сделок до 20. Хотя флаг переобучения в walk-forward-анализе был ложным, результат поддерживали два удачных окна OOS (в одном не было сделок), тогда как коэффициент временной контрольной выборки обвалился до 0.224. Аналитик отказался от стратегии из-за структурного переобучения: дефлированный коэффициент Шарпа 0.0 значительно ниже порога удачи 9.53, PBO 0.64 и четыре резких провала чувствительности ключевых параметров, включая сам фильтр волатильности. Это тот же признак переобучения на малом числе сделок, что и у ранее заброшенных одноактивных трендовых стратегий.

Гипотеза

Простая стратегия импульса на дневном таймфрейме для фьючерсов BTCUSDT. Открывает позицию по направлению недавнего импульса при росте волатильности, благоприятном для продолжения тренда, и остаётся вне рынка при низкой волатильности и боковом движении. Использует только 2 ключевых индикатора (ROC и отношение ATR) и 3 настраиваемых параметра, что снижает риск переобучения. Дневные бары означают около 1-2 сделок в неделю, поэтому влияние комиссий незначительно. Стратегия намеренно проста: преимущество основано на хорошо задокументированной устойчивости импульса BTC на дневном таймфрейме, с фильтром режима волатильности для предотвращения ложных разворотов в боковом рынке.

Реализует гипотезу BTC дневного импульса с фильтром волатильности, сохраняя намеренную простоту. calculate_signal возвращает знаковое значение ROC (непрерывное, меняется на каждом баре) как сигнал импульса и кэширует фильтр режима волатильности (короткий ATR / длинный ATR) и ATR для управления риском. should_enter требует, чтобы отношение волатильности превышало vol_ratio_min (рост волатильности благоприятен для продолжения тренда), прежде чем открыть позицию в направлении импульса; это исключает рынки с низкой……Показать большеСвернуть

Реализует гипотезу BTC дневного импульса с фильтром волатильности, сохраняя намеренную простоту. calculate_signal возвращает знаковое значение ROC (непрерывное, меняется на каждом баре) как сигнал импульса и кэширует фильтр режима волатильности (короткий ATR / длинный ATR) и ATR для управления риском. should_enter требует, чтобы отношение волатильности превышало vol_ratio_min (рост волатильности благоприятен для продолжения тренда), прежде чем открыть позицию в направлении импульса; это исключает рынки с низкой волатильностью и боковым движением, где сигналы импульса дают частые ложные развороты. Фильтр волатильности задан как безразмерное отношение ATR, чтобы он оставался применим при больших многолетних изменениях цены и режима волатильности BTC (абсолютный порог ATR вышел бы из рабочего диапазона). Стратегия направлена на фьючерсную площадку BINANCE, поскольку действительно использует длинные и короткие позиции. Дневные бары дают около 1-2 сделок в неделю, поэтому комиссии за полный цикл сделки незначительны относительно движения цены за сделку. Риск ограничен стопом ATR и временным стопом; для снижения переобучения настраиваются только три индикатора/параметра.

Неудачный дефлированный коэффициент Шарпа: DSR=0.0 (относительно порога 0.95 бара), ожидаемый максимум=9.53 за 225 испытаний — оптимизированный коэффициент Шарпа 1.18 на FAR ниже порога удачи «лучший из N», его нельзя отличить от шума отбора (is_significant=false). Все проверки на будущих данных подтверждают переобучение: HOLDOUT FAILED (коэффициент 0.224, коэффициент Шарпа на контрольной выборке 0.625 против WF-OOS 2.79), PBO 0.6389 (>0.5), sharpe_ci_low -0.69 (CI пересекает 0), а анализ чувствительности FAILED……Показать большеСвернуть

Неудачный дефлированный коэффициент Шарпа: DSR=0.0 (относительно порога 0.95 бара), ожидаемый максимум=9.53 за 225 испытаний — оптимизированный коэффициент Шарпа 1.18 на FAR ниже порога удачи «лучший из N», его нельзя отличить от шума отбора (is_significant=false). Все проверки на будущих данных подтверждают переобучение: HOLDOUT FAILED (коэффициент 0.224, коэффициент Шарпа на контрольной выборке 0.625 против WF-OOS 2.79), PBO 0.6389 (>0.5), sharpe_ci_low -0.69 (CI пересекает 0), а анализ чувствительности FAILED выявляет обрывы 4 по ключевым параметрам CORE (atr_period, roc_period, atr_long_mult и самому режимному фильтру vol_ratio_min — коэффициент Шарпа меняется 0.46->0.012->0.20 при небольших шагах). Оптимизатор чрезмерно проредил слабую базовую стратегию (начальный коэффициент Шарпа 0.226, PF 1.07, max_DD 43%, 120 сделок), сократив число сделок до 20 (13L/7S) и подогнав кривую под крошечную выборку; флаг walk-forward-анализа is_overfitted=FALSE вводит в заблуждение, поскольку его поддерживают два удачных окна OOS ([4.15, 0.0, 4.21]), в одном окне не было ни одной сделки, а честная контрольная выборка на будущих данных показывает резкий провал. Не повторять итерацию (попытка 1 из 2): проблема структурная — обрывы 4 на ключевых параметрах, чрезмерное прореживание до 20 сделок, DSR на девять пунктов ниже порога удачи и провал контрольной выборки — дело не в одной недостаточно исследованной устойчивой области; второй перебор снова подгонит стратегию под малое число сделок и удачные окна. Не revise_hypothesis: дневной импульс BTC — давно изученная идея, а фильтр расширения волатильности и создаёт эти обрывы; нет доказанной родственной стратегии, застрявшей на неудачной цели. FAILURE PATTERN: намеренно простая длинно-короткая стратегия дневного импульса с фильтром режима волатильности на BTC даёт пограничную базу (коэффициент Шарпа 0.23), которую оптимизатор завышает, прореживая число сделок до 20 (коэффициент Шарпа 1.18, PF 2.72); однако она не проходит проверку дефлированного коэффициента Шарпа (0.0, намного ниже порога удачи 9.53), проваливает контрольную выборку (коэффициент 0.224), PBO 0.64, а анализ чувствительности выявляет обрывы 4, в том числе на самом фильтре волатильности: параметр режима балансирует на грани, это не устойчивое преимущество. Добавление фильтра расширения волатильности к базовому сигналу импульса сокращает число сделок ценой хрупкой зависимости от обрывов; это тот же признак переобучения на малом числе сделок, что и у ранее отброшенных стратегий следования за трендом на одном активе.

Реализация

Простая стратегия импульса на дневном таймфрейме по BTCUSDT.BINANCE (USD-M бессрочный контракт), длинные и короткие позиции, бары 1-DAY. Направление определяется темпом изменения цены (ROC) за roc_period дней; сделки разрешены только при росте волатильности, измеренном безразмерным отношением короткого окна ATR к более длинному базовому значению ATR (>= vol_ratio_min). Стратегия открывает длинную позицию при положительном импульсе и короткую при отрицательном в периоды расширения волатильности, а при низкой волатильности и боковом движении остаётся вне рынка. Выход происходит при смене импульса против позиции, срабатывании стопа ATR (3x ATR) или истечении максимального срока удержания 30 дней. Три ключевых настраиваемых параметра (roc_period, atr_period, vol_ratio_min). Размер позиции — 50% капитала счёта.

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

Шарп
0,23
Общая доходность
34,06%
Максимальная просадка
43,09%
Всего сделок
120
Доля прибыльных
32,5%
Профит-фактор
1,07

Положительное математическое ожидание (+$131/сделку), общая доходность +34% на плотной выборке из 120 сделок за 6.4 лет — достаточно для walk-forward-анализа.

Профиль трендовой доходности (avg_win 2.2x avg_loss при доле прибыльных сделок 32%); простая конструкция (3 ключевых параметра, мало возможностей для переобучения); положительная динамика в последние годы (2025 +1.4%, 2026 +20.1%).

Понятный рычаг настройки: сейчас roc_threshold равен 0.0 (вход при любом направлении импульса — грубый подход); его повышение вместе с настройкой vol_ratio_min может повысить избирательность и сократить потери при боковом движении.

Небольшое преимущество, уязвимое к комиссиям: только profit_factor 1.07, коэффициент Шарпа 0.23, при этом CI пересекает 0 (sharpe_ci_low -0.83).

Большая просадка (43%) и катастрофический 2022 (-23.9%); результат зависит от аномалий (return_kurtosis 87.7 — +34% основан примерно на 4 огромных днях).

Низкая ёмкость (11.5M); влияние на цену составляет 9.3% валовой прибыли при размере позиции из бэктеста.

Эти свойства делают стратегию вероятным кандидатом на провал проверок дефлированного коэффициента Шарпа и контрольной выборки после оптимизации.

Анализ

Оптимизированные основные метрики выглядят поверхностно убедительно (коэффициент Шарпа 1.18, PF 2.72, max_DD 25.5%)

Флаг walk-forward-анализа is_overfitted технически FALSE

Дефлированный коэффициент Шарпа 0.0 (is_significant FALSE): оптимизированный коэффициент Шарпа 1.18 значительно ниже ожидаемого максимума удачи 9.53 за 225 испытаний и неотличим от шума отбора лучшего из N

Контрольная выборка FAILED: коэффициент 0.224 (на контрольной выборке 0.625 против WF-OOS 2.79), значительно ниже порога 0.70 — результат будущего периода обваливается

Чувствительность FAILED: 4 резких обвалов при небольших изменениях ключевых параметров (atr_period, roc_period, atr_long_mult, vol_ratio_min); режимный фильтр волатильности сам критически чувствителен к малым изменениям порога.

PBO 0.6389 (>0.5) и sharpe_ci_low -0.69 (CI пересекает 0)

Оптимизация чрезмерно сократила число сделок с 120 до 20, подогнав кривую под крошечную выборку; одно окно OOS в walk-forward-анализе не дало сделок

Базовый бэктест уже был посредственным (коэффициент Шарпа 0.226, PF 1.07, max_DD 43%)

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

Добавление фильтра расширения волатильности к базовому сигналу импульса сокращает число сделок ценой хрупкой зависимости от пороговых параметров: когда оптимизация вынуждена прореживать слабую базовую стратегию до крошечной выборки, а режимный фильтр критически чувствителен к небольшим изменениям порога, высокий коэффициент Шарпа оказывается шумом отбора и обваливается на честной контрольной выборке.

Стратегия прошла проверку бэктеста (вердикт: оптимизировать), но аналитик отказался от неё после оптимизации: дефлированный коэффициент Шарпа 0.0 против ожидаемого максимума удачи 9.53, провал контрольной выборки (коэффициент 0.224 против порога 0.70), PBO 0.64, sharpe_ci_low -0.69 и провал проверки чувствительности с 4 резкими провалами ключевых параметров, включая режимный фильтр волатильности. При этом оптимизатор чрезмерно сократил число сделок с 120 до 20.

Намеренно простая длинная и короткая стратегия дневного импульса BTCUSDT: сделки открывались по направлению темпа изменения цены, когда краткосрочный ATR превышал более длинное базовое значение ATR (фильтр режима расширения волатильности); при низкой волатильности и боковом движении стратегия оставалась вне рынка. Выход — при смене импульса, срабатывании стопа ATR или временного стопа; для ограничения переобучения использовались только три ключевых настраиваемых параметра.

Базовый бэктест за примерно 6.4 лет был посредственным: 120 сделок (61 длинных, 59 коротких), доля прибыльных сделок 32.5%, фактор прибыли 1.07, коэффициент Шарпа 0.23 (CI пересекает ноль, низкий -0.83), общая доходность +34%, основанная примерно на 4 аномальных днях (эксцесс 87.7), и максимальная просадка 43%. Оптимизация сократила число сделок до 20, обеспечив поверхностно сильные основные показатели (коэффициент Шарпа 1.18, фактор прибыли 2.72, максимальная просадка 25.5%).

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