# Сравнительный отчёт по стратегиям свингов

Этот отчёт описывает результаты запуска `research/notebooks/06_swing_strategy_comparison.py` с параметром `--no-trap` от 10.11.2025 и анализирует покрытие зон, характеристики свингов и время выполнения в режимах `per_zone` и `global` для стратегий `find_peaks`, `pivot_points` и `zigzag`.

## Шаг 1. Настройка и исходные данные
- Датасет: `tv_xauusd_1h`, диапазон 11.06.2025 20:00 (+07) — 12.08.2025 13:00 (+07), 1000 баров.
- Во всех прогонах применяются одинаковые параметры: пресет `narrow_zone`, автоматическая подстройка порогов (`with_auto_swing_thresholds(True)`), отключённый кэш и вычисление индикатора `custom.macd` перед детекцией зон `zero_crossing`.

## Шаг 2. Результаты по стратегиям
### Find Peaks
- Локальный (`per_zone`) и глобальный (`global`) режимы не формируют свинги: 0/37 бычьих зон содержат swing-метрики, среднее количество свингов остаётся 0, покрытие 0%.
- Глобальный режим ускоряет расчёт (0.423 с против 0.527 с), но отсутствуют rally/drop серии из‑за нулевого количества свингов.
- Требуется ручной подбор порогов, если стратегия должна участвовать в продуктивных отчётах.

### Pivot Points
- Аналогично, ни один режим не находит свингов (0/37 зон, среднее количество свингов = 0).
- Глобальный расчёт оказывается быстрее (0.399 с против 0.433 с), но без настройки порогов стратегия остаётся нефункциональной в текущем наборе параметров.

### ZigZag
- Режим `per_zone` покрывает 23/37 бычьих зон (62.2%), среднее количество свингов 1.49, время выполнения 0.482 с.
- Режим `global` покрывает 36/37 зон (97.3%), среднее количество свингов 2.70 и время 0.490 с; прирост покрытия +35.1 п.п. при сопоставимом времени расчёта.
- Глобальный режим фиксирует рост средних процентов ралли/просадки, что повышает надёжность оценки тренда внутри зон.

## Шаг 3. Сводная статистика
- Пивот-таблица подтверждает: прирост покрытия появляется только для `zigzag` (+35.1 п.п.), `find_peaks` и `pivot_points` остаются на 0% даже после глобализации.
- Диапазон времен выполнения 0.399–0.527 с; глобальный режим не замедляет расчёты, а для `find_peaks` и `pivot_points` даже ускоряет их на 0.10–0.13 с.

## Шаг 4. Выводы и рекомендации
1. Для `zigzag` глобальный режим рекомендуется для production-сценариев: покрытие 97.3% и прирост +35.1 п.п. против локального расчёта при сопоставимой скорости.
2. Для `find_peaks` и `pivot_points` требуется переобучение/тюнинг порогов перед использованием: текущие авто-пороги обнуляют свинги даже при глобальной нарезке.
3. При расширении набора стратегий следует включать в отчёты сравнение покрытий и времени выполнения по аналогичной схеме (JSON/CSV файлы `outputs/reports/swing_strategy_comparison.*`).
