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

Стратегии

Внутридневной пробой диапазона Dual Thrust на бессрочном контракте ETH OKX: открытие UTC-дневного периода +/- K x диапазон за 4 дней, длинные и короткие позиции, закрытие в конце дня (ETHUSDT.OKX 1H, только OHLCV)

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

DualThrustIntradayOkxEth

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

В этой стратегии проверялась внутридневная пробойная система Dual Thrust Chalek/Wei с закрытием позиций в конце дня на бессрочных контрактах ETH OKX. ETH выбрали после того, как та же предварительная проверка не прошла на SOL и LINK. За 3 итераций бэктест на всей выборке выглядел приемлемо (+397%, коэффициент Шарпа 0.74, 0.259% на сделку), но прибыль обеспечили примерно 10 крайних сделок и терциль высокой волатильности. Терциль обычной волатильности показал убыток 49%, короткая сторона теряла деньги в большинстве лет, а сигнал IC не отличался от шума. Аналитик отказался от стратегии при проверке бэктеста, поскольку преимущество после -2023 (около 0.058% на сделку) ниже затрат; для повторного предложения он рекомендовал вариант только с длинными позициями, торгующий лишь в режимах высокой волатильности, с размером позиции 0.3-0.5 от капитала.

Гипотеза

Классификация: (a), конкретная торговая идея. В источнике (библиотека стратегий QuantConnect, «Алгоритм торговли Dual Thrust») за авторством Майкла Чалека и Ганга Вэя 2012 описан один механизм. Диапазон = максимум(HH - LC, HC - LL) за последние N завершённых дней. Покупай, когда цена >= сегодняшнее открытие + K1 x диапазон, открывай короткую позицию, когда цена <= открытие - K2 x диапазон, и разворачивай позицию при противоположном сигнале. Порт QC SPY показывает коэффициент Шарпа -0.37 и просадку 65.7%. Мы……Показать большеСвернуть

Классификация: (a), конкретная торговая идея. В источнике (библиотека стратегий QuantConnect, «Алгоритм торговли Dual Thrust») за авторством Майкла Чалека и Ганга Вэя 2012 описан один механизм. Диапазон = максимум(HH - LC, HC - LL) за последние N завершённых дней. Покупай, когда цена >= сегодняшнее открытие + K1 x диапазон, открывай короткую позицию, когда цена <= открытие - K2 x диапазон, и разворачивай позицию при противоположном сигнале. Порт QC SPY показывает коэффициент Шарпа -0.37 и просадку 65.7%. Мы считаем эти данные непроверенными; это не рекомендация. Код QC также отходит от оригинала: в нём один сигнал, а стратегия всегда находится на рынке. В итоге получается система «стоп и разворот», которая никогда не выходит в денежную позицию. Чалек и Вэй разработали Dual Thrust как систему INTRADAY, закрывающую позиции в конце сессии; именно эта версия изложена здесь заново с исходных принципов. Это не точный порт. У криптовалют нет сессий, поэтому за сессию принят день UTC (00:00-24:00), а открытием дня считается цена открытия первой 1ч свечи. Площадка — свопы OKX USDT, на которые приходится 1.6% корпуса при квоте >=5%. Инструмент: ETHUSDT.OKX 1-HOUR, локальный каталог с 2019-12-25 по 2026-10-01, 59,339 свечей и 0 разрывов (проверено 2026-10-02). Стратегия работает в обе стороны, использует один инструмент и только цены, поэтому дополнительные потоки данных не нужны. Предварительная проверка на данных, доступных в тот момент, проведена на локальных свечах OKX 1ч с N=4, K=0.5, сигналом на закрытии 1ч свечи, закрытием позиции в конце дня и вычетом затрат полного цикла 0.10%. Результаты: ETH 720 сделок (106 в год), валовой результат +0.447% на сделку, чистый +0.347%, годовой коэффициент Шарпа на сделку ~1.06. При K=0.7: 386 сделок, чистый результат +0.544%, коэффициент Шарпа ~1.28. При K=0.7 каждый календарный год 2020-2026 был прибыльным после затрат. Преимущество угасает: 2023 ~+0.07%, 2024 ~+0.29%, 2025 ~+0.29%, 2026 YTD ~+0.15% на сделку. Основной вклад дают длинные позиции (чистый результат +0.84% против +0.21% у коротких). Та же предварительная проверка FAILED на SOL (чистый результат +0.04% / -0.02%) и LINK (+0.10-0.15%); у DOGE результат лишь немного превысил порог (коэффициент Шарпа ~0.5). Поэтому выбрали ETH, открыто указав уязвимость отбора между инструментами, которую аналитику следует учитывать. Source_ref: https://github.com/QuantConnect/Tutorials/tree/4a341890296f7e79e095508f06170c72ccaa629c/04%20Strategy%20Library/05%20Dual%20Thrust%20Trading%20Algorithm (разделы «Шаг 2: реализация алгоритма» с формулой диапазона и «Шаг 3: реализация торговли» с правилами верхнего и нижнего порогов и разворота); с указанием QuantConnect, Майкла Чалека и Ганга Вэя.

