Бэктест стратегии: пробой диапазона открытия Hyperliquid ETH на UTC сессии, лонг и шорт (1H, только OHLCV, диапазон Азия/EU → пробой на сессии US, стоп ATR, выход в конце сессии или трейлинг-стоп) | Stratmill
Итог: Отменено
HyperliquidEthSessionOpeningRangeBreakoutLS1H
Сводка по итогам
Эта стратегия была нацелена на два крупнейших пробела портфеля фабрики — площадку Hyperliquid и лонг-шорт направление — с простой внутридневной стратегией пробоя диапазона открытия с небольшим числом параметров на ETH, торговавшей пробой диапазона Азии/EU во время сессии US. Она работала точно по плану со сбалансированными длинными и короткими позициями, но гипотеза не имела направленного преимущества на ETH HL за проверенный период: отрицательный коэффициент Шарпа (-2.15), фактор прибыли 0.816 и доходность -19.4%; результат дополнительно ухудшили комиссии, поглотившие 18% валовой прибыли при частых сделках на барах 1H. Поскольку ошибки не было, а история одного рыночного режима охватывала только 193 дней, аналитик отказался от стратегии на этапе проверки бэктеста, вместо того чтобы оптимизировать шум. Стратегия не дошла до оптимизации, проверки рисков или бумажной торговли.
Стратегия LONG-SHORT, SINGLE-INSTRUMENT, на чистых данных OHLCV для внутридневной торговли OPENING-RANGE-BREAKOUT на бессрочных фьючерсах ETHUSD.HYPERLIQUID (1-HOUR бары). Она одновременно заполняет два наименее представленных сегмента портфеля: площадка HYPERLIQUID (5.7% против квоты реальной торговли не менее 20% — самого большого дефицита и направления, куда фабрика стратегий переносит исполнение сделок на реальном счёте) и направление long_short (14.5%). Механизм намеренно ORTHOGONAL от двух уже включённых в……Показать большеСвернуть
Стратегия LONG-SHORT, SINGLE-INSTRUMENT, на чистых данных OHLCV для внутридневной торговли OPENING-RANGE-BREAKOUT на бессрочных фьючерсах ETHUSD.HYPERLIQUID (1-HOUR бары). Она одновременно заполняет два наименее представленных сегмента портфеля: площадка HYPERLIQUID (5.7% против квоты реальной торговли не менее 20% — самого большого дефицита и направления, куда фабрика стратегий переносит исполнение сделок на реальном счёте) и направление long_short (14.5%). Механизм намеренно ORTHOGONAL от двух уже включённых в портфель стратегий HL/внутридневной торговли: это NOT сжатие волатильности (HyperliquidSolVolSqueezeBreakout1H) и NOT движение за одиночным импульсным баром (Sol/Eth ImpulseBarContinuation). Вместо этого стратегия использует внутридневной SESSION STRUCTURE: на крипторынке в течение 24 часов сохраняется повторяющаяся смена сессий, при которой часы Азии и Европы (отсчёт от 00:00 UTC) задают дневной диапазон открытия, а чаще всего этот диапазон расширяется или пробивается направленно во время сессии US. Стратегия задаёт диапазон открытия, а затем торгует его первый чёткий пробой в направлении сессии: открывает длинную позицию при пробое вверх и короткую при пробое вниз. Чистые данные OHLCV означают полное отсутствие зависимости от дополнительных данных и позволяют избежать сбоев доступности данных о финансировании HL, OI и ликвидациях. Бары 1H дают около 24 баров в день, поэтому даже умеренная история HL обеспечивает большую выборку сделок, пригодную для проверки (одна сделка в день). Число параметров намеренно невелико (4 ключевых параметров), чтобы снизить риск переоптимизации, из-за которой стратегии регулярно снимали с рассмотрения.
Исправление итерации 2 для синтетического сбоя уровня -2: `_bar_ts()` был `@staticmethod`, но уровень -2 `_StrategyProxy` повторно привязывает методы стратегии, поэтому `self._bar_ts(bar)` передавал `(self, bar)` = 2 аргументов статической функции, рассчитанной на 1 аргументов. Это вызывало TypeError в каждом сценарии. Метод `_bar_ts` преобразован в обычный метод экземпляра `def _bar_ts(self, bar)`, чтобы сигнатура совпадала при прямом вызове и через прокси. Это минимально возможное изменение: логика сигналов, структура сессий и диапазона, выходы по скобочному ордеру ATR, размер позиции с учётом плеча, импорты и структура класса (всё это прошло уровень 1) не затронуты, поэтому предыдущие уровни не регрессируют.
Оптимизировать не стоит: базовый бэктест показывает принципиально убыточный, а не пограничный результат. У исходного сигнала преимущество NEGATIVE (profit_factor 0.816 — валовые убытки превышают валовую прибыль, коэффициент Шарпа -2.15, коэффициент Сортино -4.83, отрицательное математическое ожидание, PSR 0.0395); результат дополнительно ухудшают значительные издержки, присущие конструкции с барами 1H (комиссия 18.06% валовой прибыли и около $17.7 тыс. воздействия на рынок). Стратегия корректно реализует гипотезу……Показать большеСвернуть
Оптимизировать не стоит: базовый бэктест показывает принципиально убыточный, а не пограничный результат. У исходного сигнала преимущество NEGATIVE (profit_factor 0.816 — валовые убытки превышают валовую прибыль, коэффициент Шарпа -2.15, коэффициент Сортино -4.83, отрицательное математическое ожидание, PSR 0.0395); результат дополнительно ухудшают значительные издержки, присущие конструкции с барами 1H (комиссия 18.06% валовой прибыли и около $17.7 тыс. воздействия на рынок). Стратегия корректно реализует гипотезу (193 сделок, около 1 в день, сбалансированные длинные и короткие позиции, закрытие в конце сессии), поэтому ошибки в коде, которую можно было бы исправлять итерациями, нет: у внутридневной гипотезы диапазона открытия сессии UTC просто нет направленного преимущества на ETH HL за проверенный период. Выборка также охватывает лишь 193 дней (один рыночный режим), поэтому оптимизация по принципу «лучший из N» подгонит около 6 месяцев шума, а не выявит устойчивое преимущество. Оптимизация не превратит сигнал с отрицательным PF и высокими комиссиями в стратегию, достойную продвижения; лучше отказаться, чем тратить 2 часов. (Если позднее вернуться к идее структуры сессий, понадобятся более длинная история из нескольких рыночных режимов и гораздо более низкая частота торговли, чтобы снизить влияние комиссий: нужно пересмотреть гипотезу, а не подбирать параметры.)
Реализация
Внутридневная стратегия пробоя диапазона открытия лонг-шорт на ETHUSD Hyperliquid, бессрочные фьючерсы (1H, только OHLCV). Формирует дневной диапазон открытия за первые range_hours от 00:00 UTC, затем торгует первый чёткий пробой диапазона по цене закрытия в направлении пробоя во время сессии US: одна сделка за UTC день, начальный стоп ATR и трейлинг-стоп ATR; в конце сессии или при смене дня позиция закрывается, без переноса на ночь.
Результаты верификации
Проверка не пройдена (уровень 2 — синтетические сценарии): Использованные параметры: ['risk_frac', 'atr_period', 'range_hours', 'min_notional', 'stop_atr_mult', 'trail_atr_mult', 'session_end_hour'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735690500000) - steady_downtrend: TypeError:……Показать большеСвернуть
Проверка не пройдена (уровень 2 — синтетические сценарии):
Использованные параметры: ['risk_frac', 'atr_period', 'range_hours', 'min_notional', 'stop_atr_mult', 'trail_atr_mult', 'session_end_hour']
Проверьте, что __init__ задаёт все атрибуты из self.parameters.get().
- steady_uptrend: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735690500000)
- steady_downtrend: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735690500000)
- flat_ranging: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735690500000)
- volatility_spike: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735690500000)
- zero_volume: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735690500000)
- price_gap: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735690500000)
Обзор бэктеста
Шарп
-2,15
Общая доходность
-19,43%
Максимальная просадка
25,01%
Всего сделок
193
Доля прибыльных
40,4%
Профит-фактор
0,82
Стратегия работает и соответствует гипотезе: 193 входов (около одного за UTC день), сбалансированно: 100 длинных и 93 коротких; внутридневная торговля с закрытием в конце сессии (среднее удержание 5 ч 17 мин, экспозиция 19.4%). Механизм ORB реализован точно, ошибок в коде нет.
Закрывает реальные пробелы портфеля (площадка Hyperliquid и long_short) и, как задумано, использует только OHLCV и имеет мало параметров.
Принципиально отрицательное преимущество: коэффициент Шарпа -2.15 (всего до +0.08 с CI), коэффициент Сортино -4.83, profit_factor 0.816 (валовые убытки превышают валовую прибыль — исходный направленный сигнал убыточен), отрицательное математическое ожидание (-$102 на сделку), total_return -19.4%, PSR 0.0395.
Серьёзные структурные издержки: commission_pct_of_gross 18.06% и около $17.7 тыс. воздействия на рынок. Частые сделки в сессии с барами 1H невыгодны из-за комиссий и поглотили бы даже небольшое преимущество, если бы оно было.
Малая выборка из одного рыночного режима: всего 193 дней истории HL; оптимизация подгонит около 6 месяцев шума, а не выявит устойчивое преимущество.
Сводка по итогам
Внутридневная стратегия пробоя структуры сессии на барах 1H должна преодолеть очень высокие комиссии (здесь 18% валовой прибыли), а для проверки нужна длинная история из нескольких рыночных режимов. Сигнал с отрицательным фактором прибыли и высокими комиссиями на малой выборке из одного режима нельзя оптимизацией превратить в стратегию, достойную продвижения; потребуется пересмотреть гипотезу в пользу более редкой торговли, а не подбирать параметры.
Аналитик вынес вердикт «отказаться» на этапе проверки бэктеста до оптимизации: исходный направленный сигнал был убыточным (фактор прибыли ниже 1.0), ошибки в коде для исправления не было, значительные издержки при частых сделках на барах 1H поглотили бы любое небольшое преимущество, а выборка из одного рыночного режима длиной 193 дней означала, что оптимизация подгонит около 6 месяцев шума.
Длинно-короткая внутридневная стратегия пробоя диапазона открытия на одном инструменте — бессрочных фьючерсах ETHUSD.HYPERLIQUID 1H; она использовала азиатскую и европейскую сессии с 00:00 UTC, чтобы задать дневной диапазон, а затем торговала первый чистый пробой диапазона на US сессии (покупка при пробое вверх, продажа при пробое вниз) с трейлинг-стопом ATR и закрытием позиции в конце сессии. Стратегию выбрали, чтобы заполнить недостаточно представленные категории площадки Hyperliquid и длинно-короткого направления, используя только OHLCV.
Стратегия точно реализовала гипотезу (193 входов, около одного за UTC день, сбалансированно: 100 длинных и 93 коротких, среднее удержание 5 ч 17 мин), но её преимущество было принципиально отрицательным: общая доходность -19.4%, коэффициент Шарпа -2.15 (всего до +0.08 с CI), коэффициент Сортино -4.83, фактор прибыли 0.816, отрицательное математическое ожидание (-$102 на сделку), PSR 0.0395 и максимальная просадка 25%. Комиссии также сильно ухудшили результат: они составили 18.06% валовой прибыли, дополнительно возникло около $17.7 тыс. издержек воздействия на рынок — всего за 193 дней истории Hyperliquid.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.