Стратегии
TRX Долгосрочная лестничная стратегия следования за трендом с фильтром режима — бэктест стратегии
Итог: Отменено
TrxDailyLadderedMomentumLongRegimeFilter
Сводка по итогам
Эта стратегия была нацелена на реальную диверсификацию за счёт лестничного долгосрочного импульса по дневным данным для TRX с меньшей волатильностью: цена должна быть выше уровней 30 и 60 дней назад, месячная доходность — выше 8%, а тренд 200-SMA — восходящим; также используется скользящий стоп ATR. Стратегия корректно реализована и проверена на 31 сделках, но заголовочный результат +26.6% оказался иллюзией: нереализованная прибыль по открытой позиции MTM (32.7%) превысила совокупную доходность, оставив фактический результат около -6%, коэффициент прибыли 0.952, отрицательное математическое ожидание, просадку 61.7% и положительный год, целиком обеспеченный одним днём +66.8%. Аналитик отказался от неё на втором проходе проверки бэктеста из-за несостоятельности исходной гипотезы: артефакт выброса и бумажной прибыли без фактического преимущества, а выборка слишком мала для проверки. Стратегия не перешла к оптимизации или оценке риска.
Гипотеза
Итерация-2: минимальное исправление TypeError уровня -2 (_sma() takes 2 positional arguments but 3 were given). Причина: _sma была методом @staticmethod, но _StrategyProxy уровня -2 повторно привязывает вызываемые атрибуты класса к подменному экземпляру, теряя дескриптор staticmethod и передавая экземпляр прокси как первый позиционный аргумент. Поэтому вспомогательная функция с 2 параметрами вызывалась с 3 аргументами. Исправление выносит _sma из класса в функцию уровня модуля (_sma_of): функции модуля не привязываются к экземпляру, поэтому self не добавляется, и calculate_signal теперь напрямую вызывает _sma_of(self._close, self.regime_sma). Больше ничего не менялось: импорты остаются чистыми (уровень 1 пройден), а логика лестничного импульса, режима и скользящего стопа ATR, проверенная тестовым стендом, побайтно идентична, поэтому регрессий на предыдущих уровнях нет. Площадка остаётся прежней: фьючерсы BINANCE USD-M, плечо 1.0 (усиление не использовалось, поэтому проверка уровня leverage_set_but_unused не запускается).
Реализация
Лестничный долгосрочный импульс только в лонг на фьючерсах TRXUSDT.BINANCE USD-M, свечи DAILY, только поток данных OHLCV. Открывает лонг, когда цена выше цен закрытия 30 и 60 дней назад, доходность за 30 дней превышает 8%, а цена выше своей 200-дневной SMA (фильтр режима). Выход по скользящему стопу ATR (3x ATR), при смене режима (закрытие ниже 200-SMA) или при достижении жёсткого нижнего порога 20%. Сигнал — непрерывная доходность за 30 дней, пересчитываемая на каждой свече; условия лестничного входа — дискретный фильтр. Размер позиции — 60% от условной стоимости капитала. Кредитное плечо 1.0.
Результаты верификации
Обзор бэктеста
- Шарп
- 0,15
- Общая доходность
- 26,62%
- Максимальная просадка
- 61,66%
- Всего сделок
- 31
- Доля прибыльных
- 35,5%
- Профит-фактор
- 0,95
Реализована корректно и торгует согласно заданным правилам: 31 входов по лестничному импульсу, 0 отброшено, все сделки в лонг — ошибки кода нет; обоснование диверсификации разумно (более низкая бета TRX)
Заголовочная цифра нереальна: end_unrealized_pct 32.7 EXCEEDS total_return 26.6, поэтому фактическая доходность закрытых сделок — NEGATIVE (около -6%); +26.6% — это оценка по рынку открытой позиции без выхода, которая может полностью развернуться
Фактического преимущества нет: profit_factor 0.952 (<1), математическое ожидание -$196.7/сделку (отрицательное), win_rate 35.5%, коэффициент Шарпа 0.148 (CI от -1.44 до 0.91 охватывает 0)
Целиком зависит от выброса: 2024 +65.5% обеспечен одним днём +66.8% (2024-12-04); return_kurtosis 269, асимметрия 13.6, tail_ratio 0.23 (убытки преобладают)
Катастрофический риск: max_drawdown 61.7% (CI до 83%), annualized_vol 52%, max_consecutive_losses 12, 2022 -37.6%; avg_position_pct 85.7%
Малая выборка (31 сделок / около 5 в год) — слишком мало для проверки; оптимизатор подгонится под единственный выброс 2024
Сводка по итогам
Разумное обоснование диверсификации (более низкая бета TRX) не создаёт преимущества: если заголовочная совокупная доходность ниже нереализованной прибыли на конец теста MTM, фактический результат оказывается отрицательным. Положительная цифра, обеспеченная одним днём +66.8% при просадке 61.7%, — артефакт выброса и бумажной прибыли, а не подтверждаемый сигнал.
Аналитик по проверке бэктеста вынес вердикт «отказаться»: код был корректным и торговал согласно заданным правилам, поэтому причина — несостоятельность исходной гипотезы. Лестничный импульс на TRX даёт отрицательное фактическое математическое ожидание, а положительный заголовочный результат — лишь открытая позиция без выхода, оценённая по рынку, плюс один выбросной день; всё это сопровождается катастрофическим риском. Редкая выборка из 31 сделок позволила бы оптимизации подогнаться только под единственный выброс 2024 и провалить проверку на отложенной выборке.
Бэктест стратегии: долгосрочная лестничная стратегия импульса только на покупку на дневных фьючерсах Binance по TRXUSDT (1.0x плечо, 0.60 позиция) — вход в лонг, когда цена была выше закрытий 30 и 60 дней назад, AND доходность за 30 дней превышала 8% AND цена была выше 200-SMA; использовался трейлинг-стоп ATR. Идея — диверсификация портфеля за счёт более низкой волатильности TRX, меньшей беты к BTC и зависимости от потоков стейблкоинов.
На выборке из 31 сделок фактического преимущества не было: коэффициент прибыли 0.952, математическое ожидание -$196.7/сделку, доля прибыльных сделок 35.5%, коэффициент Шарпа 0.148 (CI охватывает ноль), максимальная просадка 61.7% и 12 убыточных сделок подряд. Заголовочная цифра +26.6% была иллюзорной: нереализованная прибыль на конец теста MTM (32.7%) превысила совокупную доходность; фактический результат закрытых сделок составил около -6%. Небольшая прибыль обеспечена одним днём +66.8% (2024-12-04, эксцесс 269, асимметрия 13.6).
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.