Коротко

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

Что именно проверяет бэктест

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

Такой процесс может ответить на ограниченный вопрос: «Как описанное правило прошло бы через эти данные при этих допущениях?». Он не отвечает на более сильный вопрос: «Каким будет следующий результат?». SEC относит backtested performance к hypothetical performance и требует контекста о критериях, предположениях, рисках и ограничениях при её использовании в рекламе (Investment Adviser Marketing). В этой статье речь идёт об образовательной рамке, а не о рекламном представлении результатов.

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

Четыре слоя исторической проверки

Данные и момент доступности

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

Правила и параметры

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

Издержки и исполнение

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

Проверка вне настройки

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

Иллюстративный пример

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

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

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

Почему оптимизация может обмануть

Чем больше вариантов параметров перебрано по одной истории, тем выше риск найти комбинацию, хорошо описывающую именно этот фрагмент данных. CME Group публикует исследование о множественных проверках, data mining и overfitting в контексте backtesting (Backtesting). Методологический вывод прост: число попыток и способ выбора финальной версии также относятся к данным о проверке.

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

Что проверить самостоятельно

  • Зафиксированы ли источник данных и момент доступности каждого значения?
  • Описаны ли правила и параметры до просмотра итоговой кривой?
  • Учтены ли комиссия, спред, задержка и проскальзывание?
  • Разделены ли периоды настройки и проверки?
  • Показано ли, сколько вариантов было перебрано?
  • Отмечены ли исторические, модельные и синтетические цифры?
  • Есть ли границы применимости и список того, что модель не проверяет?

Ограничения и итог

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

Корректное чтение начинается с короткого описания условий: какие данные, какое правило, какой период, какие издержки и какая часть истории была скрыта до финальной проверки. Если этих границ нет, сильный вывод из одной кривой будет шире, чем сама проверка.