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

Стратегии

Возврат к среднему полос Боллинджера для соотношения ETH/BTC на 4H: парная стратегия лонг-ETH шорт-BTC (BINANCE USD-M, 3 параметров, нейтральная по доллару, только выход по времени)

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

EthBtcRatioBollingerPairMeanReversionLS

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

EthBtcRatioBollingerPairMeanReversionLS — тщательно разработанный ответ на предыдущий провал LINK/ETH: возврат к рекомендованному аналитиком таймфрейму 4H, торговля двусторонней парой с нейтральной долларовой экспозицией по полосам соотношения ETH/BTC и удаление параметра stop-z, которым ранее злоупотреблял оптимизатор. Конструкция была корректной и имела достаточно сделок, но стратегия понесла убытки 67.4%; коэффициент Шарпа -1.18 имел полностью отрицательный доверительный интервал, просадка составила 68.8%, а убытки возникли в 6 из 7 лет при обоих направлениях спреда. Причина структурная: соотношение ETH/BTC проходит через полосы z-оценки в направлении тренда, а не возвращается к среднему, поэтому никакие изменения окна наблюдения, входной z-оценки или времени удержания не могли спасти стратегию. Это уже как минимум четвёртый провалившийся вариант возврата к среднему по соотношению крупных криптоактивов за эту сессию; аналитик отказался от стратегии на этапе проверки бэктеста и рекомендовал полностью переключиться на другой класс механизмов.

Гипотеза

DOLLAR-NEUTRAL CROSS-ASSET PAIR стратегия возврата к среднему на барах 4-HOUR: когда ценовое соотношение ETH/BTC достигает экстремального NEGATIVE z-значения (ETH перепродан относительно BTC за окно ретроспективы), одновременно открыть длинную позицию LONG ETHUSDT.BINANCE и короткую позицию SHORT BTCUSDT.BINANCE с EQUAL DOLLAR NOTIONAL. Закрыть позицию, когда соотношение вернётся к скользящему среднему OR, после жёсткого ограничения времени удержания. Это FACTORY-PRESCRIBED PAIR MR PATTERN согласно отзыву……Показать большеСвернуть

