Даже честный, методологически чистый бэктест — это ещё не прибыль. Между красивой кривой на истории и результатом на реальном счёте лежит пропасть, о которую разбиваются многие стратегии, безупречные в теории. Причина в том, что бэктест по определению работает в идеальном мире: сделки исполняются мгновенно и точно по нужной цене, ликвидность всегда есть, спред стабилен, эмоций нет. Реальный рынок устроен иначе. Разберём конкретно, где теория ломается о реальность — проскальзывание, реквоты, переменный спред, ограниченная ликвидность и человеческий фактор, — и почему форвард-тест обязателен даже после прекрасного бэктеста.
Главный разрушитель теории — проскальзывание: разница между ценой, по которой вы хотели войти или выйти, и ценой реального исполнения. В бэктесте сделка проходит ровно по заданной цене; в реальности рынок движется, пока ордер идёт до сервера, и вы получаете цену чуть хуже. На стопах это особенно болезненно: в быстром движении стоп исполняется далеко за уровнем. Реквоты (отказ исполнить по запрошенной цене и предложение новой) добавляют задержку и ухудшение. Для медленных стратегий это мелочь, для активных — фактор, способный превратить прибыльную на истории систему в убыточную вживую.
Ключевые наблюдения
- Бэктест исполняет сделки в идеальных условиях; реальный рынок добавляет проскальзывание, реквоты, переменный спред и задержки.
- Чем чувствительнее стратегия к точной цене входа/выхода (скальпинг, новости), тем сильнее реальность расходится с историей.
- Проскальзывание и расширение спреда бьют сильнее всего в моменты волатильности — как раз тогда, когда многие стратегии активны.
- Форвард-тест на реальных данных вперёд — обязательный мост между красивым бэктестом и торговлей полным объёмом.
Бэктест торгует в мире без трения. Реальный рынок — это трение: каждая сделка чуть хуже, чем на графике, а в стрессовый момент — сильно хуже. Стратегия должна оставаться прибыльной с учётом этого трения, а не в идеальном вакууме.
— Noob_X
Спред и ликвидность
В бэктесте спред часто берут фиксированным, а в реальности он «дышит»: узкий в спокойные часы и резко расширяющийся на новостях, на открытии и в неликвидное время. Стратегия, посчитанная на среднем спреде, недооценивает издержки именно в самые активные моменты. Ликвидность — второй фактор: бэктест предполагает, что ваш объём всегда исполнится по цене на графике, но на тонком рынке или большим объёмом цена «продавливается», и вы получаете хуже. Оба эффекта работают против трейдера и почти всегда отсутствуют в наивном бэктесте, из-за чего история выглядит оптимистичнее реальности.
На что смотреть в этой теме
Разумный подход — закладывать в бэктест пессимистичные, а не идеальные условия: спред брать с запасом, добавлять модель проскальзывания (например, ухудшение исполнения на часть спреда, увеличенное в волатильные периоды), не считать мгновенного исполнения крупного объёма. Если стратегия остаётся прибыльной при таких «утяжелённых» издержках — это хороший знак; если её преимущество исчезает от реалистичных издержек, значит, его и не было. Конкретные величины проскальзывания и спреда зависят от инструмента, брокера и момента и проверяются в терминале и на форвард-тесте — приводить чужие цифры бессмысленно.
Человеческий фактор и форвард-тест
Есть ещё одно расхождение, которое бэктест не ловит вовсе: вас самих. История исполняется идеально дисциплинированно, а живой трейдер пропускает сигналы, входит с опозданием, двигает стоп, паникует в просадке. Даже прибыльную систему человек способен сделать убыточной нарушением правил. Поэтому финальный барьер — форвард-тест: запуск стратегии на реальных данных вперёд, сначала на демо или малом объёме, чтобы сравнить фактические результаты с ожиданиями бэктеста и увидеть реальные издержки и собственное поведение. Только пройдя этот мост, стратегию имеет смысл масштабировать.
Чего лучше избегать
— Считать красивый бэктест доказательством будущей прибыли.
— Брать в тесте фиксированный спред и нулевое проскальзывание.
— Игнорировать расширение издержек в волатильные периоды, когда стратегия активна.
— Предполагать мгновенное исполнение любого объёма.
— Пропускать форвард-тест и сразу торговать полным объёмом.
Читайте также
Частые вопросы
Почему стратегия прибыльна на истории, но теряет вживую?
Чаще всего из-за недооценённых реальных издержек (проскальзывание, переменный спред), заглядывания в будущее в коде или нарушения правил живым трейдером.
Как приблизить бэктест к реальности?
Закладывать пессимистичные издержки, моделировать проскальзывание, увеличивать спред в волатильные периоды и обязательно проводить форвард-тест на реальных данных.
Обязателен ли форвард-тест, если бэктест и out-of-sample хороши?
Да. Только форвард-тест показывает реальные издержки исполнения и ваше собственное поведение, которых нет ни в одном историческом тесте.
Что запомнить
- Красивый бэктест — не прибыль: реальный рынок добавляет проскальзывание, реквоты и переменный спред.
- Чем чувствительнее стратегия к точной цене, тем сильнее живая торговля расходится с историей.
- Издержки бьют сильнее всего в волатильные моменты — закладывайте пессимистичные условия.
- Форвард-тест на реальных данных вперёд — обязательный мост перед торговлей полным объёмом.
