Перейти к содержимому

Бэктестинг и валидация

Проверь идею. Изучи результаты.

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

backtest_review.py
net_pnl = gross_pnl - fees
peak = equity.cummax()
drawdown = equity / peak - 1
assert train_end < test_start
Исторические траектории стратегии на окнах валидации с просадками и распределениями результатов

Иллюстративный пример · не реальный результат

Посмотрите, как работает фабрика стратегий.

Иллюстративный пример · не реальный результат

Посмотрите, как ИИ-агенты создают и проверяют стратегию.

ИИ-агенты развивают идею, пишут код и оценивают результаты тестов. Результаты проверки могут вернуть стратегию на новый цикл доработки.

  1. Опишите
  2. Сборка и проверка
  3. Бэктест
  4. Стресс-тест
  5. Бумажная торговля
01

Смоделируйте торговые условия

Бэктесты используют исторические данные, настроенные комиссии торговой площадки и применимые допущения об исполнении. Охват данных, финансирование, проскальзывание и влияние на рынок могут существенно изменить результат.

02

Изучайте больше, чем доходность

Изучите кривую доходности, просадки, распределение результатов и отдельные сделки. Проверяйте период, размер выборки и допущения наряду с ключевыми показателями.

03

Проверяйте устойчивость

Анализ чувствительности, walk-forward оптимизация и валидация на отложенной выборке показывают, как меняются результаты за пределами выбранных параметров и обучающих окон.

Держите допущения рядом с результатом.

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

  1. Входные данные

    Период данных, торговая площадка, комиссии

  2. Тесты

    Бэктест, walk-forward, отложенная выборка

  3. Доказательства

    Показатели, сделки, заметки проверки

Позвольте более поздним данным проверить более ранние решения.

Скользящее тестирование вперёд подгоняет модель на более раннем окне и оценивает на более позднем. Отложенная выборка хранится отдельно от окон оптимизации.

Изучайте фактические даты разбиения и число сделок. Повторное использование обратной связи от отложенной выборки в множестве попыток может ослабить её независимость.

ПодгонкаВалидацияОтложенная выборка
Схема: три окна подгонки и валидации последовательно движутся во времени; отложенная выборка остаётся зарезервированной справа. Длина окон и промежутки зависят от конфигурации.

Небольшие издержки могут поглотить значительное преимущество.

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

Оборот
Совокупный торговый оборот относительно начального капитала; учитывается каждая покупка и продажа.
Комиссии и проскальзывание
Проверьте настроенные комиссии площадки и допущения по ценам в фактическом отчёте.
Чистый результат
Сравните оставшееся преимущество с просадками, размером выборки и результатами вне выборки.

Посмотрите, как издержки исполнения меняют результат.

Валовая доходность12.0%
Смоделированные издержки2.0%
Чистый результат после этих издержек10.0%

Примерные допущения: валовая доходность 12%, совокупный торговый оборот равен 40-кратному начальному капиталу, комиссия 2 б.п. на единицу оборота. Издержки = оборот × (комиссия + проскальзывание); 1 б.п. = 0,01%. Линейная иллюстрация; не учитывает капитализацию, фандинг и рыночное воздействие.

Вопросы с ответами.

Больше вопросов и ответов
Гарантирует ли хороший бэктест будущую доходность?

Нет. Бэктесты гипотетичны и чувствительны к данным, допущениям и отбору. Валидация помогает выявить слабые места, но не устраняет торговый риск.

Являются ли комиссии реальными котировками для моего счёта?

Нет. Это настроенные значения по умолчанию для симуляции. Уровень вашей биржи и правила для инструмента могут отличаться. Прежде чем интерпретировать результат, проверьте допущения.

Чем отличаются пошаговое тестирование (walk-forward) и проверка на отложенных данных (holdout)?

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

На какие результаты стоит смотреть помимо общей доходности?

Изучите просадки, торговые издержки, количество и распределение сделок, периоды удержания позиций и результаты вне выборки (out-of-sample). Обратите внимание на зависимость от небольшого числа сделок или одного рыночного периода. Высокая доходность сама по себе не объясняет, как стратегия её получила, и не показывает промежуточные убытки.

Зачем тестировать соседние параметры, а не просто использовать лучшую настройку?

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

Почему два бэктеста схожей идеи могут расходиться?

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

Разберитесь, что подтверждает каждый результат

Базовый анализ и исследование параметров

Изучите базовые результаты за всю историю данных до оптимизации. Аналитик использует полученные данные, чтобы определить параметры поиска; диагностические данные обучения не подтверждают результаты вне обучающей выборки.

Изучить оптимизацию

Отдельный эксперимент

Используйте Backtest Lab для изучения стратегии, не считая этот эксперимент новым одобрением для бумажной или реальной торговли. Анализируйте код, период данных и издержки наряду с результатом.

Подробнее о Backtest Lab

Данные могут не дать однозначного вывода

Даже положительный бэктест может основываться на слишком малом числе независимых наблюдений. Исследование на бумажном счёте с низким уровнем уверенности сохраняет эту отметку и никогда автоматически не разрешает торговлю на реальные деньги.

Ознакомьтесь с руководством по валидации

Начните с вопроса, который стоит проверить.

Изучайте опубликованные стратегии или откройте рабочее пространство, чтобы создавать, тестировать и отслеживать собственные стратегии с помощью ИИ-агентов.

Stratmill — это платформа для разработки торговых стратегий с ИИ, а не финансовая консультация и не брокер. Результаты бэктестинга и бумажной торговли являются гипотетическими. Торговля связана с риском убытков.

Лаборатория бэктестов

Запустите тест из рабочего пространства.

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

Внутри продукта

Откройте реальную запись исследования.

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

Читать публичный отчет
Публичный отчет Stratmill по стратегии с результатами исследования и выводами проверки
Публичный снимок экрана продукта. Историческое исследование, а не заявление о текущих результатах.

Понимайте, о чем говорят данные.

Проверьте входные данные

Доступность данных, история инструмента, комиссии и предположения об исполнении ордеров различаются в зависимости от площадки. Проверьте охват данных и предположения, зафиксированные для вашего запуска.

Изучить рыночные данные

Отделяйте тесты от проверки на последующих данных

Бэктесты моделируют прошлое. Торговля на демо-счёте добавляет наблюдения в реальном времени. Результаты с низкой степенью уверенности не подтверждены статистически, и ни они, ни торговля на демо-счёте не обещают доходности.

Изучить торговлю на демо-счёте

Отдельно разрешите реальную торговлю

Открытие рабочего пространства, импорт кода или запуск бэктеста не дают разрешения на размещение ордеров за реальные деньги. Для реального исполнения требуется ваше одобрение и подключенный поддерживаемый аккаунт.

Изучить торговлю в реальном времени