Бэктест в трейдинге: как я перестал сливать и начал проверять стратегии на данных
Я торговал почти три года прежде чем вообще узнал что такое бэктест.
За эти три года попробовал примерно всё. Торговал по уровням поддержки и сопротивления. Покупал сигналы в Telegram. Проходил курсы где учили читать свечные паттерны. Иногда зарабатывал, чаще терял.
Самое обидное не деньги. Самое обидное что я не понимал почему. Стратегия не работает? Я её неправильно применяю? Просто не повезло?
Ответить на этот вопрос без бэктеста невозможно. Я просто не знал об этом.
Что это вообще такое
Бэктест это когда вы берёте свои правила торговли и проверяете их на исторических данных. Задаёте условия входа, условия выхода, стоп и размер позиции. Платформа прогоняет эти правила по истории цен за несколько лет и показывает что было бы.
Не угадываете. Не предполагаете. Считаете.
Вместо ощущения «кажется это работает» получаете конкретные цифры. Сколько сделок прибыльных, какая средняя прибыль, насколько глубоко просаживался бы депозит в худший момент.
Если цифры хорошие, есть основание запускать стратегию в реальную торговлю. Если плохие, вы узнали это на исторических данных, а не на своих деньгах.
Почему большинство не делает бэктест
Первая причина: просто не знают что это нужно. Я сам провёл три года без него, потому что никто не объяснил что это обязательный шаг перед тем как вообще начинать торговать.
Вторая причина: страшно убивать иллюзию. Когда у тебя в голове красивая идея стратегии, проверять её неприятно. Вдруг окажется что она не работает? Лучше не знать и продолжать верить.
Это плохая логика. Лучше узнать раньше.
Третья причина: думают что это сложно технически. Раньше так и было, нужно было или уметь программировать или вручную просматривать тысячи свечей. Сейчас есть инструменты которые делают это автоматически.
Как я начал
После очередного слитого депозита решил наконец разобраться почему всё идёт не так. Взял свою стратегию, записал правила входа и выхода, прогнал на двух годах исторических данных по BTC.
Результат был неприятным. Стратегия которую я считал рабочей оказалась убыточной даже на истории. То есть я торговал заведомо проигрышной системой и просто не знал об этом.
Холодный душ. Но полезный.
Потом начал перебирать варианты. Менял индикаторы, менял параметры стопов, менял условия входа. Каждый вариант проверял на тех же данных прежде чем двигаться дальше.
Через несколько недель была стратегия которая показывала стабильный плюс на истории. Не гарантия успеха в реальной торговле, но хотя бы основание считать что логика рабочая.
Что смотреть в результатах
Когда открываете результаты бэктеста, большинство сразу смотрят на итоговую доходность. Это неправильно.
Доходность нужно читать вместе с просадкой. Стратегия с плюс 200% доходностью и минус 80% просадкой хуже чем стратегия с плюс 80% и минус 10%. Первую психологически невозможно пережить в реальной торговле.
Profit Factor это отношение суммарной прибыли ко суммарному убытку. Значение выше 1.5 уже неплохо, выше 2.0 хорошо. В своей текущей стратегии на BTC я получил 3.09 на двух годах данных.
Количество сделок важно для статистики. Если за два года было 10 сделок это не результат, это случайность. Нужно минимум 50-100 сделок чтобы делать какие-то выводы.
Серия убыточных сделок подряд это психологический показатель который почти никто не смотрит. В моём бэктесте было 8 убыточных подряд в худший момент. Я знал это заранее. Поэтому когда в реальной торговле пришла шестая убыточная подряд, я не выключил бота. Если бы не знал этой цифры, скорее всего выключил бы.
Главная ловушка
Когда начинаете делать бэктесты, появляется соблазн подогнать параметры под историю. Перебираете варианты пока не получите красивые цифры.
Это называется переоптимизация и это ловушка из которой потом сложно выбраться.
Стратегия оптимизированная под прошлое как правило не работает в будущем. Рынок меняется, а вы нашли параметры которые случайно совпали с тем что было два года назад.
Простая проверка: если результаты резко меняются при небольшом изменении одного параметра, стратегия нежизнеспособна. Устойчивая стратегия работает примерно одинаково при разных настройках.
Где я делаю бэктест
Раньше делал вручную в TradingView. Долго, дорого, неудобно, легко ошибиться.
Сейчас использую Skyrexio. Там есть конструктор стратегий и автоматический бэктест на двух годах исторических данных, бесплатно и без кода. Результаты видны за несколько секунд. Я участвую в развитии этого проекта и пользуюсь инструментом сам.
В следующем посте покажу как именно настраивал стратегию в конструкторе и что видно в результатах. Со скриншотами.
Если коротко
Бэктест не гарантирует что стратегия будет работать в будущем. Прошлое не равно будущему, рынок меняется.
Но торговать без бэктеста это торговать вслепую. Вы не знаете работает ваша стратегия или нет. Вы не можете отличить полосу неудач от сломанной системы. Принимаете решения на ощущениях а не на данных.
Именно так я торговал первые три года.
Если вы до сих пор торгуете без бэктеста, напишите в комментарии почему. Интересно понять что останавливает: лень, не знали что это нужно, или думали что это слишком сложно технически.
И если уже делаете бэктесты, напишите на каком инструменте. Сравним подходы.