Кросс-секционный краткосрочный разворот на диверсифицированной корзине альткоинов (лонг недавних аутсайдеров / шорт недавних лидеров, нейтрально к доллару, Binance USD-M, сигнал за 3 дней, ребалансировка раз в 2 дней)
Представленная как собственная рекомендация аналитика, реализованная напрямую, — краткосрочный разворот, подходящий текущему режиму, на диверсифицированном наборе активов, чтобы разница рангов отражала реальный идиосинкратический сигнал, — эта нейтральная к доллару позиция была аккуратно построена и имела разумные, надёжные метрики. Но чистый бэктест выявил катастрофическую доходность -97.6%, просадку 97.7% и отрицательный коэффициент Шарпа; убыток был в 5 из 7 лет, а в каскадном падении альткоинов 2021 просадка достигла -79.6%. Поняв, что это смена знака у корзин кросс-секционного моментума, от которых отказались ранее в этой сессии, и результат намного хуже, аналитик отклонил стратегию на этапе проверки бэктеста как эмпирически нежизнеспособный фактор, а не проблему настройки параметров. До оптимизации, оценки риска или бумажной торговли она не дошла.
Стратегия MARKET-NEUTRAL (с нейтральной долларовой экспозицией), CROSS-SECTIONAL SHORT-TERM REVERSAL на намеренно DISPERSED корзине из ~12 ликвидных бессрочных контрактов Binance USD-M из разных секторов и с разной бетой. Это прямое воплощение явной и неоднократно повторённой рекомендации аналитика: «REVERSAL (длинная позиция по нижним k, короткая — по верхним k), что приносит пользу при возврате спредов к среднему в текущем боковом режиме… используйте более разнородный набор активов (включите активы с низкой……Показать большеСвернуть
Стратегия MARKET-NEUTRAL (с нейтральной долларовой экспозицией), CROSS-SECTIONAL SHORT-TERM REVERSAL на намеренно DISPERSED корзине из ~12 ликвидных бессрочных контрактов Binance USD-M из разных секторов и с разной бетой. Это прямое воплощение явной и неоднократно повторённой рекомендации аналитика: «REVERSAL (длинная позиция по нижним k, короткая — по верхним k), что приносит пользу при возврате спредов к среднему в текущем боковом режиме… используйте более разнородный набор активов (включите активы с низкой бетой или без корреляции), чтобы разница рангов несла реальный сигнал». Каждые 2 дней ранжируйте активы корзины по доходности за последние 3 дней; открывайте LONG позицию по нижним K (недавно показавшим относительную LOSERS, которые отскакивают) и SHORT по верхним K (недавно показавшим относительную WINNERS, которая откатывается), задавая равный долларовый вес каждой стороне, чтобы портфель был нейтрален по бете и долларовой экспозиции. CRITICAL DESIGN NOTES отличают эту стратегию от закрытых семейств и недавних неудач: (1) это SIGN-FLIP кросс-секционной/абсолютной MOMENTUM, которую на сессии объявили неработающей на основных активах, — краткосрочный разворот является подходящим для текущего режима фактором в боковом рынке 2025-26 с возвратом к среднему; (2) она PURE OHLCV — использует NO вспомогательные данные, намеренно обходя пробелы в многолетних данных taker_ratio / open_interest, которые фрагментировали бэктесты и сделали скользящий анализ вне выборки вырожденным для семейства трендовых стратегий с фильтрацией сигналов (финансирование/OI/агрессивные сделки по рынку); (3) состав активов DISPERSED по определению (основные активы + L1 + L2 + DeFi + мем-активы + платёжные токены), поэтому разница рангов между отстающими активами для длинных позиций и лидерами для коротких несёт реальный идиосинкратический сигнал, а не сводится к шуму из-за усиления корреляции основных активов (сценарий провала корзин импульсных стратегий); (4) каждая сторона состоит из DIFFERENT актива с реальной относительной прибылью или убытком от изменения цены, которые учитывает движок, — это не сделка на базисе или переносе позиции по одному активу; (5) перебалансировка проводится каждые 2 дней по 12 активам, поэтому каждое OOS-окно скользящего анализа вне выборки DENSELY заполнено — структурно исключён характерный для класса стратегий накопления просадки режим редких событий и пустых значений OOS; (6) NOT между площадками / HYPERLIQUID, NOT COIN-M, NOT коэффициент ETH/BTC (исчерпан), NOT по одному символу RSI MR. Намеренно минималистична: 3 настраиваемых параметра (reversal_lookback, rebalance_days, basket_fraction).
Исправление в итерации 2: синтетический прокси слоя -2 вызывает `_bar_ts` с неявным `self`, поэтому `@staticmethod`, ожидающий 1 аргумента, получил 2 позиционных аргумента и выдал TypeError во всех шести синтетических сценариях. `_bar_ts` изменён с staticmethod (`def _bar_ts(bar)`) на обычный метод экземпляра (`def _bar_ts(self, bar)`), чтобы принимать привязанный `self` и `bar`. Это единственное изменение; место вызова `self._bar_ts(bar)` не менялось и теперь передаёт ровно два позиционных аргумента. Логика сигнала, ранжирования, определения размера позиции и ребалансировки (уже прошедшая слой 1) не затронута; предыдущие слои остаются пройдены.
Оптимизировать не стоит: это бэктест CLEAN (без артефакта плеча или учёта — волатильность 32%, разумный PnL на сделку), выявляющий катастрофически NEGATIVE преимущество — total_return -97.6%, max_drawdown 97.7% (CI высокий 98.9%), коэффициент Шарпа -0.71 (CI -1.30 до -0.03), profit_factor 0.86, матожидание -$23.7/сделку, PSR 0.012 — убыток в 5 из 7 лет, просадка почти за весь период и катастрофический 2021 (-79.6%). Исправлять ошибку в коде нечего, поэтому это не повод для очередной итерации: фактор……Показать большеСвернуть
Оптимизировать не стоит: это бэктест CLEAN (без артефакта плеча или учёта — волатильность 32%, разумный PnL на сделку), выявляющий катастрофически NEGATIVE преимущество — total_return -97.6%, max_drawdown 97.7% (CI высокий 98.9%), коэффициент Шарпа -0.71 (CI -1.30 до -0.03), profit_factor 0.86, матожидание -$23.7/сделку, PSR 0.012 — убыток в 5 из 7 лет, просадка почти за весь период и катастрофический 2021 (-79.6%). Исправлять ошибку в коде нечего, поэтому это не повод для очередной итерации: фактор краткосрочного кросс-секционного разворота просто отрицательный на диверсифицированной корзине криптоальткоинов, поскольку при каскадных распродажах недавние аутсайдеры продолжают падать, а короткие позиции по недавним лидерам несут большие убытки. Решающий факт: это SIGN-FLIP кросс-секционных корзин импульса, от которых уже отказались в этой сессии, и результаты намного хуже — ни один знак кросс-секционного альткоинового фактора не даёт преимущества, перекрывающего комиссии, — к тому же стратегия относится к семейству разворота, которое аналитик неоднократно опровергал. Настраиваемые параметры 3 (reversal_lookback, rebalance_days, basket_fraction) не превратят убыток -97.6% в прибыль; проблема в самом факторе, а не в его параметрах. (Примечание: от стратегии отказываются из-за эмпирически неработающего фактора при корректном бэктесте — NOT из-за проблемы с данными или учётом фондирования; конструкция с нейтральной долларовой экспозицией корректна, преимущества просто нет.)
Реализация
Нейтральный к доллару кросс-секционный краткосрочный разворот на диверсифицированной корзине из 12 ликвидных бессрочных контрактов Binance USD-M на альткоины. Каждые 2 дней ранжирует каждый актив по доходности за последние 3 дней, открывает лонг по нижним -3 (недавним аутсайдерам) и шорт по верхним -3 (недавним лидерам), с равным долларовым весом каждой стороны. Чистый OHLCV, без плеча, валовая экспозиция ограничена размером капитала. Ребалансирует позиции прямыми ордерами по каждой стороне на основе calculate_signal.
Результаты верификации
Проверка не пройдена (слой 2 — синтетические сценарии): Использованы параметры: ['assets', 'vol_floor', 'resize_frac', 'min_notional', 'num_per_side', 'qty_precision', 'rebalance_days', 'basket_fraction', 'reversal_lookback', 'default_qty_precision'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: TypeError: CrossSectionalShortTermReversalDispersedAltBasketLS._bar_ts() принимает 1 позиционных аргумента, но передано 2 (временная метка бара: 1735689840000) - steady_downtrend:……Показать большеСвернуть
Проверка не пройдена (слой 2 — синтетические сценарии):
Использованы параметры: ['assets', 'vol_floor', 'resize_frac', 'min_notional', 'num_per_side', 'qty_precision', 'rebalance_days', 'basket_fraction', 'reversal_lookback', 'default_qty_precision']
Проверьте, что __init__ задаёт все атрибуты из self.parameters.get().
- steady_uptrend: TypeError: CrossSectionalShortTermReversalDispersedAltBasketLS._bar_ts() принимает 1 позиционных аргумента, но передано 2 (временная метка бара: 1735689840000)
- steady_downtrend: TypeError: CrossSectionalShortTermReversalDispersedAltBasketLS._bar_ts() принимает 1 позиционных аргумента, но передано 2 (временная метка бара: 1735689840000)
- flat_ranging: TypeError: CrossSectionalShortTermReversalDispersedAltBasketLS._bar_ts() принимает 1 позиционных аргумента, но передано 2 (временная метка бара: 1735689840000)
- volatility_spike: TypeError: CrossSectionalShortTermReversalDispersedAltBasketLS._bar_ts() принимает 1 позиционных аргумента, но передано 2 (временная метка бара: 1735689840000)
- zero_volume: TypeError: CrossSectionalShortTermReversalDispersedAltBasketLS._bar_ts() принимает 1 позиционных аргумента, но передано 2 (временная метка бара: 1735689840000)
- price_gap: TypeError: CrossSectionalShortTermReversalDispersedAltBasketLS._bar_ts() принимает 1 позиционных аргумента, но передано 2 (временная метка бара: 1735689840000)
Обзор бэктеста
Шарп
-0,71
Общая доходность
-97,57%
Максимальная просадка
97,73%
Всего сделок
3791
Доля прибыльных
51,9%
Профит-фактор
0,86
Чистая, корректно построенная нейтральная к доллару позиция (бета -0.09, benchmark_correlation -0.16), чистый OHLCV, достаточное число сделок (3,791), плотное распределение по всей выборке — без артефактов плеча или учёта, метрики надёжны
Напрямую реализует заявленную рекомендацию и в принципе заполняет недостаточно представленные категории нейтральных к рынку стратегий и стратегий на нескольких инструментах
Катастрофически отрицательное преимущество на чистом бэктесте: total_return -97.6%, max_drawdown 97.7% (максимум CI 98.9%), коэффициент Шарпа -0.71 (CI -1.30 до -0.03), profit_factor 0.86, матожидание -$23.7 на сделку, PSR 0.012
Убыток был в 5 из 7 лет; просадка длилась почти весь период (1,989 дней), а в -79.6% убыток достиг катастрофических 2021 — краткосрочный разворот проваливается именно тогда, когда альткоины падают каскадом (аутсайдеры продолжают падать, а шорты по лидерам несут убытки)
Стратегия использует знак, противоположный знаку корзин кросс-секционного моментума, от которых отказались ранее в этой сессии, и показывает гораздо худший результат: ни один знак кросс-секционного фактора альткоинов не покрывает комиссии; стратегия относится к семейству возврата к среднему, которое неоднократно опровергали.
Высокий эксцесс 108 / асимметрия -5.2 и влияние комиссий (комиссия 2.73% от валовой прибыли, смена позиций примерно каждые 3.3 дней) усугубляют отсутствие преимущества у фактора с самого начала
Сводка по итогам
Ни один знак кросс-секционного фактора альткоинов не покрывает комиссии: стратегия использует знак, противоположный знаку корзин моментума, от которых отказались ранее в этой сессии, и показывает гораздо худший результат. Причина в самом факторе, а не в трёх настраиваемых параметрах, поэтому оптимизация его не спасёт.
Аналитик вынес вердикт «отклонить» на этапе проверки бэктеста до оптимизации: конструкция была корректной (ошибки для исправления итерациями не было), но фактор краткосрочного разворота оказался однозначно отрицательным на диверсифицированной корзине криптоальткоинов; сильнее всего он проседал в каскадных распродажах при уходе от риска, когда аутсайдеры продолжали падать, а шорты по лидерам несли убытки.
Нейтральная к доллару кросс-секционная стратегия краткосрочного разворота на намеренно диверсифицированной корзине примерно из 12 ликвидных бессрочных контрактов Binance USD-M на альткоины: каждые 2 дней ранжирует активы по доходности за последние 3 дней, открывая равновзвешенные в долларах лонги по недавним относительным аутсайдерам (в расчёте на отскок) и шорты по недавним лидерам (в расчёте на откат).
На чистом бэктесте без ошибок (2020-2026, 2,082 дней данных, 3,791 сделок, годовая волатильность 32%) преимущество было катастрофически отрицательным: общая доходность -97.6%, максимальная просадка 97.7% (максимум CI 98.9%), коэффициент Шарпа -0.71 (CI -1.30 до -0.03), фактор прибыли 0.86, матожидание -$23.7 на сделку и PSR 0.012. Убыток был в 5 из 7 лет; просадка длилась почти весь период (1,989 дней), а в 2021 убыток достиг катастрофических -79.6%.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.