Стратегии
Возврат соотношения ETH/BTC к среднему + фильтр ставки финансирования
Итог: Отменено
EthBtcRatioMeanReversionFundingFilterLS
Сводка по итогам
Это было дополнение с фильтром ставки финансирования к уже отвергнутой парной стратегии возврата к среднему по z-оценке ETH/BTC; цель состояла в повышении коэффициента Шарпа и снижении просадки за счёт пропуска перегруженных направленных входов. Исправление итерации -2 правильно добавило плечо в расчёт размера позиции, но результат повторил катастрофу родственной стратегии: коэффициент Шарпа -0.91, фактор прибыли 0.81, общая доходность -91.3%, просадка 94% и убытки во всех семи годах. Результат усугубили два недостатка: соотношение ETH/BTC движется трендом, а не возвращается к среднему, поэтому сигнал возврата идёт против устойчивых движений; годовые пороги фильтра ставки финансирования были настолько мягкими, что все 912 сделок прошли без фильтра. Заявленное преимущество не проявилось, а средняя экспозиция 138% усилила убытки и привела к обвалу. Аналитик отверг стратегию до оптимизации: проблема в основе, а не в фильтре, и более избирательная фильтрация сигнала, отрицательного при любом режиме, всё равно оставляет его убыточным.
Гипотеза
Реализация
Возврат соотношения ETH/BTC к среднему по z-оценке с фильтром входа по режиму ставки финансирования; долларово-нейтральная длинно-короткая позиция на фьючерсах Binance USD-M, бары 4H. Соотношение = ETH/BTC, скользящая z-оценка за 20 баров; вход при |z|>2 (z>0: шорт ETH/лонг BTC; z<0: лонг ETH/шорт BTC); выход при |z|<0.5, стоп при |z|>3.5 или тайм-стоп через 42 баров (7 дней). Входы пропускаются, если годовой спред ставок финансирования ETH-BTC или ставка по любой ноге чрезмерны, либо если сделка означала бы уплату ставок по обеим ногам; при отсутствии данных ставок финансирования фильтр пропускает сделку. Номинал каждой ноги: equity * 0.5 * leverage / price при leverage=2.0, поэтому на обе ноги направляется по 2x доли капитала. Сигнал — непрерывная z-оценка на каждом баре.
Результаты верификации
Проверка не пройдена (leverage_set_but_unused): конфигурация задаёт leverage=2.0, но стратегия не использует плечо при расчёте размера позиции. Используй его для расчёта позиции: notional = equity * fraction * leverage / price (считывай self.config.leverage) — или установи leverage=1.0. В текущем виде плечо не работает, и бэктест идентичен 1x.
Обзор бэктеста
- Шарп
- -0,91
- Общая доходность
- -91,31%
- Максимальная просадка
- 93,94%
- Всего сделок
- 912
- Доля прибыльных
- 49,8%
- Профит-фактор
- 0,81
Код работает и совершает сделки согласно замыслу (912 сделок, 0 отброшено, сбалансированные длинные и короткие ноги, нога BTC отправлена через вспомогательные функции для нескольких инструментов); плечо теперь учтено при расчёте размера позиции
Катастрофические убытки независимо от режима: коэффициент Шарпа -0.91 (CI -1.79 до -0.05), profit_factor 0.81, total_return -91.3%, математическое ожидание -$99.5/сделку, max_drawdown 93.9%, отрицательный результат в ALL 7 годах
Несостоятельная идея: соотношение ETH/BTC движется трендом, а не возвращается к среднему. Провал идентичен уже отвергнутой родственной парной стратегии по z-оценке ETH/BTC (коэффициент Шарпа -1.97/-1.23, убыток каждый год)
Фильтр ставки финансирования не работает: пороги (1000 б. п. спреда / 5000 б. п. на ногу, в годовом выражении) почти никогда не срабатывают, поэтому 912 сделок проходят без фильтра — заявленного «пропуска 20-30% перегруженных сделок» не происходит, и новая функция ничего не меняет
Избыточное плечо усилило убыток: avg_position_pct 138% превратило убыточный сигнал в обвал с доходностью -91% и просадкой 94%
Сводка по итогам
У возврата к среднему по z-оценке соотношения крупных криптоактивов (ETH/BTC) нет преимущества: соотношение движется трендом, а не возвращается к среднему. Добавление фильтра режима или ставки финансирования не помогает, если пороги фильтра настолько мягкие, что он никогда не срабатывает AND; базовый сигнал отрицателен при любом режиме. Более избирательная фильтрация убыточной стратегии всё равно оставляет её убыточной, а вариант, не меняющий убыточную основу, — та же закрытая стратегия.
При разборе бэктеста аналитик отверг стратегию как несостоятельную идею с неработающей функцией, а не как ошибку: соотношение ETH/BTC движется трендом, а не возвращается к среднему. Поэтому возврат по z-оценке постоянно идёт против тренда и убыточен при любом режиме, повторяя провал уже отвергнутой родственной стратегии по z-оценке ETH/BTC. Пороги фильтра ставки финансирования были настолько мягкими, что он ни разу не сработал; «новый вариант» оставил убыточную основу без изменений.
Долларово-нейтральная парная стратегия возврата к среднему по z-оценке соотношения ETH/BTC на фьючерсах Binance USD-M 4H (только OHLCV и дополнительные данные о ставке финансирования): игра против отклонений в 2 сигма по z-оценке соотношения ETH/BTC за 20 периодов (шорт ETH + лонг BTC, когда соотношение завышено, и наоборот, когда занижено). Добавлен фильтр режима ставки финансирования, призванный пропускать около 20-30% перегруженных направленных входов (широкий спред ставок финансирования, экстремальная ставка на отдельную ногу либо уплата ставки по обеим ногам).
За 912 сделок (456 длинных, 456 коротких, ни одна не пропущена) стратегия оказалась катастрофически убыточной при любом режиме: коэффициент Шарпа -0.91 (CI -1.79–-0.05), фактор прибыли 0.81, общая доходность -91.3%, матожидание -$99.5 на сделку, максимальная просадка 93.9%, убыток во всех 7 годах. Фильтр ставки финансирования не работал (пороги 1000 б. п. спреда / 5000 б. п. на ногу почти никогда не срабатывают, поэтому все 912 сделок прошли без фильтра), а средняя позиция 138% усилила убытки из-за избыточного плеча и привела к обвалу.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.