Коротко
- Бэктест применяет правило к историческим данным так, как будто оно действовало в выбранный период.
- Он позволяет увидеть, как формула ведёт себя при конкретных данных и допущениях, но не показывает будущий результат.
- Главные вопросы относятся к моменту доступности данных, издержкам, исполнению, выбору периода и настройке параметров.
- Историческая и модельная цифра должна оставаться маркированной: она не становится фактической торговой историей от одного графика.
Что именно проверяет бэктест
Бэктест — это не просто построение красивой кривой. Сначала задаётся правило: какие данные используются, какое условие создаёт сигнал, как рассчитывается действие и какие расходы учитываются. Затем это правило последовательно применяется к исторической выборке.
Такой процесс может ответить на ограниченный вопрос: «Как описанное правило прошло бы через эти данные при этих допущениях?». Он не отвечает на более сильный вопрос: «Каким будет следующий результат?». SEC относит backtested performance к hypothetical performance и требует контекста о критериях, предположениях, рисках и ограничениях при её использовании в рекламе (Investment Adviser Marketing). В этой статье речь идёт об образовательной рамке, а не о рекламном представлении результатов.
В статье об оценке автоматизированной стратегии бэктест занимает только один слой общей проверки. Правила, данные, исполнение, риск и мониторинг нельзя заменить одной исторической метрикой.
Четыре слоя исторической проверки
Данные и момент доступности
Нужно зафиксировать источник, частоту, часовой пояс, пропуски и исправления. Важен не только сам ряд, но и то, какая информация была доступна в момент, когда правило должно было принять решение. Если в расчёт попадает значение из будущего, результат перестаёт быть проверкой доступного тогда процесса.
Правила и параметры
Опишите формулу, условия входа и выхода, размер позиции и порядок обработки исключений до просмотра результата. Если параметры меняются после каждого запуска в поиске более привлекательной кривой, итоговая выборка уже содержит следы подгонки.
Издержки и исполнение
Комиссия, спред, проскальзывание, задержка и частичное исполнение связывают модель с реальным действием. Их отсутствие не делает расчёт бесполезным, но сужает вопрос, на который он отвечает. В отчёте нужно явно указать, какие издержки включены, а какие не моделировались.
Проверка вне настройки
Разделение данных на часть для настройки и часть для проверки помогает заметить, что правило подстроилось под знакомую историю. Это не гарантирует устойчивость, но делает границу между разработкой и проверкой видимой. Полезно также смотреть на разные периоды и режимы, не объединяя их в одно удобное среднее без пояснения.
Иллюстративный пример
Представим правило, которое использует два значения закрытия и открывает условную позицию при заранее заданном соотношении. В первой части истории автор проверяет формулу и замечает, что одно значение интервала создаёт меньше сигналов. Он не меняет правило молча: фиксирует исходную версию, новую версию и отдельный вопрос для следующей проверки.
Во второй части истории модель запускается без перенастройки. Дополнительно создаётся расчёт с условной комиссией и задержкой. Если итоговые траектории различаются, это не повод выбрать более удобную линию; это сигнал описать чувствительность к допущениям.
Все элементы примера вымышлены: здесь нет данных об ARM, реальной стратегии, счёте или результатах. Иллюстрация показывает процесс фиксации версий, а не качество какого-либо метода.
Почему оптимизация может обмануть
Чем больше вариантов параметров перебрано по одной истории, тем выше риск найти комбинацию, хорошо описывающую именно этот фрагмент данных. CME Group публикует исследование о множественных проверках, data mining и overfitting в контексте backtesting (Backtesting). Методологический вывод прост: число попыток и способ выбора финальной версии также относятся к данным о проверке.
Нужно сохранить не только финальную кривую, но и журнал вариантов, критерий выбора, периоды настройки и проверки. Иначе читатель не сможет понять, сколько решений было принято после просмотра истории.
Что проверить самостоятельно
- Зафиксированы ли источник данных и момент доступности каждого значения?
- Описаны ли правила и параметры до просмотра итоговой кривой?
- Учтены ли комиссия, спред, задержка и проскальзывание?
- Разделены ли периоды настройки и проверки?
- Показано ли, сколько вариантов было перебрано?
- Отмечены ли исторические, модельные и синтетические цифры?
- Есть ли границы применимости и список того, что модель не проверяет?
Ограничения и итог
Бэктест полезен как воспроизводимый эксперимент над исторической выборкой. Он помогает найти противоречия в правилах, увидеть чувствительность к допущениям и подготовить вопросы к следующему этапу. Но прошлые данные не становятся гарантией будущего исполнения, а модельная цифра не превращается в фактический результат.
Корректное чтение начинается с короткого описания условий: какие данные, какое правило, какой период, какие издержки и какая часть истории была скрыта до финальной проверки. Если этих границ нет, сильный вывод из одной кривой будет шире, чем сама проверка.
