Стратегии
Сезонность внутридневных сессий BTC — торговля в ONE повторяющемся внутридневном окне доходности (выбирается адаптивно, не задано жёстко), календарное преимущество без тренда и возврата к среднему на недостаточно представленном коротком горизонте (BINANCE USD-M, бары 1H, лонг-шорт, 3 параметров)
Итог: Отменено
BtcIntradaySessionSeasonalityLS
Проверка бэктеста: - метрики ненадёжны: несогласованность — знак Шарпа 0.03 расходится со знаком total_return -10.55%: Шарп рассчитан по ряду mtm_equity_curve, а доходность — по кривой капитала. Оценивай по кривой…
Гипотеза
Реализация
Результаты верификации
Рассмотри возможность задать _edge_mult >= 1.0, чтобы порог повторяемости превышал полную стоимость оборота, или увеличить _fee_round_trip до фактической комиссии за полный оборот. Только рекомендация: речь о преимуществе и прибыльности, а не об ошибке корректности.
Порог издержек для допуска окна составляет fee_round_trip * edge_mult = 0.0010 * 0.5 = 0.05% номинала — ниже полной круговой комиссии тейкера примерно 0.10% на Binance USD-M и ниже порога жизнеспособности 0.15%. Можно выбрать и торговать окно, дрейф которого за недавнюю половину выборки составляет всего около 0.05%; значит, некоторые торгуемые окна структурно убыточны с учётом комиссий ещё до поправки на шум оценки. Поправка LCB на множественные проверки смягчает это, но не поднимает базовый порог выше полной стоимости оборота.
Если базовый механизм вызывает переопределение, изменений не требуется; иначе переименуй. Не блокирует работу.
min_bars_required(self) переопределяет метод фреймворка (предупреждение Layer-1 base_shadow). Здесь это безопасно, поскольку переопределение возвращает допустимый период прогрева (24), но убедись, что базовый шаблон учитывает переопределение, а не использует собственную реализацию.
Обзор бэктеста
- Шарп
- 0,02
- Общая доходность
- 4,51%
- Максимальная просадка
- 29,54%
- Всего сделок
- 654
- Доля прибыльных
- 48,6%
- Профит-фактор
- 0,98
Механизм действительно ортогонален тренду и возврату к среднему (календарный сигнал на основе положения во времени) и реализован корректно: 654 сигналов на вход = 654 отправленных заявок, один полный цикл сделки в день, как и задумано, адаптивный выбор окна (не задан жёстко).
Большая надёжная выборка (654 сделок / 6.7 лет, 58,560 баров, metrics_reliable=true) — корректная проверка предпосылки.
profit_factor 0.9834 (<1) с отрицательным ожиданием -$9.26/сделку и avg_trade_pnl_usd -9.26 — убыточная стратегия после издержек.
Шарп 0.023, Сортино 0.015 ~ ноль; recovery_factor -0.17, Калмар -0.026, information_ratio -0.91 (отстаёт от стратегии «купи и держи»).
Убыточна в 5 из 7 календарных лет (2022 -11.3%, 2025 -14.1%, 2026 -4.5%).
Атрибуция по режимам опровергает предпосылку: убытки сосредоточены в спокойном (-15.5%) и обычном (-4.2%) терцилях, где повторяющийся сезонный дрейф должен быть наиболее выраженным; в стрессовом терциле результат ровный. Опасения QA по поводу преимущества подтвердились.
avg_trade_return_pct 0.2207% (процент номинала с равными весами) противоречит отрицательному ожиданию USD с весами по размеру позиции: убыточные сделки имеют больший номинал. Преимущества нет, дело не только в чувствительности к комиссиям.
Это итерация 6; в собственной заметке разработчик признаёт, что неположительная кривая означает опровержение предпосылки, а не недостаточную настройку.
Анализ
Проверка бэктеста: - метрики ненадёжны: несогласованность — знак Шарпа 0.03 расходится со знаком total_return -10.55%: Шарп рассчитан по ряду mtm_equity_curve, а доходность — по кривой капитала. Оценивай по кривой капитала.
История итераций
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.