Проверка торговых стратегий на истории: что реально работает

Чтобы идея не развалилась на первом же реальном дне, её гоняют по прошлым котировкам — аккуратно, без подглядывания в будущее и иллюзий. Разбираем, какие данные нужны, как готовить выборку, какие метрики считать и как защищаться от переобучения. В итоге получается трезвый, воспроизводимый процесс принятия решений.

Что такое проверка стратегии на истории и зачем она нужна

Это контролируемый прогон торговых правил на прошлых котировках, чтобы оценить реализуемость и риск. Такой подход отсекает красивые на глаз идеи, показывает просадки и учитывает комиссии с проскальзываниями.

По сути, это проверка на прошлых данных (backtesting) с чёткими правилами входа, выхода и управления позицией. Она отвечает на простой вопрос: „имела ли бы место заявленная логика раньше, при тех же условиях?“. Важно не подглядывать в будущее: индикаторы должны строиться только на информации, доступной на момент принятия решения, без „светящихся“ следующими барами значений. Мы также учитываем рыночную ликвидность, реальные торговые часы, комиссии и проскальзывания, иначе цифры обманут. Ещё один камень преткновения — смещение выживших: если брать только нынешних „живых“ эмитентов, картина станет чересчур оптимистичной. Поэтому добросовестная проверка начинается с правильной выборки и строгих ограничений на знания о будущем.

Данные и подготовка выборки: где брать и как чистить

Нужны корректные котировки с учётом корпоративных событий и реальных торговых сессий. Выборка делится на обучающий период для подбора правил и контрольный период для проверки, а пробелы и ошибки в данных маркируются и обрабатываются.

Источники данных бывают разные: биржевые провайдеры, лицензированные агрегаторы, открытые архивы. Важнее не цена, а качество: корректные сплиты и дивиденды, отсутствие „склеивания“ торговых площадок и чёткая временная зона. При работе с минутными и тиковыми рядами аккуратно синхронизируем время, чтобы не получить сигналы „из будущего“ между инструментами. Не забываем про календарь: праздники, укороченные дни, переход на летнее время. Грубые выбросы — либо проверяем первоисточник, либо ограничиваем влияния, а иногда и исключаем наблюдения с явными артефактами. Для акций разумно фильтровать по обороту и цене, чтобы не моделировать невозможные сделки. Разделение на периоды — краеугольный камень: сначала формируем правила на одной части данных, затем проверяем их устойчивость на другой. И, кстати, пусть контрольный период будет правдоподобно длинным: один удачный год ничего не доказывает.

  • Покрытие: полные котировки, корректные сплиты и дивиденды.
  • Синхронизация времени: единая зона, учёт торговых часов.
  • Ликвидность: фильтры по обороту/спреду, реальность исполнения.
  • Разделение периодов: обучающий, контрольный, иногда финальный „холодный“ отрезок.
  • Комиссии и проскальзывания: задаём реалистичную модель сразу, а не потом.

Метрики качества: какие цифры действительно важны

Смотрим не только на доходность, но и на характер пути: просадка, стабильность по годам, волатильность капитала и соотношение доходности к риску. Если после комиссий профит слаб, а просадка велика, система не годится.

Итоговая доходность — приятная, но коварная цифра. Куда важнее, насколько „нервно“ стратегия идёт к цели, как быстро выходит из просадок и не завязана ли на один счастливый год. Коэффициент Шарпа показывает эффект на единицу риска, но он не различает „плохую“ и „хорошую“ волатильность; на помощь приходит коэффициент Сортینو. Максимальная просадка расскажет о самом тяжёлом периоде, а время восстановления — сколько терпения потребуется. Полезно смотреть распределение доходности по месяцам/годам и по инструментам: если результат держится на одном активе или на двух вспышках удачи, это звоночек. Мы также любим проверять стабильность параметров: небольшие сдвиги не должны разрушать картину.

Метрика Что показывает Ориентиры для ликвидных рынков
Доходность после издержек (годовая) Реальный профит с учётом комиссий и проскальзываний Выше безрисковой ставки на 3–6 п.п. и более
Коэффициент Шарпа Эффективность на единицу полной волатильности 0,8–1,0 приемлемо; 1,0–1,5 хорошо; выше — редкость
Коэффициент Сортิโน Эффективность относительно „плохой“ волатильности На 20–40% выше, чем Шарп, при устойчивых системах
Максимальная просадка Наихудшее падение капитала от пика до дна Не больше половины среднегодовой доходности
Время восстановления Сколько шёл выход из самой глубокой просадки Менее 6–12 месяцев для среднесрочных идей
Стабильность по годам Доля прибыльных лет/месяцев Более 60% периодов в плюсе

