Представим, вы придумали торговую стратегию, открыли старый график и нашли двадцать сделок. Пятнадцать закрылись в плюс, пять в минус, итоговая доходность отличная. Кажется, осталось только внести деньги на брокерский счёт и повторить то же самое уже в реальном рынке.
Только есть одна проблема: на историческом графике вы уже знаете будущее. Видите, где цена потом развернулась, какой пробой оказался ложным и какой уровень действительно сработал. Поэтому бэктест может быть очень полезен, но получить на истории красивую статистику намного легче, чем кажется.
Что такое бэктест
Бэктест - это проверка торговой стратегии на уже состоявшемся рынке. Вы заранее формулируете правила и смотрите, что происходило бы, если бы последовательно применяли их к прошлым данным: где возникал вход, где находился стоп, когда закрывалась позиция и какой результат получалась на большой серии сделок.
Ключевое слово здесь -
последовательно. Если после каждого неудачного примера менять правила, тест быстро теряет смысл. Сначала стратегия должна отвечать хотя бы на основные вопросы: что является основанием для сделки, где идея перестаёт работать, каким будет риск и по каким условиям происходит выход. Подробнее саму конструкцию сделки мы разбирали в статье
«Как мы собираем торговую идею целиком».
Бэктест нужен не для поиска нескольких красивых графиков. Его задача - посмотреть, как одна и та же логика вела бы себя на большом количестве прошлых ситуаций.
Как очень легко получить великолепный бэктест
Допустим, вы проверяете стратегию и видите убыточную сделку. После неё добавляете условие: «Такие входы не берём, если объём маленький». Следующая тоже закрывается в минус - появляется ещё один фильтр. Затем исключаются понедельники, слишком волатильные дни, определённые акции и несколько неудобных периодов рынка.
Через некоторое время история выглядит прекрасно. Только новые правила появились уже после того, как вы увидели результат. Чем больше параметров можно менять, тем проще построить систему, которая великолепно описывает прошлое и совершенно не обязана работать на новых данных.
Это называется подгонкой стратегии под историю, и ей мы ещё посвятим отдельный материал. Есть и более примитивный способ обмануть себя - выбирать только удачные примеры. Найти десять мест, где уровень прекрасно отработал, несложно. Намного полезнее взять все ситуации, которые соответствовали правилам, включая самые неприятные.
Смотреть только на итоговую прибыль почти бесполезно
Две стратегии могут заработать по 30%, но пройти к этому результату совершенно разными путями. Первая за год проседала максимум на 7%, а вторая в какой-то момент теряла 40% капитала. На последней строке таблицы обе выглядят одинаково прибыльными, но реальными деньгами пережить их будет совсем не одинаково.
Поэтому в бэктесте смотрят не только на итоговый результат. Нужны количество сделок, средняя прибыль и убыток, процент прибыльных операций, максимальная просадка, серии стопов и соотношение совокупных прибылей и потерь. Даже высокий Win Rate ничего сам по себе не гарантирует. Если восемь прибыльных сделок дают по 1 000 ₽, а две убыточные забирают по 6 000 ₽, система с 80% прибыльных операций всё равно теряет деньги. По той же причине красивое
соотношение риска и прибыли имеет смысл только вместе со статистикой вероятностей.
И одна прибыльная серия ещё не доказывает, что система хорошая. Мы уже подробно разбирали это в статье
о том, почему прибыльная сделка не всегда означает правильное решение.
Историческая сделка должна быть похожа на ту, которую реально можно совершить
На графике легко купить точно по 100 ₽ и продать точно по 103 ₽. В реальности существуют комиссия, спред, ликвидность и проскальзывание. Для активной стратегии эти несколько десятых процента способны превратить красивую историческую прибыль в совсем другой результат.
Особенно это заметно на неликвидных инструментах. На графике цена может быть 100 ₽, но если по этой цене продавалось десять акций, позицию на несколько тысяч штук там физически не набрать. Следующая часть заявки исполнится уже дороже. Поэтому при тестировании нужно учитывать не только нарисованную цену, но и возможность реально получить такое исполнение. Отдельно об этом мы писали в материалах про
ликвидность и
проскальзывание.
То же относится к стопам. Акция закрылась по 500 ₽, стоп стоит на 480 ₽, а после ночной новости рынок открывается сразу по 450 ₽. Бэктест, который запишет выход ровно по 480 ₽, нарисует сделку, которой в реальности не существовало. Сам механизм мы разбирали в статье
про стоп-лосс.
Размер позиции - тоже часть стратегии
Можно идеально протестировать точки входа и совершенно испортить результат неправильным объёмом. Представим, в одной сделке нормальный стоп находится в 2% от входа, а в другой - в 8%. Если покупать обе позиции на одинаковую сумму, денежный риск во второй окажется намного выше.
Поэтому нормальный бэктест должен учитывать то же правило расчёта позиции, которое предполагается использовать в реальной торговле. Иначе вы отдельно тестируете «хорошие точки», а управление капиталом добавляете уже потом, хотя на реальном счёте они не существуют независимо друг от друга. Как связаны стоп, допустимая потеря и количество акций, мы подробно разбирали
в статье про размер позиции.
Стратегию нужно проверять не только на удобном для неё рынке
Если идея родилась во время сильного роста, а тестировали вы её только на других растущих участках, результат может оказаться великолепным. Потом рынок переходит в боковик - и статистика разваливается.
Поэтому полезно смотреть разные состояния рынка: рост, падение, флэт, периоды высокой и низкой
волатильности. Возможно, стратегия действительно хорошо работает только при определённых условиях - это тоже нормальный результат тестирования. Намного лучше узнать об этом заранее, чем после запуска реальными деньгами.
Похожая ошибка возникает, когда при проверке используется информация, которой в момент сделки ещё не существовало. Например, вы принимаете решение внутри дневной свечи, но используете её цену закрытия, известную только вечером. Получается стратегия с небольшой сверхспособностью: она знает будущее.
Что хороший бэктест действительно может показать
Он способен дать вполне практические ответы. Как часто возникают сделки, какой средний результат они дают, насколько длинными бывают серии убытков, какая просадка исторически встречалась, сколько капитала требуется и насколько сильно стратегия зависит от конкретного состояния рынка.
Допустим, система в среднем даёт четыре сделки в месяц и время от времени получает шесть стопов подряд. Уже эта информация позволяет намного трезвее оценивать её, чем фраза «на истории получилось +70%». Если шесть последовательных убытков заставят вас бросить систему после пятого, это нужно знать ещё до реальной торговли. Если историческая просадка в 30% для вас финансово неприемлема, итоговая доходность теста ситуацию не исправляет.
Бэктест превращает «мне кажется, здесь есть закономерность» в статистику, которую уже можно анализировать.
А чего бэктест доказать не может
Он не доказывает, что будущая доходность повторит прошлую, что следующая сделка будет прибыльной или что будущая просадка никогда не окажется глубже исторической. И уж точно он не превращает рынок в предсказуемую систему.
Для нас историческая проверка вообще имеет смысл не как поиск красивых отработок уровня. После события легко найти объяснение практически любому движению. Нам интереснее другое: можно ли было заранее выделить область, одинаково сформулировать условия входа и отмены сценария, а затем повторить тот же процесс на большой серии ситуаций.
Поэтому хороший бэктест - не сертификат прибыльности, а первый фильтр. Если стратегия не выдерживает даже честной проверки на истории, рисковать реальными деньгами странно. Если выдерживает, появляется основание проверять её дальше, но будущая прибыль всё равно не становится гарантированной.
В Altz School мы придерживаемся той же логики во всём обучении: недостаточно показать красивый вход после того, как движение уже произошло. Нужно понимать, почему сделка появилась, где первоначальная идея переставала работать, каким был риск и можно ли повторять эти решения на дистанции.
Если хотите посмотреть программу, практическую часть и формат обучения, запишитесь на подробную экскурсию по Altz School. Покажем, как всё устроено, а решение вы примете уже после.