Стратегии
SOL Длинная позиция на развороте месяца, дневные бары
Итог: Отменено
SolDailyTurnOfMonthLong
Сводка по итогам
Стратегия использовала аномалию начала месяца: просто покупала SOL на границе месяцев — чёткое детерминированное правило, основанное на потоках DCA/ребалансировке индексов. Реализация точно соответствовала описанию и показала впечатляющий результат +653% в заголовке, но почти весь он пришёлся на ажиотаж 2021 SOL (включая два отдельных дня +60%). После этого стратегия теряла деньги в 2024, 2025 и 2026, а скользящий коэффициент Шарпа упал с +8 до -6. При этом просадка составила 74.9%, а волатильность — около 110%. На втором шаге аналитик отказался от стратегии на этапе проверки бэктеста: сезонный эффект угас и неотличим от длинной позиции по бете, параметров для оптимизации нет, а холдаут наверняка попал бы в недавний отрицательный режим. Поэтому стратегия не перешла к оптимизации или проверке риска.
Гипотеза
Минимальное исправление в итерации -2 для TypeError в Layer-2 (_dt() принимает 1 позиционный аргумент, но передано 2). Первопричина идентична ситуации с расчётом открытого интереса: вспомогательная функция datetime была @staticmethod, но _StrategyProxy из Layer-2 повторно привязывает вызываемые атрибуты класса к подставному экземпляру, из-за чего дескриптор staticmethod теряется и экземпляр прокси передаётся как внедрённый первый позиционный аргумент; поэтому вспомогательная функция с 1 параметрами вызывается с 2 аргументами и вызывает исключение. Исправление выносит _dt из класса в функцию уровня модуля (_tom_dt); функции модуля никогда не привязываются к экземпляру, поэтому self не может быть внедрён, а _is_tom теперь напрямую вызывает _tom_dt. Больше ничего не изменено: импорты остаются чистыми (Layer 1 успешно проходит), а логика календаря/TOM-окна/сигнала/входа/выхода/расчёта размера позиции, проверенная стендом, побайтно идентична, поэтому регрессии на предыдущих слоях нет. Торговая площадка и кредитное плечо (BINANCE USD-M фьючерсы, 1.0) не изменились.
Реализация
Календарная стратегия только для длинных позиций на развороте месяца по фьючерсам SOLUSDT.BINANCE USD-M, бары 1–DAY, только OHLCV. Открывает позицию LONG в окне начала месяца: последние 4 календарных дней месяца и первые 3 следующего; выходит, когда бар покидает окно. Предусмотрены ограничение максимального срока удержания и минимальный стоп 12%. Чистый детерминированный календарный сигнал зависит от временных меток баров; непрерывный сигнал — прокси цены ROC и нахождения в окне для выявления замороженного сигнала. Плечо 1.0.
Результаты верификации
Обзор бэктеста
- Шарп
- 0,95
- Общая доходность
- 653,79%
- Максимальная просадка
- 74,94%
- Всего сделок
- 74
- Доля прибыльных
- 50,0%
- Профит-фактор
- 1,15
Реализовано правильно и детерминированно: 74 входов в начале месяца, 0 пропущено, все позиции длинные — сделки точно следуют календарной гипотезе (ошибки в коде нет)
Преимущество исчезло или развернулось: годовая доходность +1055% (2021) и +141% (2023) обеспечивают весь результат за +653% в начале периода, затем три года подряд NEGATIVE — 2024 -46.5%, 2025 -34.1%, 2026 -19.7%; скользящий коэффициент Шарпа падает с ~+8 до ~-6
Результат в заголовке — артефакт ажиотажа 2021 SOL, а не преимущество TOM: два отдельных дня +60% (январь/февраль 2021), return_skew 4.47, эксцесс 35; всего лишь profit_factor 1.15 (малая выборка), win_rate 0.50
Неприемлемый риск: max_drawdown 74.9% (до 88.8% при CI), annualized_volatility 110%, downside_deviation 51%, avg_position_pct ~101% (весь капитал), max_drawdown_duration 699 дней
Нет пространства для оптимизации: у чистого календарного правила по дню месяца всего 2 настраиваемых параметра окна. Оптимизатор не может создать преимущество из угасшего сезонного эффекта и подогнал бы параметры под бычий рынок 2021/2023
Холдаут попадает в недавний отрицательный режим (2026 -19.7%), поэтому проверка после оптимизации почти наверняка провалится; выборка также мала (74 сделок / ~13 в год)
Сводка по итогам
Детерминированная календарная аномалия для крупного криптоактива с высокой бетой может выглядеть как преимущество, хотя на деле это длинная позиция по бете. Результат +653%, сосредоточенный в 2021, просадка 75% и три подряд убыточных последних года указывают на угасший или развернувшийся сезонный эффект; когда он исчезает, чистое календарное правило не даёт сигнала для оптимизации.
Аналитик проверки бэктеста вынес вердикт «отказаться»: стратегия реализована правильно, проблема в гипотезе — эффект начала месяца для крупного актива с высокой бетой невозможно отличить от длинной позиции по бете SOL, поймавшей ажиотаж 2021, а затем потерявшей эффект или развернувшейся. Заголовочный результат — артефакт 2021 с просадкой 75%; чистое календарное правило с 2 параметрами не даёт сигнала для оптимизации (оптимизация подогнала бы окна под бычий рынок 2021/2023 и провалила бы недавний отрицательный холдаут).
Детерминированная календарная стратегия только для длинных позиций на развороте месяца по SOLUSDT на дневных фьючерсах Binance (1.0x плечо, 0.95 позиция): покупка SOL в последние 4 календарных дней каждого месяца и первые 3 следующего, выход за пределами этого окна (стоп 12%, ограничение удержания — 12 дней). Цель — поймать ежемесячное давление покупателей из-за DCA/ребалансировки индексов; индикаторов и фильтров нет.
На 74 сделках стратегия показала результат +653.8% в заголовке, коэффициент Шарпа 0.95, фактор прибыли 1.15 и долю прибыльных сделок 50%. Доходность была сосредоточена в начале периода: 2021 (+1055%) и 2023 (+141%); затем три года подряд стратегия теряла деньги (2024 -46.5%, 2025 -34.1%, 2026 -19.7%), а скользящий коэффициент Шарпа упал с ~+8 до ~-6. Риск был чрезвычайно высоким: максимальная просадка 74.9% (CI–88.8%), годовая волатильность ~110%, весь капитал в позиции, асимметрия 4.47, эксцесс 35.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.