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