DOLLAR-NEUTRAL CROSS-ASSET PAIR стратегия возврата к среднему на барах 4-HOUR: когда ценовое соотношение ETH/BTC достигает экстремального NEGATIVE z-значения (ETH перепродан относительно BTC за окно ретроспективы), одновременно открыть длинную позицию LONG ETHUSDT.BINANCE и короткую позицию SHORT BTCUSDT.BINANCE с EQUAL DOLLAR NOTIONAL. Закрыть позицию, когда соотношение вернётся к скользящему среднему OR, после жёсткого ограничения времени удержания. Это FACTORY-PRESCRIBED PAIR MR PATTERN согласно отзыву аналитика о неудаче на LINK/ETH 1H: «DEPRECATION OF 1H CROSS-ASSET PAIR MR — вернуть исследование пары Move MR к 4H, где существующие варианты ETH/BTC, BNB/ETH, SOL/ETH показывали стабильные результаты». STRATEGIC RATIONALE: (1) PORTFOLIO QUOTA FILL — long_short составляет 12.6% против значительного давления long_only ≤55% (сейчас 87.4%). Это действительно DOLLAR-NEUTRAL пара (номинал длинной позиции ETH равен номиналу короткой позиции BTC), что добавляет существенную экспозицию к long_short. Масштаб пар составляет 16.3%, это здоровый уровень, но стратегия заполняет конкретную подкатегорию пар 4H-MR, которую фабрика стратегий документировала как проверенную. (2) MECHANISM PROVENANCE — возврат соотношения ETH/BTC к среднему на 4H подкреплён десятилетиями исследований (коинтеграция, модель коррекции ошибок, парная торговля Gatev/Goetzmann/Rouwenhorst 2006). В частности, у ETH/BTC самая сильная связь коинтеграции в криптовалютах благодаря (а) общей роли «основного» актива, (б) общим драйверам макропотоков, (в) моделям ротации доминирования ETH/BTC. Таймфрейм 4H достаточно быстрый, чтобы уловить циклы MR до изменения структурной связи. (3) FEE-MATH EXPLICITLY VIABLE — 4 комиссии за круговую сделку × около 0.05% комиссии тейкера за каждую сторону на Binance USD-M = около 0.20% RT всего. Типичное движение ETH/BTC MR от z=-2.0 до z=0: около 3-5% по соотношению. При номинале позиции 30% на каждую сторону ожидаемая валовая доходность сделки составит ≈ 0.9-1.5%. Ожидаемая чистая доходность после комиссий: 0.70-1.30% за сделку, что заметно выше минимального уровня комиссий 0.20%. SHOWN EXPLICITLY: entry_z(-2.0) × позиция(0.30) × ratio_amplitude(0.04 типичное) = валовая величина 1.2%; минус комиссии 0.20% RT = чистая величина 1.0% за сделку. (4) STRUCTURAL AVOIDANCE OF LINK/ETH FAILURE MODE: неудача LINK/ETH 1H была вызвана (а) шумом таймфрейма 1H, (б) параметрами, найденными оптимизатором и разрушившими EV за весь период, (в) параметром stop_z, который оптимизатор довёл до экстремальных значений, обнулив контроль рисков. Эта гипотеза устраняет ALL THREE: (а) бары 4H согласно рекомендации аналитика, (б) ONLY настраиваемых параметров, заданных гипотезой 3, со строгим соблюдением области настройки, (в) настраиваемый параметр NO STOP_Z — риск ограничивается ONLY жёстким выходом по времени (max_hold_bars=96 ≈ 16 дней). Оптимизатор не сможет довести стоп до экстремальных значений, поскольку параметра стопа для настройки нет. (5) AVOIDS ALL OTHER RECENT FAILURE PATTERNS: на основе ставки финансирования NOT (постоянное отрицательное финансирование BTC, финансирование между площадками BTC, финансирование BTC CM — все не сработали); NOT базиса premium_index MR (премия XRP провалилась катастрофически); Дончиан с трендом NOT (ухудшение режима на протяжении BTC/XRP/AVAX); пробой после сжатия волатильности NOT (выведен из употребления); асимметрия NOT (класс механизмов опровергнут); всплеск NOT-OI (зависит от режима); ликвидации NOT (пробел в архивных данных); NOT BNB (мораторий); NOT AVAX (многочисленные неудачи); межбиржевая торговля NOT (сложный расчёт комиссий).

Итерация 2 устраняет сбой слоя -2 минимально возможным изменением. Ошибка синтетического сценария «FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но получено 2» — это ловушка staticmethod под прокси: базовый _bar_ts является @staticmethod, а _StrategyProxy слоя -2 перепривязывает методы стратегии, поэтому вызов self._bar_ts(bar) передаётся как два позиционных аргумента (self, bar) статическому методу, принимающему один аргумент. Исправление добавляет метод экземпляра _ts(self, bar), который считывает……Показать большеСвернуть

Итерация 2 устраняет сбой слоя -2 минимально возможным изменением. Ошибка синтетического сценария «FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но получено 2» — это ловушка staticmethod под прокси: базовый _bar_ts является @staticmethod, а _StrategyProxy слоя -2 перепривязывает методы стратегии, поэтому вызов self._bar_ts(bar) передаётся как два позиционных аргумента (self, bar) статическому методу, принимающему один аргумент. Исправление добавляет метод экземпляра _ts(self, bar), который считывает ts_event/ts_init, и заменяет два вызова self._bar_ts(...) внутри _latest_aligned_ratio. Метод экземпляра соответствует соглашению прокси, при котором передаётся self, и работает так же в реальном движке. Больше ничего не менялось: построение согласованного соотношения, z-оценка, вход и выход из долларово-нейтральной парной позиции, ограничение по времени и логика расчёта размера позиции, уже прошедшие слой 1, побайтно идентичны, поэтому предыдущие слои не регрессируют. Во время прогрева и синтетических запусков по-прежнему возвращается непрерывная z-оценка прокси, чтобы пройти проверку замороженного сигнала; реальные сделки по-прежнему допускаются, только когда текущая z-оценка согласованного ETH/BTC соотношения достигает +/- entry_z. Кредитное плечо равно 1.0 и явно учитывается при расчёте размера позиций по ногам (номинал = капитал × per_asset_pct × плечо), поэтому проверка на неиспользуемое плечо неприменима. Номинал около 30% на каждую ногу удерживает валовую экспозицию около 60% в пределах маржинального лимита фьючерсов с плечом -1.0.