Из исходной идеи сохранены диапазон Dual Thrust, асимметричные пороги K1/K2 и правило разворота при противоположном сигнале. Изменения: (1) Восстановлена внутридневная версия с закрытием позиций к концу дня. В варианте QC система постоянно находится на рынке и разворачивает позицию по стопу; это дало коэффициент Шарпа -0.37 и просадку 65.7%, а в нашей предварительной проверке вариант SAR показал долю прибыльных сделок 0.33-0.39 и зависимость от тяжёлых хвостов распределения (коэффициент Шарпа 0.35-0.89 обеспечен……Показать большеСвернуть

Из исходной идеи сохранены диапазон Dual Thrust, асимметричные пороги K1/K2 и правило разворота при противоположном сигнале. Изменения: (1) Восстановлена внутридневная версия с закрытием позиций к концу дня. В варианте QC система постоянно находится на рынке и разворачивает позицию по стопу; это дало коэффициент Шарпа -0.37 и просадку 65.7%, а в нашей предварительной проверке вариант SAR показал долю прибыльных сделок 0.33-0.39 и зависимость от тяжёлых хвостов распределения (коэффициент Шарпа 0.35-0.89 обеспечен несколькими исключительно сильными трендами). (2) Вместо SPY выбрана криптовалюта. У USEQ 1ч история длится всего около 2 лет, а недавние запуски USEQ прекращаются из-за пробелов в данных. У криптовалют день длится 24ч, а дневной диапазон больше: валовой результат на сделку около 0.45-0.65% при затратах полного цикла 0.10%; валовой результат превышает затраты более чем на 4x. (3) Площадка — OKX, а не Binance USD-M. На BINANCE приходится 63% корпуса, а OKX составляет 1.6% при квоте 5%. В локальном ряду OKX 1ч нет разрывов; комиссии тейкера одинаковы (0.05%). Выбран ETH, а не BTC, из-за доли концентрации BTC. ETH также оказался единственным инструментом из 4, где предварительная проверка превысила затраты 3x; это указано в описании. Сделки не привязаны к календарной дате (L179): сигнал основан на наблюдении цены — пробое диапазона. Закрытие в конце дня соответствует исходному закрытию сессии, а коэффициент Шарпа предварительной проверки на сделку с таким временем закрытия уже составляет ~1.0-1.3 (L166). Это не бессрочная сделка с дополнительным фильтром (L111), не HL/COIN-M (L168/L172) и не сеточная стратегия или управление запасами (L171).

Класс fee_edge. Вне примерно 10 крайних дней преимущество на сделку ниже затрат; с 2023 оно снизилось примерно до 0.058% на сделку против порога 0.15% и затрат полного цикла 0.10%. Оптимизация K и периода истории этого не исправит. Опасения QA насчёт преимущества подтверждаются: преимущество после 2023 не сохраняется, результат обеспечивают длинные позиции, а ETH — инструмент, отобранный из нескольких. Просадка 63% связана с размером позиции и не стала причиной этого вердикта. Для повторного предложения: вариант только с длинными позициями, вход лишь при высокой волатильности, размер позиции 0.3-0.5 капитала и заранее зарегистрированный чистый результат не менее 0.30% на сделку начиная с 2023.

Реализация

Торгуются часовые пробои Dual Thrust на ETHUSDT.OKX с использованием предыдущих четырёх завершённых дней UTC; выход — по противоположному сигналу или стопу по диапазону, позиции закрываются в конце дня UTC.

Добавляет исследовательское фиксированное значение плеча в параметры и использует его при расчёте размера позиции. Это устраняет выявленное несоответствие и сохраняет логику стратегии.

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

Можно оставить как есть. Задокументируй задержку разворота на 1 свечу или разворачивай позицию в той же свече, если нужно точное соответствие логике Чалека и Вэя. Рассмотри удаление stop_range_mult или настрой его так, чтобы он явно отличался от сигнала разворота.

Разворот происходит на одну свечу позже, чем предписывает исходное правило. При появлении противоположного сигнала should_exit закрывает позицию. Базовый шаблон проверяет should_enter лишь на следующей свече, когда позиции нет; поэтому обратная позиция открывается на час позже и только если сигнал всё ещё действует. Есть также стоп по диапазону, основанный на цене закрытия (stop_range_mult x диапазон от цены входа), о котором в гипотезе не сказано. При k=0.5 и mult=1.0 стоп находится примерно на уровне цена открытия - 0.5R, то есть около противоположного сигнала, и почти избыточен. Структуру стратегии это не меняет.

Рассмотри размер позиции с учётом риска: номинал, при котором расстояние до стопа x размер позиции составляет не более примерно 2% капитала; лимит — 1x. Используй self.config.leverage или parameters.get с запасным значением.

Размер позиции: капитал x notional_frac(1.0) x плечо(1.0) на сделку, средний размер позиции — около 106%. Риск на сделку не ограничен: убыток при стопе составляет примерно диапазон/цена от капитала, около 5-10% для 4-дневного диапазона ETH; максимальный убыток в песочнице — $18.4k. Стратегия не держит позицию постоянно: она остаётся вне рынка в конце дня UTC, доля времени в позиции — 11.9%, поэтому схема постоянного реинвестирования с переворотом позиций из L148 неприменима. Тем не менее просадка в песочнице 43.8% превышает предусмотренное планом значение max_drawdown_pct из 30. Плечо также считывается из parameters['leverage'], а не config.leverage. Сейчас значения совпадают и равны 1.0, но при отсутствии ключа возникнет KeyError.

При желании считай свечи за день и добавляй только дни с 24 свечами.

День помечается как «полный», только если его первая свеча открывается точно в момент привязки. Пропуск свечи в середине дня не выявляется, поэтому максимум, минимум и закрытие дня с разрывом всё равно входят в диапазон. В каталоге указано 0 разрывов для ETHUSDT.OKX 1H, так что на текущих данных это несущественно. Разрывы между днями корректно сбрасывают историю.

Песочница (834 дней, 250 сделок) показывает avg_trade_return_pct от 0.195%. Это лишь немного выше порога 0.15%. Максимальная просадка — 43.8% при ограничении самого плана 30%, а терциль обычной волатильности убыточен: 27.7%. Коэффициент Шарпа CI, интервал — [-0.64, 2.09]. В гипотезе уже указано, что преимущество угасает (2023 около +0.07% на сделку, 2026 YTD около +0.15%) и что проверка не прошла на SOL и LINK. ETH — отобранный инструмент, поэтому скорректируй оценку в сторону снижения. Проверь чистый результат на сделку по годам после 2023 и то, обеспечивают ли результат длинные позиции. При номинале 100% капитала на сделку просадка в основном зависит от размера позиции, поэтому не считай её проблемой сигнала.

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

Шарп
0,74
Общая доходность
397,09%
Максимальная просадка
63,35%
Всего сделок
685
Доля прибыльных
49,6%
Профит-фактор
1,13

Сделки соответствуют заявленному механизму: 346 длинных и 339 коротких позиций, внутридневные пробои, закрытие позиций в конце дня UTC, удержание около 10ч. Было 685 сделок в разные дни; скоплений событий не наблюдалось.

Коэффициент avg_trade_return_pct на полной выборке из 0.259% выше порога 0.15%, PF равен 1.13, коэффициент Шарпа — 0.74, а бета — 0.08; следовательно, это не бета ETH.

Первые 10 из 685 сделок обеспечили 156 от суммы 177 процентных пунктов доходности на сделку. Средний результат остальных 675 сделок — около 0.03%, ниже затрат полного цикла 0.10%.

Чистый результат на сделку по годам: 1.03% в 2020, 0.32%, 0.24%, 0.008%, 0.105%, -0.149% и 0.39% для 2026 YTD. В совокупности за 2023-2026 он составляет около 0.058% против порога 0.15%.

Короткие позиции убыточны в 2021, 2023, 2024 и 2025, поэтому результат обеспечивают длинные позиции.

По режимам волатильности: доходность терциля высокой волатильности — +923%, обычной — -49% при просадке 72%, низкой — -10%.

Сигнал IC равен -0.019 (t=-0.95), доверительный интервал коэффициента Шарпа — [-0.01, 1.51].

Максимальная просадка — 63.4% при заранее зарегистрированном значении 30%; влияние затрат составляет 46.6% от валового результата.

ETH — единственный прошедший отбор из 4 инструментов; SOL и LINK проверку не прошли.

История итераций

Проверка не пройдена (слой 1.5 — согласованность гипотезы и конфигурации) [класс=hypothesis_mismatch]: - optimization_plan фиксирует плечо на уровне 1.0

code_identical: итерация 2 повторно отправила побайтно идентичный код итерации 1 — предыдущие замечания не учтены, поэтому результат не может измениться. Измени код, чтобы учесть замечания, или укажи recommendation='abandon' с причиной, если исправление кода не поможет. Предыдущие замечания: Проверка не пройдена (слой 1.5 — согласованность гипотезы и конфигурации) [класс=hypothesis_mismatch]: - optimization_plan фиксирует плечо на уровне 1.0

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

Прежде чем доверять среднему результату на сделку по всей выборке, проверь, не сосредоточено ли преимущество пробоя в нескольких крайних днях с высокой волатильностью и сохраняется ли оно в последние годы. Особенно важно это, если инструмент — единственный прошедший отбор из нескольких.

Проверка бэктеста завершилась вердиктом «отказ», класс fee_edge: вне примерно 10 крайних дней преимущество на сделку ниже затрат полного цикла 0.10%, а с 2023 оно ниже порога 0.15%, и настройка K и периода истории этого не исправит. До оптимизации и следующих этапов дело не дошло.

Внутридневной пробой Dual Thrust с длинными и короткими позициями на свечах 1ч ETHUSDT.OKX: открывай длинную или короткую позицию, когда цена пробивает открытие UTC-дневного периода на K, умноженное на диапазон за предыдущие 4 дней (K=0.5), и закрывай все позиции к концу дня.

Начальный бэктест охватывал период с 2020-01-04 по 2026-08-20 и включал 685 сделок. Результат составил +397% при коэффициенте Шарпа 0.74 (CI -0.01 до 1.51), PF 1.13 и 0.259% в среднем на сделку; максимальная просадка — 63.4%, а влияние затрат составило 46.6% от валового результата. Преимущество зависело от нескольких сделок: на первые 10 пришлось большинство доходности на сделку, среднее по остальным было около 0.03%, а чистый результат на сделку упал примерно до 0.058% за 2023-2026.

Анализ

Алгоритм торговли Dual Thrust

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