Перейти к содержимому
Все стратегии

Стратегии

SOL Длинная позиция на развороте месяца, дневные бары

Итог: Отменено

SolDailyTurnOfMonthLong

Сводка по итогам

Стратегия использовала аномалию начала месяца: просто покупала SOL на границе месяцев — чёткое детерминированное правило, основанное на потоках DCA/ребалансировке индексов. Реализация точно соответствовала описанию и показала впечатляющий результат +653% в заголовке, но почти весь он пришёлся на ажиотаж 2021 SOL (включая два отдельных дня +60%). После этого стратегия теряла деньги в 2024, 2025 и 2026, а скользящий коэффициент Шарпа упал с +8 до -6. При этом просадка составила 74.9%, а волатильность — около 110%. На втором шаге аналитик отказался от стратегии на этапе проверки бэктеста: сезонный эффект угас и неотличим от длинной позиции по бете, параметров для оптимизации нет, а холдаут наверняка попал бы в недавний отрицательный режим. Поэтому стратегия не перешла к оптимизации или проверке риска.

Гипотеза

Календарная стратегия только для длинных позиций по одному инструменту — бессрочным фьючерсам SOLUSDT с дневными барами (1D). Она использует хорошо задокументированную аномалию «разворота месяца» (TOM), когда потоки средств институциональных и розничных участников концентрируются у границы месяца. На традиционных рынках, согласно Ариэлю 1987 и Лаконишоку—Смидту 1988, последние 4 торговых дней и первые 3 каждого месяца дают непропорционально большую долю месячной доходности акций из-за пенсионных взносов,……Показать большеСвернуть

Календарная стратегия только для длинных позиций по одному инструменту — бессрочным фьючерсам SOLUSDT с дневными барами (1D). Она использует хорошо задокументированную аномалию «разворота месяца» (TOM), когда потоки средств институциональных и розничных участников концентрируются у границы месяца. На традиционных рынках, согласно Ариэлю 1987 и Лаконишоку—Смидту 1988, последние 4 торговых дней и первые 3 каждого месяца дают непропорционально большую долю месячной доходности акций из-за пенсионных взносов, распределения зарплат и сроков потоков в 401k. В криптовалютах действует сходный механизм: ежемесячные программы DCA (регулярные покупки Coinbase, Binance Auto-Invest, Strike), ребалансировка фондов по образцу Grayscale, ежемесячная ребалансировка альткоин-индексов (продукты CoinShares, Bitwise) и пополнения кошельков розничных участников «первого числа» создают предсказуемое давление покупателей у календарной границы. SOL выбран по четырём причинам: (а) высокая доля розничных участников благодаря кошельку Phantom и экосистеме мемкоинов Solana; (б) он входит в основные криптоиндексы, которые ребалансируются в конце месяца; (в) высокая бета усиливает эффект TOM сильнее, чем у BTC; (г) SOL — NOT в наборе неудачных проектов или текущем конвейере. Стратегия полностью детерминирована: вход и выход зависят только от календарного дня, без индикаторов, порогов и фильтров рыночного режима. Так меньше параметров для подгонки, а проверка проходит быстрее.

Минимальное исправление в итерации -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) не изменились.

Гипотеза эффекта начала месяца для SOL не даёт устойчивого преимущества: это длинная экспозиция к бете SOL, захватившая ажиотаж 2021 (+1055%) и 2023 (+141%), но приносившая убыток три последних года подряд (2024 -46.5%, 2025 -34.1%, 2026 -19.7%); скользящий коэффициент Шарпа упал примерно с +8 до -6. Заголовочное значение +653% — артефакт результата, сосредоточенного в начале периода (2021: два отдельных дня +60%, асимметрия 4.47, эксцесс 35); максимальная просадка — 74.9%, годовая волатильность — около 110%.……Показать большеСвернуть

Гипотеза эффекта начала месяца для SOL не даёт устойчивого преимущества: это длинная экспозиция к бете SOL, захватившая ажиотаж 2021 (+1055%) и 2023 (+141%), но приносившая убыток три последних года подряд (2024 -46.5%, 2025 -34.1%, 2026 -19.7%); скользящий коэффициент Шарпа упал примерно с +8 до -6. Заголовочное значение +653% — артефакт результата, сосредоточенного в начале периода (2021: два отдельных дня +60%, асимметрия 4.47, эксцесс 35); максимальная просадка — 74.9%, годовая волатильность — около 110%. Стратегия реализована корректно: проблема в гипотезе, а не в коде. У чистого календарного правила всего 2 настраиваемых параметров окна, поэтому оптимизировать нечего; подгонка окон под бычий рынок 2021/2023 провалится на недавнем контрольном периоде (2026). Не дорабатывать: разработчику нечего исправлять в коде. Оптимизация не стоит 2 часов. FAILURE PATTERN: детерминированная календарная стратегия на начало месяца по высокобета-крупному криптоактиву даёт доходность, целиком сосредоточенную в бычьем рынке 2021, при просадке 75% и трёх подряд убыточных последних годах. Сезонная аномалия неотличима от угасающей или развернувшейся длинной экспозиции к бете; у чистого календарного правила нет оптимизируемого сигнала, который мог бы её спасти.

Реализация

Календарная стратегия только для длинных позиций на развороте месяца по фьючерсам SOLUSDT.BINANCE USD-M, бары 1–DAY, только OHLCV. Открывает позицию LONG в окне начала месяца: последние 4 календарных дней месяца и первые 3 следующего; выходит, когда бар покидает окно. Предусмотрены ограничение максимального срока удержания и минимальный стоп 12%. Чистый детерминированный календарный сигнал зависит от временных меток баров; непрерывный сигнал — прокси цены ROC и нахождения в окне для выявления замороженного сигнала. Плечо 1.0.

Результаты верификации

Проверка не пройдена (Layer 2 — синтетические сценарии): Использованные параметры: ['min_notional', 'position_pct', 'stop_loss_pct', 'exit_days_after', 'max_holding_days', 'entry_days_before'] Убедитесь, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: TypeError: SolDailyTurnOfMonthLong._dt() принимает 1 позиционных аргумента, получено 2 (временная метка бара: 1735689660000) - steady_downtrend: TypeError: SolDailyTurnOfMonthLong._dt() принимает 1 позиционных аргумента, получено 2……Показать большеСвернуть

Проверка не пройдена (Layer 2 — синтетические сценарии): Использованные параметры: ['min_notional', 'position_pct', 'stop_loss_pct', 'exit_days_after', 'max_holding_days', 'entry_days_before'] Убедитесь, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: TypeError: SolDailyTurnOfMonthLong._dt() принимает 1 позиционных аргумента, получено 2 (временная метка бара: 1735689660000) - steady_downtrend: TypeError: SolDailyTurnOfMonthLong._dt() принимает 1 позиционных аргумента, получено 2 (временная метка бара: 1735689660000) - flat_ranging: TypeError: SolDailyTurnOfMonthLong._dt() принимает 1 позиционных аргумента, получено 2 (временная метка бара: 1735689660000) - volatility_spike: TypeError: SolDailyTurnOfMonthLong._dt() принимает 1 позиционных аргумента, получено 2 (временная метка бара: 1735689660000) - zero_volume: TypeError: SolDailyTurnOfMonthLong._dt() принимает 1 позиционных аргумента, получено 2 (временная метка бара: 1735689660000) - price_gap: TypeError: SolDailyTurnOfMonthLong._dt() принимает 1 позиционных аргумента, получено 2 (временная метка бара: 1735689660000)

Обзор бэктеста

Шарп
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 — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.