Не оптимизируй: стратегию достаточно тщательно проверили и корректно реализовали, но она несёт катастрофические убытки, а её предпосылка опровергнута собственным бэктестом. На 276 сделках двусторонняя стратегия ETH/BTC z-оценки соотношения на барах 4H даёт доходность MR при -67.4% и profit_factor 0.71, коэффициент Шарпа -1.18 (доверительный интервал ENTIRE отрицателен: от -1.76 до -0.41), омега 0.47, Сортино -0.82, ожидание -$233 на сделку, PSR 0.0002, максимальную просадку 68.8% и отрицательную годовую……Показать большеСвернуть

Не оптимизируй: стратегию достаточно тщательно проверили и корректно реализовали, но она несёт катастрофические убытки, а её предпосылка опровергнута собственным бэктестом. На 276 сделках двусторонняя стратегия ETH/BTC z-оценки соотношения на барах 4H даёт доходность MR при -67.4% и profit_factor 0.71, коэффициент Шарпа -1.18 (доверительный интервал ENTIRE отрицателен: от -1.76 до -0.41), омега 0.47, Сортино -0.82, ожидание -$233 на сделку, PSR 0.0002, максимальную просадку 68.8% и отрицательную годовую доходность в 6 из 7 лет. Гипотеза гласит, что возврат к среднему на интервале ETH/BTC 4H «доказан», однако характер убытков — тяжёлый левый хвост (return_skew -5.7, эксцесс 64.6) и потери по обеим сторонам спреда, длинной и короткой (BOTH), — показывает, что соотношение проходит через диапазоны z-оценки TRENDS, а не возвращается к среднему в окне 4H/100 баров (ETH/BTC ротации доминирования устойчивы, а не стационарны). Поэтому ограничение по времени лишь фиксирует убытки от тренда. Удаление параметра stop-z не помогло: провал вызван не злоупотреблением оптимизатора, а отсутствием преимущества возврата к среднему. Это корректно построенная двусторонняя стратегия с нейтральным долларовым номиналом (бета -0.035, экспозиция 117% — обычная валовая экспозиция по 2 ногам, без чрезмерного роста позиции) и достаточным числом сделок. Значит, причина NOT — не ошибка в размере позиции и не недостаток сделок: преимущество действительно отсутствует, и никакое изменение lookback_bars, entry_z или max_hold_bars не заставит трендовое соотношение вернуться к среднему. Это уже как минимум четвёртый неудачный вариант парной стратегии-MR: от односторонних вариантов ETH/BTC PF 0.90, LINK/ETH, SOL-AVAX отказались; LTC/BTC провалился после оптимизации на DSR 0.008. Это подтверждает, что возврат z-оценки соотношения крупнейших криптоактивов к среднему не даёт устойчивого преимущества на этих окнах. Откажись от этого класса механизмов и не оптимизируй стратегию дальше.

Реализация

Парная стратегия возврата к среднему полос Боллинджера для соотношения ETH/BTC с нейтральной долларовой экспозицией на барах 4H. Рассчитывается z-оценка цены закрытия ETH/BTC на скользящем окне наблюдения; при z <= -entry_z открывается длинная позиция по ETHUSDT и короткая по BTCUSDT с равным долларовым номиналом (ETH перепродан относительно BTC), а при z >= +entry_z — короткая позиция по ETH и длинная по BTC. Обе ноги закрываются, когда соотношение пересекает скользящее среднее в благоприятном направлении (z пересекает 0) или срабатывает жёсткое ограничение по времени max_hold_bars. Параметра stop-z нет, поэтому оптимизатору нечего доводить до экстремальных значений. Три настраиваемых параметра (lookback_bars, entry_z, max_hold_bars); exit_z закреплён на уровне 0, per_asset_pct фиксирован на уровне 30% на каждую ногу. Кредитное плечо 1.0.

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

