Стратегии
DOT/KSM Возврат коинтегрированного спреда к среднему, нейтральная к рынку торговля в длинную и короткую стороны (DOTUSDT.BINANCE + KSMUSDT.BINANCE USD-M, дневные бары, вход и выход по Z-оценке, фильтр по периоду полураспада, 3 параметров)
Итог: Отменено
DotKsmCointegratedSpreadMeanReversionLS
Сводка по итогам
Стратегия предложила оригинальную, ранее не проверенную идею: рыночно-нейтральную парную торговлю на возврат к среднему с коинтеграцией DOT/KSM, фиксированным при входе хедж-спредом и фильтром стационарности по периоду полураспада; после исправления ошибки выхода при дрейфе спреда она достигла итерации 2. Реализация механизма коинтеграции признана добросовестной и корректной, но на убедительной выборке за 6 лет и из 144 сделок стратегия принесла -10.43%, показала отрицательный коэффициент Шарпа и profit_factor на уровне 0.895 — убыток ещё до издержек. Поскольку остаток показывал убыток во всех режимах волатильности и в большинстве лет, а единственный прибыльный год обеспечил один аномальный день, аналитик отклонил её на этапе проверки бэктеста как опровергнутую гипотезу, что соответствует прежним неудачам коинтегрированных спредов LTC/BCH и ETH/BTC. До оптимизации, оценки риска и бумажной торговли дело не дошло.
Гипотеза
Реализация
Нейтральный к рынку статистический арбитраж по остатку коинтеграции DOT/KSM, на дневных барах бессрочных контрактов Binance USD-M. Скользящая регрессия log(DOT) на log(KSM) с окном OLS даёт коэффициент хеджирования бета и остаток e = log(DOT) - beta*log(KSM); Z-оценка остатка на том же окне служит непрерывным сигналом. Вход выполняется, когда |z| превышает z_entry, оценённый через AR(1) период полураспада остатка находится в диапазоне [1, 90] дней (фильтр стационарности, отличающий коинтеграционную торговлю от простой торговли по Z-оценке), а расхождение начинает сокращаться. Длинная позиция по остатку означает длинную DOT / короткую KSM с номиналом USD, подобранным по бете; короткая позиция по остатку — обратная. При входе FROZEN фиксируются коэффициент хеджирования, среднее и сигма остатка, поэтому открытую позицию оценивают и закрывают относительно фактического спреда. Выход: возврат внутрь z_exit, стоп при нарушении коинтеграции на |z| >= z_stop или календарный стоп через 21 дней (примерно 5 периода полураспада).
Результаты верификации
Изменения не требуются: переопределения намеренные и корректно вызывают super().
min_bars_required, _submit_entry и _submit_exit переопределяют методы фреймворка (статический анализатор: предупреждения base_shadow). Здесь переопределения намеренные и корректные: min_bars_required возвращает z_lookback+5 на этапе разогрева, а переопределения _submit_entry и _submit_exit сначала вызывают super(), затем управляют хеджирующим плечом KSM и фиксируют либо очищают состояние торгуемого спреда. Поведенческих дефектов нет.
Проверка в песочнице выявляет уязвимость к комиссиям: avg_trade_return_pct 0.020% намного ниже примерной стоимости полного цикла двухплечевой фьючерсной пары 0.20% USD-M (0.05% тейкерская комиссия × 4 исполнений), profit_factor 0.896, total_return -10.43%, коэффициент Шарпа -0.08 (CI [-1.05, 0.60] пересекает ноль). Комиссия составляет лишь 1.8% валового результата, то есть сигнал примерно безубыточен до комиссий, а не теряет прибыль из-за них. Такая же картина у пары коинтегрированных спредов LTC/BCH (возврат к среднему на дневных барах для криптопары, которая коинтегрирована, но, возможно, дрейфует). Исправление выхода по зафиксированному спреду в итерации -2 действительно повышает корректность, но аналитику следует проверить на полной истории, стационарен ли остаток DOT/KSM и превышает ли возврат на сделку (z 1.75 → 0.5 x сигм остатка) издержки двух плеч с запасом. Только рекомендация.
Обзор бэктеста
- Шарп
- -0,08
- Общая доходность
- -10,43%
- Максимальная просадка
- 27,28%
- Всего сделок
- 144
- Доля прибыльных
- 44,4%
- Профит-фактор
- 0,90
Код честно и корректно проверяет гипотезу: сигналы 72 = заявки 72, сбалансированные длинные и короткие позиции 72 / 72, нейтральный размер позиций с подбором по бете, выход по зафиксированному спреду (исправление в итерации -2 работает), фильтр стационарности по периоду полураспада, ограничение времени удержания, устойчивое к перезапуску. Сделки реализуют заявленный механизм возврата коинтегрированного спреда к среднему.
Действительно отличающееся семейство и направление (нейтральная к рынку торговля парой) и ещё не испытанная пара.
Отрицательное матожидание на убедительной выборке из 144 сделок за 6.05 лет: profit_factor 0.895 (<1 = валовой результат ниже затрат на BEFORE), total_return -10.43%, матожидание -$72.68/сделку, коэффициент Шарпа -0.082 при CI [-0.993, 0.626], охватывающих ноль, коэффициент Сортино -0.11, recovery_factor -0.41, CAGR -1.93%.
avg_trade_return_pct 0.020% примерно на 10x ниже примерных затрат в 0.20% за полный цикл парной сделки из двух частей USD-M, но комиссия составляет лишь 1.82% от валового результата, поэтому сигнал нейтральный или отрицательный до учёта затрат и чувствителен к комиссиям (NOT). Настройка параметров не повысит преимущество, которое ещё до учёта затрат ниже нуля.
Остаток нестационарен для торговли: портфель LOSES во всех трёх терцилях волатильности (низкая -1.51%, обычная -4.94%, высокая -5.07%) и в большинстве календарных лет (2021 -22.7%, 2022 -4.8%, 2026 -2.1%). Единственный прибыльный год — 2024 (+13.5%); почти всю прибыль дал один аномальный день 2024-11-24 (+14.3%), определивший результат за месяц ноябрь +12.2% Nov-24. Без него стратегия убыточна повсюду.
Тот же результат, что у пар коинтегрированных спредов LTC/BCH и ETH/BTC, а также L55: затухание импульса по отдельному активу или спреду с PF<1.15 не покрывает издержки. Опасения QA по поводу уязвимости к комиссиям подтвердились и усилились на полной истории.
Анализ
Проверка бэктеста: - метрики ненадёжны: противоречие — знак коэффициента Шарпа 0.02 не совпадает со знаком total_return -19.77%. Коэффициент Шарпа рассчитан по ряду mtm_equity_curve, а доходность — по кривой капитала. Ориентируйтесь на кривую капитала.
Сводка по итогам
Реальная структурная связь между двумя активами не гарантирует стационарности спреда, пригодной для торговли: profit_factor при 1 сигнализируют, что до комиссий результат отрицательный, поэтому оптимизация его не спасёт.
На этапе проверки бэктеста до оптимизации аналитик вынес вердикт «отказаться»: profit_factor ниже 1 означает, что сигнал убыточен до издержек (комиссия составляла лишь 1.82% валового результата). Значит, предпосылка опровергнута, а не просто уязвима к комиссиям, и настройка параметров не поднимет результат, отрицательный до издержек.
Нейтральный к рынку статистический арбитраж пары, основанный на гипотезе, что остаток коинтеграции DOT относительно токена его канареечной сети KSM стационарен и возвращается к среднему. Вход в длинную или короткую позицию по спреду происходит при отклонениях Z-оценки после проверки стационарности по периоду полураспада AR(1).
На бэктесте за 6.05 лет и 144 сделок стратегия принесла убыток: total_return -10.43%, коэффициент Шарпа -0.082 (CI [-0.99, 0.63]), коэффициент Сортино -0.11, profit_factor 0.895, матожидание -$72.68 на сделку и avg_trade_return_pct всего 0.020% при пороге жизнеспособности 0.15%. Убыток был во всех трёх терцилях волатильности и в большинстве календарных лет; единственный прибыльный год (2024, +13.5%) почти целиком обеспечил один выбросный день.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.