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

Этот отчёт описывает результаты запуска 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.*).