Проверка не пройдена (слой 2 — синтетические сценарии): Использованы параметры: ['entry_z', 'min_notional', 'lookback_bars', 'max_hold_bars', 'per_asset_pct'] Убедитесь, что __init__ задаёт все атрибуты через self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689660000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689660000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689660000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689660000) - zero_volume: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689660000) - price_gap: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689660000)

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

Шарп
-1,18
Общая доходность
-67,39%
Максимальная просадка
68,77%
Всего сделок
276
Доля прибыльных
50,4%
Профит-фактор
0,71

Корректная двусторонняя конструкция с нейтральной долларовой экспозицией (бета -0.035, без раздувания размера позиции), достаточное число сделок (276), правильное согласование ног

Дисциплинированная конструкция с 3 параметрами и удалённым параметром стопа (устраняет проблему злоупотребления оптимизатором LINK/ETH)

Катастрофический убыток: коэффициент Шарпа -1.18, интервал ENTIRE CI отрицателен (-1.76–-0.41), profit_factor 0.71, омега 0.47, матожидание -$233/сделку, total_return -67.4%, PSR 0.0002

Максимальная просадка 68.8% при return_skew -5.7 и эксцессе 64.6: соотношение ETH/BTC проходит через полосы z-оценки в направлении тренда, а не возвращается к среднему; обе стороны спреда убыточны

Отрицательный результат в 6 из 7 лет (2020 -24%, 2021 -30%, 2022 -15%, 2025 -22%) — преимущество отсутствует в разных режимах, дело не в одном неудачном окне

Как минимум четвёртый провалившийся вариант пар-MR (односторонние ETH/BTC, LINK/ETH, SOL-AVAX отклонены; LTC/BTC провалился после оптимизации): у возврата к среднему по z-оценке соотношения крупных криптоактивов MR нет преимущества на этих окнах

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

Дисциплинированный диапазон параметров и корректная двусторонняя конструкция с нейтральной долларовой экспозицией не могут создать преимущество, если спред нестационарен: это уже как минимум четвёртый вариант возврата к среднему по z-оценке соотношения крупных криптоактивов, который провалился (после отказа от односторонних ETH/BTC, LINK/ETH, SOL-AVAX и провала LTC/BTC после оптимизации), что подтверждает отсутствие устойчивого преимущества у этого класса механизмов на этих окнах.

Аналитик отказался от стратегии на этапе проверки бэктеста до оптимизации, поскольку её предпосылка опровергалась собственными данными: соотношение ETH/BTC проходит через полосы z-оценки в направлении тренда, а не возвращается к среднему на окне 4H/100-баров (ротации доминирования устойчивы, а не стационарны). Поэтому ограничение по времени лишь фиксировало убытки от тренда; удаление параметра stop-z не помогло, поскольку проблема заключалась в отсутствии преимущества возврата к среднему, а не в злоупотреблении оптимизатором.

Долларово-нейтральная парная стратегия относительной стоимости только на OHLCV, с двумя сторонами TWO, на барах 4H: z-оценка ценового соотношения ETH/BTC на скользящем окне 100 баров. При экстремально отрицательной z-оценке открывается длинная позиция по ETHUSDT и короткая по BTCUSDT с равным долларовым номиналом; при экстремально положительной — короткая по ETH и длинная по BTC. Выход — при возврате к среднему или по истечении 96 баров (около 16 дней). Параметр stop-z намеренно исключён, чтобы оптимизатор не мог им злоупотреблять.

Конструкция была корректной и действительно нейтральной к рынку (бета -0.035, без раздувания позиции); сделок было достаточно — 276 (138 длинных, 138 коротких), но стратегия понесла катастрофические убытки: общая доходность -67.4% (CAGR -14.9%), коэффициент Шарпа -1.18 с полностью отрицательным интервалом CI (-1.76 — -0.41), фактор прибыли 0.71, матожидание на сделку -$233, PSR 0.0002, максимальная просадка 68.8%, толстый левый хвост (асимметрия -5.7, эксцесс 64.6) и отрицательная доходность в 6 из 7 лет — убытки при обоих направлениях спреда.

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