Разрыв между доходностью на In-Sample и Out-of-Sample данных в алготрейдинге часто достигает 40-60%, что превращает прибыльные бэктесты в убытки на реальном счете. Валидация модели Инвестор v.1.2.1 на данных, которые модель никогда не видела, позволяет отсечь эффект «подгонки» и подтвердить устойчивость стратегии при волатильности выше 25% годовых.
Архитектура Out-of-Sample тестирования в Инвестор v.1.2.1
Для проверки модели мы используем жесткое разделение выборки: обучение (Train) на периоде 2015–2021 гг. и валидацию (OOS) на периоде 2022–2024 гг. В отличие от стандартной кросс-валидации, здесь применяется метод «скользящего окна» (Walk-Forward Analysis) с шагом в 3 месяца. Это критично, так как фондовый рынок РФ характеризуется резкими структурными сдвигами, где данные двухлетней давности могут быть бесполезны для прогноза текущего дня.
Кейс: при тестировании на акциях голубых фишек (Сбербанк, Газпром) переход от In-Sample к OOS показал снижение точности прогноза направления движения цены с 62% до 54%. Однако за счет фильтрации сделок по волатильности итоговая доходность осталась положительной. Экспертный вывод: если падение точности на OOS превышает 10-12 процентных пунктов, модель переобучена и требует пересмотра гиперпараметров.
Борьба с переобучением через регуляризацию CatBoost
Основной риск при работе с градиентным бустингом — создание слишком сложных деревьев, которые «запоминают» шум рынка вместо закономерностей. В модели Инвестор v.1.2.1 мы ограничиваем глубину деревьев (depth) значением 6, а параметр l2_leaf_reg устанавливаем в диапазоне 3.0–10.0. Это позволяет сгладить кривую доходности и избежать резких просадок при смене рыночного режима.
Пример: использование глубины деревьев 10 вместо 6 увеличило точность на обучающей выборке на 3%, но увеличило максимальную просадку (Max Drawdown) на OOS-данных с 12% до 28%. Экспертный вывод: борьба с переобучением (overfitting) моделей градиентного бустинга на исторических данных фондового рынка эффективнее всего проходит через жесткое ограничение сложности модели, даже ценой снижения точности на бэктесте.
Метрики устойчивости: Sharpe Ratio и Recovery Factor
Чистая доходность — обманчивый показатель. Для валидации Инвестор v.1.2.1 мы используем коэффициент Шарпа (Sharpe Ratio) и коэффициент восстановления (Recovery Factor). На OOS-данных за 2023 год модель показала Sharpe Ratio 1.4, что при средней доходности 22% годовых говорит о приемлемом уровне риска. Recovery Factor выше 3.0 подтверждает, что стратегия способна быстро отрабатывать убытки.
Сравнение: стратегия на базе чистого LightGBM показала доходность 26%, но с Recovery Factor 1.8, что делает её более рискованной в периоды турбулентности. Экспертный вывод: при выборе между двумя моделями всегда приоритезируйте Recovery Factor и просадку, а не абсолютный профит — это единственный способ выжить на реальном счете в долгосроке.
Стресс-тестирование на аномальных рыночных фазах
Валидация считается полной только после прогона через «черные лебеди». Мы тестируем модель на периодах февраль-март 2022 и октябрь 2023, когда волатильность превышала норму в 3-4 раза. Модель Инвестор v.1.2.1 в этих точках переходила в режим «Cash» (выход в кэш), когда вероятность успеха сделки падала ниже 51%.
Результат: за счет этого механизма максимальная просадка в кризисные периоды была ограничена 7%, в то время как индекс Мосбиржи терял до 30-40%. Экспертный вывод: интеграция стоп-фильтра на основе уверенности модели (probability score) важнее, чем сама точность прогноза; умение модели «не торговать» приносит больше денег, чем попытка угадать дно.
Вывод
Валидация на Out-of-Sample данных доказывает: модель Инвестор v.1.2.1 жизнеспособна, если её доходность на OOS не падает ниже 60% от In-Sample показателей. Для старта рекомендую использовать консервативные настройки глубины деревьев (depth=6) и обязательный фильтр по Recovery Factor > 3. Избегайте погони за точностью в 70%+ на исторических данных — в алготрейдинге это верный признак переобучения. Начинайте с малых объемов, проверяя соответствие реального слиппейджа расчетному при интеграции с API брокера.
