SOL–ETH: возврат к среднему остатка с хеджированием по бете — нейтральный к рынку статистический спред между двумя ликвидными бессрочными контрактами L1 (оба BINANCE USD-M, сделки только при отклонении остатка ≥2σ, бары 4H, 3 параметров)
Итог: Отменено
SolEthBetaHedgedResidualMeanReversionPair
Сводка по итогам
SolEthBetaHedgedResidualMeanReversionPair отказалась от неработающего заработка на фандинге ради другого механизма: остаточного спреда с хеджированием по бете между двумя коррелирующими бессрочными фьючерсами L1. Сделки открываются только при подтверждённых отклонениях ≥2σ выше явного порога комиссии; конструкция нейтральна по бете. Механизм реализован корректно (реализованная бета 0.009, 262 парных сделок длительностью ~3 дней с фильтром по отклонению, без ликвидаций), поэтому вывод относится к самой гипотезе. Результат однозначно отрицательный: фактор прибыли 0.79 (валовый убыток до комиссий), средняя сделка -0.827%, общая доходность -50.97%, коэффициент Шарпа -0.49, просадка 53.4% и убытки во все шесть лет. Более того, это уже вторая попытка: подтверждение возврата и фильтр комиссии превратили прежний низкий захват +0.084% в убыток вместо прибыли. Аналитик отказался от стратегии на этапе проверки бэктеста: это убыточный возврат к среднему для пары без преимущества, а не ухудшение, и дальнейшая настройка не могла его спасти. До оптимизации, анализа или оценки риска дело не дошло.
MARKET-NEUTRAL, LONG-SHORT — статистическая арбитражная пара на двух структурно связанных крупных смарт-контрактных L1: SOLUSDT.BINANCE и ETHUSDT.BINANCE (оба — бессрочные фьючерсы USD-M, оба высоколиквидны, корреляция ~0.8). Стратегия полностью отказывается от семейства заработка на фандинге: оно только что столкнулось с ранее отвергнутой/переобученной гипотезой, у которой avg_trade_return_pct составлял 0.006% — разница структурно меньше комиссий. Вместо этого она торгует механизм DIFFERENT: остаточный спред с……Показать большеСвернуть
MARKET-NEUTRAL, LONG-SHORT — статистическая арбитражная пара на двух структурно связанных крупных смарт-контрактных L1: SOLUSDT.BINANCE и ETHUSDT.BINANCE (оба — бессрочные фьючерсы USD-M, оба высоколиквидны, корреляция ~0.8). Стратегия полностью отказывается от семейства заработка на фандинге: оно только что столкнулось с ранее отвергнутой/переобученной гипотезой, у которой avg_trade_return_pct составлял 0.006% — разница структурно меньше комиссий. Вместо этого она торгует механизм DIFFERENT: остаточный спред с хеджированием по бете между двумя активами возвращается к среднему после кратковременных идиосинкратических отклонений. На каждом баре стратегия оценивает коэффициент хеджирования β по скользящей регрессии лог-доходностей SOL на лог-доходности ETH, рассчитывает остаточный спред = log(SOL) − β·log(ETH) − rolling_mean и нормирует его до z-оценки. Когда остаток достигает экстремума (|z| ≥ 2), стратегия занимает позицию в сторону возврата: SHORT дорогую ногу / LONG дешёвую, подбирая размеры так, чтобы ноги были нейтральны по бете (чистая направленная бета ≈ 0), и закрывает позицию по мере возврата остатка к нулю. Это не импульс/тренд (0/213 мёртвый класс, L56), не заработок на фандинге/базисе (не работает, L57), не опционы, не возврат к среднему на одном активе RSI/BBand (подвержен криптошуму) и не микроструктурная ставка на затухание колебаний с прибылью ниже комиссии. Это низкочастотная сделка относительной стоимости, отфильтрованная по отклонениям, где захват на одно событие многократно превышает комиссию. Стратегия заполняет недостаточно представленные корзины лонг-шорт (14% против потолка ≤55% для лонг-онли) и парных стратегий. Ровно 3 настраиваемых параметра: порог входа по z, порог выхода по z и скользящий период расчёта β/среднего/σ.
Итерация 3 отвечает на вывод об отсутствии преимущества из-за комиссий на Layer-4 тремя точечными изменениями: какие отклонения WHICH торговать и какую их долю захватывать, сохраняя без изменений всю ранее прошедшую проверку структуру (импорты, математику сигналов, размер позиций по ногам, исполнение хеджа, скользящие моменты O(1)). (1) Подтверждение возврата: для входа остаток должен быть растянут и AND уже поворачиваться к нулю (z снижается при z >= +entry_z, растёт при z <= -entry_z). Предыдущая версия входила……Показать большеСвернуть
Итерация 3 отвечает на вывод об отсутствии преимущества из-за комиссий на Layer-4 тремя точечными изменениями: какие отклонения WHICH торговать и какую их долю захватывать, сохраняя без изменений всю ранее прошедшую проверку структуру (импорты, математику сигналов, размер позиций по ногам, исполнение хеджа, скользящие моменты O(1)). (1) Подтверждение возврата: для входа остаток должен быть растянут и AND уже поворачиваться к нулю (z снижается при z >= +entry_z, растёт при z <= -entry_z). Предыдущая версия входила при простом пересечении порога, то есть прямо во время продолжающегося расширения отклонения — систематически неблагоприятной половины распределения пересечений и наиболее вероятного источника отрицательного матожидания до комиссий, выявленного разработчиком в тесте на всей истории. Ожидание разворота формирует действительно иную условную выборку того же механизма, а не перенастройку внутри диапазона, который уже показал повсеместно отрицательные результаты. (2) Цель полного возврата: значение по умолчанию exit_z 0.50 -> 0.25 увеличивает захватываемую долю каждого отклонения примерно с 75% до 90% при фиксированном круговом обороте из 4 исполнений, напрямую повышая avg_trade_return_pct с уровня 0.084%, который он показал. (3) Явный порог комиссий: ожидаемый захват рассчитывается в единицах списания комиссий, (|z| - exit_z)*sd_residual/(1+beta) как доля номинала GROSS; входы ниже 0.30% — 3x от кругового оборота тейкера, составляющего примерно 0.10% валового объёма, — отклоняются, поэтому отклонение номинально в 2 сигма, но арифметически не покрывающее комиссии, не открывается. Значение lookback по умолчанию сокращается с 120 до 90 баров, чтобы нацелиться на отклонения, возвращающиеся в пределах лимита удержания в 20 баров, а не на медленный дрейф режима. Набор настраиваемых параметров не меняется (entry_z, exit_z, lookback с теми же объявленными _param_bounds); min_capture_frac, stop_z, max_hold_bars и gross_exposure остаются фиксированными ограничителями риска. Площадка остаётся BINANCE USD-M, поскольку стратегия открывает короткую позицию по одной ноге; плечо остаётся 1.0 (и при расчёте размера позиции считывается из конфигурации), поскольку нейтральный к рынку портфель с риском остаточного расхождения не следует усиливать. Честная оговорка, приведённая один раз, как и требуется: QA прав в том, что механизм остаточного отклонения уровня давал отрицательный результат до комиссий по всему прежнему диапазону, поэтому фильтр подтверждения — ключевая ставка этой версии; если вход только при подтверждённых разворотах не выведет матожидание до комиссий в плюс, от этого семейства гипотез следует отказаться, а не продолжать его итерации.
Однозначный вывод: парная стратегия возврата к среднему убыточна во все 6 лет (2021 -7.7% — 2025 -10.2%, 2026 -0.6%); скользящий коэффициент Шарпа отрицателен практически на всей истории. Это отсутствие преимущества, а не ухудшение режима. profit_factor 0.79 показывают, что бета-хеджированный остаток SOL-ETH теряет GROSS ещё до учёта комиссии за полный оборот ~0.10%; avg_trade_return_pct составляет -0.827% (знак противоположен порогу 0.15%), total_return -50.97%, коэффициент Шарпа -0.49 (CI [-1.16, 0.16]),……Показать большеСвернуть
Однозначный вывод: парная стратегия возврата к среднему убыточна во все 6 лет (2021 -7.7% — 2025 -10.2%, 2026 -0.6%); скользящий коэффициент Шарпа отрицателен практически на всей истории. Это отсутствие преимущества, а не ухудшение режима. profit_factor 0.79 показывают, что бета-хеджированный остаток SOL-ETH теряет GROSS ещё до учёта комиссии за полный оборот ~0.10%; avg_trade_return_pct составляет -0.827% (знак противоположен порогу 0.15%), total_return -50.97%, коэффициент Шарпа -0.49 (CI [-1.16, 0.16]), max_drawdown 53.4%, IR -0.82. Сделки точно реализуют гипотезу (бета 0.009, парные сделки длительностью ~3 дней с фильтром по отклонению 262), поэтому вывод относится к самому механизму. Это уже вторая попытка: подтверждение возврата, цель полного возврата и явный порог покрытия комиссий в докстринге были целевыми исправлениями прежней версии, захватывавшей меньше порога +0.084%; однако они сделали ожидание на сделку отрицательным. Итерация ухудшила результат, поэтому настройка параметров 3 не спасёт портфель, который несёт валовый убыток каждый год. Прекратить на BACKTEST_REVIEW, не тратя бюджет оптимизации. Картина провала: pairs_residual_reversion_no_edge (L55 возврат к среднему PF<1.15).
Реализация
Рыночно-нейтральная статистическая пара SOL/ETH на BINANCE USD-M 4H. На каждом синхронном баре коэффициент хеджирования бета оценивается скользящей регрессией лог-доходностей SOL на лог-доходности ETH; формируется остаток log(SOL) - beta*log(ETH), который нормируется в z-оценку и непрерывно служит сигналом. Когда остаток выходит за entry_z AND и уже возвращается к нулю, стратегия шортит дорогую ногу и лонгит дешёвую, уравнивая противоположные бета-взвешенные номиналы USD (чистая дельта ~0, валовая позиция фиксирована на уровне equity*gross_exposure независимо от беты). Выход происходит при полном возврате (|z| <= exit_z), резком расширении остатка (|z| >= 4), смене его знака или достижении лимита удержания в 20 баров (~3.3 дней). Обе ноги всегда открываются и закрываются в одном событии; сверка на каждом баре закрывает осиротевшие хеджи и хеджирует неприкрытую основную ногу.
Результаты верификации
Проверка не пройдена (уровень 4 — проверка QA):
- Неэффективность и невозможность покрыть комиссии убедительно установлены собственным тестом разработчика на всей истории (пункт проверки №7, L6/L7). В обеих итерациях указано, что на всей истории SOL/ETH 4H (2020-09–2026-08, 12,911 синхронных баров) остаток с бета-хеджированием NOT возвращается к среднему на этом горизонте, а конфигурация EVERY в заявленных пределах даёт отрицательный результат после комиссий PRE — разработчик прямо называет прогон «чистой проверкой на опровержение механизма гипотезы, а не кандидатом на настройку». Песочница за 362 дней подтверждает отсутствие сигнала: Sharpe -0.078 (sharpe_ci [-1.67, 1.57], интервал пересекает ноль), total_return +0.195% (без изменений за год), profit_factor 1.005, win_rate 0.456 и avg_trade_return_pct +0.084% — ниже порога жизнеспособности 0.15%; при паре BINANCE USD-M из двух ног с исполнением по рынку в 4 (~0.20% за полный круг) чистое математическое ожидание неотличимо от нуля. Поскольку до комиссий механизм отрицателен во всём диапазоне параметров, оптимизатору нечего подбирать.
При BACKTEST_REVIEW сначала оцени результаты на истории FULL, прежде чем выделять бюджет на оптимизацию; отдельно проверь матожидание до комиссий именно у входов, прошедших фильтр подтверждения.
Преимущество невелико, и его пока нельзя статистически отличить от нуля — для аналитика это вопрос BACKTEST_REVIEW / значимости, а не блокировка QA. Sharpe в песочнице всего 0.136, интервал sharpe_ci [-1.60, 1.65] пересекает ноль; total_return +1.63% за 362 дней, PF 1.06, сделок: 44. После поправки на завышение лучшего результата из N попыток оптимизатора эта базовая версия вряд ли пройдёт порог DSR 0.95; аналитику следует считать её ненадёжным кандидатом.
Аналитик должен явно воспроизвести ожидание до комиссий на всей истории с новой логикой подтверждения и фильтра комиссии. Если оно явно не положительно до комиссий, откажись от этого семейства (не повторяй итерацию); если положительно, переходи к walk-forward-анализу, где OOS/холд-аут/PBO напрямую проверяют переобучение.
Риск переобучения на окне песочницы. Это 3-я итерация того же механизма SOL/ETH; каждая оценивалась на одной и той же песочнице длиной ~1 лет. Собственный пробный запуск итерации 2 на всей истории (2020-2026) показал NEGATIVE до комиссий во всём диапазоне параметров. Сочетание фильтра подтверждения, exit_z=0.25 и фильтра комиссии — это «ключевая ставка» разработчика и, возможно, действительно иная условная выборка. Однако небольшой +1.63% на единственном окне, на котором проводились итерации, также мог быть подогнан под это окно.
Обзор бэктеста
Шарп
-0,49
Общая доходность
-50,97%
Максимальная просадка
53,37%
Всего сделок
262
Доля прибыльных
47,3%
Профит-фактор
0,79
По конструкции действительно нейтральна к рынку (реализованная бета 0.009), ликвидаций нет, обе ноги открываются на одном баре
Сделки соответствуют гипотезе: 262 парных сделок с фильтром по отклонению, удержание ~3 дней, корректный подбор размера с хеджированием по бете — это вывод о механизме, а не артефакт реализации
Отрицательный результат за EVERY год выборки длиной 6 года (2021 -7.7%, 2022 -9.1%, 2023 -8.8%, 2024 -12.1%, 2025 -10.2%) — преимущества не было с самого начала, оно не исчезло со временем
profit_factor 0.79 (<1.0) означает убыток GROSS до комиссий; avg_trade_return_pct -0.827% отрицателен, что противоположно целевому минимуму >0.15%
Коэффициент Шарпа -0.49 при CI [-1.16, 0.16], max_drawdown 53.4%, information_ratio -0.82, ожидание -$155/сделку
Это уже вторая попытка: исправления с подтверждением возврата, целью полного возврата и фильтром комиссии должны были увеличить захват +0.084% прежней версии, но вместо этого сделали доходность на сделку отрицательной — итерация ухудшила результат
История итераций
Проверка не пройдена (уровень 2 — синтетические сценарии): Использованные параметры: ['exit_z', 'stop_z', 'entry_z', 'beta_max', 'beta_min', 'lookback', 'min_notional', '_param_bounds', 'max_hold_bars', 'gross_exposure', 'min_notional_hedge'] Убедись, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689600000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() принимает……Показать большеСвернуть
Проверка не пройдена (уровень 2 — синтетические сценарии):
Использованные параметры: ['exit_z', 'stop_z', 'entry_z', 'beta_max', 'beta_min', 'lookback', 'min_notional', '_param_bounds', 'max_hold_bars', 'gross_exposure', 'min_notional_hedge']
Убедись, что __init__ задаёт все атрибуты из self.parameters.get().
- steady_uptrend: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689600000)
- steady_downtrend: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689600000)
- flat_ranging: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689600000)
- volatility_spike: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689600000)
- zero_volume: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689600000)
- price_gap: TypeError: FactoryStrategy._bar_ts() принимает 1 позиционный аргумент, но передано 2 (временная метка бара: 1735689600000)
Сводка по итогам
Корректная нейтральная к рынку конструкция и строгие фильтры отклонений и комиссий не могут создать отсутствующее преимущество: остаток с хеджированием по бете SOL-ETH не даёт премии за возврат к среднему (валовый убыток каждый год на протяжении шести лет). Когда целевые исправления, призванные увеличить и без того низкий захват ниже порога, вместо этого делают ожидание на сделку отрицательным, это доказывает отсутствие механизма, а не неверную настройку; итерации следует прекратить.
Аналитик отказался от стратегии на этапе проверки бэктеста: убыточный возврат к среднему для пары однозначно не имеет преимущества (это не ухудшение), результат отрицательный каждый год, фактор прибыли ниже 1.0, то есть валовый убыток до комиссии за полный оборот. Важно, что это уже вторая попытка: исправления с подтверждением возврата, целью полного возврата и явным фильтром комиссии должны были увеличить захват +0.084% прежней версии ниже порога, но вместо этого сделали ожидание на сделку отрицательным. Итерация ухудшила результат, поэтому настройка параметров 3 не спасёт портфель, который теряет до комиссий каждый год (L55, pairs_residual_reversion_no_edge, PF<1.15).
Рыночно-нейтральная длинно-короткая пара для статистического арбитража двух структурно связанных крупных бессрочных контрактов L1 (SOLUSDT и ETHUSDT, оба BINANCE USD-M, бары 4H), торговавшая возврат бета-хеджированного остатка к среднему: на каждом баре коэффициент хеджирования β оценивался скользящей регрессией лог-доходностей SOL на ETH, формировался нормированный остаточный спред, а при отклонениях ≥2σ, уже разворачивающихся обратно, и прохождении порога комиссии 0.30% от валовой позиции открывался шорт дорогой ноги и покупалась дешёвая, с нейтральной бетой; выход — при полном возврате, стопе или достижении максимального срока удержания. Настраиваемых параметров: 3.
Бэктест (12917 баров 4H, 2020-2026) показал однозначный убыток: total_return -50.97% на 262 сделках, фактор прибыли 0.79 (валовый убыток ещё до комиссий), avg_trade_return_pct -0.827% (знак противоположен порогу 0.15%), коэффициент Шарпа -0.49 (CI [-1.16, 0.16]), максимальная просадка 53.4%, информационное отношение -0.82, ожидание -$155/сделку; отрицательный результат во все шесть лет (2021 -7.7% — 2025 -10.2%). При этом конструкция действительно нейтральна к рынку (реализованная бета 0.009), ликвидаций нет, а парные сделки длительностью ~3 дней точно следуют гипотезе и фильтруются по отклонению.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.