Это не железные законы, а ориентиры, помогающие отделить удобоваримую „нервность“ от разрушительной. Особенно полезно смотреть пакетно: высокая доходность при чрезмерной просадке — мираж. А вот умеренная доходность с короткими просадками и ровным профилем часто переживает длинные рыночные эпохи, где „чудо-метрики“ сдуваются.

Как избежать переобучения и ловушек: методики и правила

Защита строится на раздельных периодах, ограничении числа параметров и проверке устойчивости. Помогают скользящее окно, прогоны на смежных рынках и стресс‑тесты с „грязными“ данными.

Переобучение случается, когда подгоняем логику под случайный шум. Рабочий рецепт прост: минимум параметров, разумные экономические мотивы и проверка устойчивости на новых данных. Метод „скользящего окна“: учим правила на недавнем отрезке и применяем на следующем, затем окно сдвигаем — так видно, как идея „жила“ бы во времени. Полезно рандомизировать издержки и порядок сделок, чтобы проверить хрупкость эквити‑кривой. Перестановки сделок с сохранением профиля прибыли покажут, не держится ли результат на удачной очередности. Проверяем соседние рынки и таймфреймы: если смысл действительно общий, он проявится хотя бы в смягчённом виде. И ещё — штрафуем себя за множественные попытки: десятки экспериментов с параметрами увеличивают шанс случайного успеха, значит, требуем большей маржи прочности.

  • Разделение на обучающий/контрольный/„холодный“ периоды без утечек информации.
  • Ограничение степеней свободы: минимум параметров, простые правила.
  • Скользящее окно и проверка стабильности параметров (тепловые карты профита).
  • Стресс‑тесты: рандомизация издержек, задержки исполнения, пропуски баров.
  • Кросс‑проверка: смежные рынки, другие таймфреймы, альтернативные расчёты индикаторов.
Ловушка Как проявляется Проверка и защита
Подглядывание в будущее Необычно гладкая кривая на истории, провал на реале Строгая синхронизация времени, запрет будущих данных в формулах
Смещение выживших Завышенная доходность на „лучших“ эмитентах Исторические составы индексов, делистинги в сэмпле
Переобучение параметров Сверхпрофит в оптимуме, резкий спад вокруг Широкие плато устойчивости, штраф за сложность
Игнорирование издержек Прекрасная теория, нулевая практика Моделирование комиссий и проскальзываний с запасом
Зависимость от одного режима Работает только в трендах или только во флэте Декомпозиция по режимам, модулярные портфели

Чтобы довести идею до рабочего состояния, нужен короткий, но жёсткий порядок действий. Сначала формулируем логику на салфетке: без формул должно быть понятно, на чём зарабатываются деньги. Дальше — простая реализация, где каждый шаг прозрачен и воспроизводим. Применяем на обучающем периоде, фиксируем параметры и больше их не трогаем. Потом контрольный период и скользящее окно, стресс‑тесты и кросс‑проверки. Если система переживает эти преграды, снижаем риск до реального, но скромного размера и ведём журнал сделок. И, честно говоря, не спешим: две недели наблюдений в „бумажном“ режиме порой спасают месяцы и капитал.

Небольшой рабочий план поможет не расплескать дисциплину:

  1. Данные: собрать, очистить, учесть корпоративные события и ликвидность.
  2. Правила: максимально простые, экономически мотивированные, без лишних параметров.
  3. Издержки: задать реалистичную модель комиссий и проскальзывания.
  4. Разделение периодов: обучающий, контрольный и „холодный“ сегменты.
  5. Скользящее окно и стресс‑тесты: рандомизация, пропуски, задержки.
  6. Малый реальный риск и мониторинг: журнал сделок, сравнение с эталоном.

Вывод простой. Надёжная проверка — это не про „выжать максимум из истории“, а про доказать жизнеспособность идеи при разумных издержках и в разных рыночных режимах. Когда цифры честны, а правила понятны и устойчивы, результаты реальных сделок перестают быть лотереей и начинают напоминать ремесло — аккуратное, последовательное, с ясными ожиданиями и пределами риска.

И да, чудес не будет: даже лучшая система переживает просадки. Но если маршрут продуман, метрики не кричат о хрупкости, а процесс отслеживается и дорабатывается небольшими шагами, то шансы пройти через бурю растут. Это и есть цель — не угадать, а выстоять.