// руководство

Что такое бэктестинг?

Бэктестинг — это способ узнать, как стратегия торговала бы в прошлом, прежде чем вкладывать в неё деньги. В этом руководстве — как устроен бэктест, какие цифры читать, из-за каких ловушек результат выглядит лучше, чем есть на самом деле, и как проверить криптостратегию без единой строки кода.

5 минут чтения

Бэктестинг в одном абзаце

Бэктест берёт торговую стратегию, записанную точными правилами — когда входить, когда выходить, сколько рисковать, — и прогоняет её по историческим рыночным данным. На каждом баре правила проверяются так, будто этот момент — настоящее; когда они срабатывают, симулированный ордер исполняется, а комиссия и проскальзывание вычитаются. В итоге получается список сделок, кривая капитала и статистика, которая описывает поведение стратегии.

Ключевое слово — правила. «Покупать, когда выглядит перепроданным» проверить нельзя; «покупать, когда RSI(14) пересекает 30 снизу вверх, а EMA(50) выше EMA(200)» — можно. Сформулировать идею настолько точно, чтобы её можно было проверить, — уже половина пользы от бэктестинга.

  1. Правила

    Входы, выходы, размер

  2. История

    Свечи и фандинг

  3. Симуляция

    Бар за баром, с издержками

  4. Отчёт

    Сделки, капитал, метрики

Бэктест превращает точные правила и историю рынка в доказательства, которые можно прочитать.

Как работает бэктест, шаг за шагом

  1. Правила. Условия входа и выхода, размер позиции и ограничения риска — вся стратегия целиком, без места для «по ситуации».
  2. Данные. Исторические свечи — открытие, максимум, минимум, закрытие и объём — по рынку и таймфрейму, плюс всё, что ещё читают правила. Для бессрочных фьючерсов это и ставка фандинга.
  3. Симуляция. Движок идёт по истории бар за баром и может использовать только то, что было известно на этом баре. Следующая свеча скрыта, пока не закроется.
  4. Издержки. Каждое исполнение платит комиссию биржи и теряет на проскальзывании. Позиции на фьючерсах с плечом платят или получают фандинг и могут быть ликвидированы.
  5. Отчёт. Сделки, кривая капитала, просадки и сводные метрики.
ЦенаВходВыходКапиталСтартовый капитал
Схема, а не реальные данные: входы и выходы на графике цены (сверху) и кривая капитала, которую они дают (снизу).

Цифры, которые имеют значение

Одна итоговая доходность сама по себе говорит мало. Читайте эти показатели вместе:

Чистая доходность
Что показываетПрибыль после комиссий, проскальзывания и фандинга.
На что смотретьСравните с простым удержанием актива за тот же период (buy and hold).
Максимальная просадка
Что показываетСамое глубокое падение капитала от предыдущего пика.
На что смотретьСпросите себя, выдержали бы вы её и не выключили бы стратегию.
Коэффициент Шарпа
Что показываетДоходность на единицу волатильности.
На что смотретьКороткий тест или несколько удачных сделок могут его раздуть.
Доля прибыльных сделок
Что показываетКакая часть сделок заработала.
На что смотретьБез среднего выигрыша и проигрыша ничего не значит: низкая доля может быть прибыльной, если выигрыши намного больше.
Профит-фактор
Что показываетВаловая прибыль, делённая на валовый убыток.
На что смотретьОколо 1 небольшое изменение издержек превращает результат в убыток.
Число сделок
Что показываетСколько доказательств стоит за результатом.
На что смотретьДюжина сделок — это анекдот, а не статистика.

Почему бэктесты вводят в заблуждение: частые ловушки

Большинство обманчивых бэктестов никто не подделывал. Они оптимистичны в местах, которые легко не заметить:

  • Заглядывание в будущее. Использование информации, которой у стратегии в тот момент не было: дневное закрытие посреди дня или сделка по цене, ставшей известной позже.
  • Игнорирование издержек. Комиссии, проскальзывание и фандинг кажутся мелкими на одну сделку и быстро накапливаются у стратегии, которая торгует часто.
  • Ошибка выжившего. Тест только на монетах, которые торгуются сегодня. Делистнутые — как раз те, что стратегия могла купить по дороге вниз.
  • Переобучение. Подгонка параметров, пока прошлое не станет идеальным. С достаточным числом настроек любая стратегия ложится на историю — и проваливается на следующем месяце данных.
  • Слишком мало данных. Пара месяцев одного бычьего рынка, горстка сделок, один инструмент.
  • Неоднозначность внутри бара. Если одна свеча задела и стоп-лосс, и тейк-профит, по самой свече не понять, что было первым. Считать, что первым был тейк-профит, — оптимистичная догадка.

Как проверять стратегию правильно

  • Оставьте данные, которых стратегия не видела. Подбирайте параметры на одном периоде (в выборке, IS), а результат оценивайте на более позднем, который вы не трогали (вне выборки, OOS).
  • Идите вперёд по времени. Повторите это разбиение на скользящих окнах (walk-forward), чтобы проверить, держится ли преимущество во времени, а не в одном удачном отрезке.
  • Меняйте условия. Сдвиньте дату старта, попробуйте другие инструменты и таймфреймы, поднимите комиссии. Настоящее преимущество слабеет плавно, подогнанное — рушится.
  • Пересэмплируйте сделки. Тест Монте-Карло перемешивает и пересэмплирует последовательность сделок и показывает, какой разброс просадок даёт одно лишь везение.
  • Считайте попытки. Если вы перебрали пятьдесят вариантов, лучший выглядит хорошо отчасти случайно. Поправки вроде дефлированного Шарпа (DSR) учитывают число попыток.
В выборке (IS) — подбор
Вне выборки (OOS) — оценка

Walk-forward

Окно 1
подбор
оценка
Окно 2
подбор
оценка
Окно 3
подбор
оценка
Окно 4
подбор
оценка

время →

Параметры подбираются в выборке (IS), оцениваются вне выборки (OOS). Walk-forward повторяет это разбиение по мере движения времени.

Чего бэктест сказать не может

Бэктест описывает прошлое при допущениях симуляции. Рынки меняются, ликвидность меняется, и стратегия, которая работала три года, может перестать работать. Хороший бэктест — повод продолжить исследование, а не прогноз и тем более не финансовая рекомендация.

Бэктестинг криптостратегий в Janorium

Janorium — бесплатная веб-платформа ровно для такой работы, сделанная под крипту: спот и бессрочные фьючерсы USDT-M Binance с историей с 2020 года.

  • Стратегия описывается в визуальном редакторе или JSON-конфигом — без кода — из 100+ индикаторов, а начать можно с готового шаблона.
  • Движок прогоняет её бар за баром с комиссиями, проскальзыванием, историческим фандингом и ликвидацией. Если один бар задел и стоп, и цель, первым считается стоп — или решают 1m / 5m бары внутри него.
  • Сотни делистнутых бессрочных фьючерсов остаются в данных, так что в набор инструментов могут попасть монеты, которые потом умерли.
  • В отчёте 60+ метрик, каждая сделка на графике, эпизоды просадок, разбивка по режимам рынка и пересэмплирование Монте-Карло, а также заметка о дефлированном Шарпе (DSR), учитывающая, сколько вариантов перебрано.

Создайте бесплатный аккаунт и запустите первый бэктест или сначала откройте рейтинг и посмотрите чужие стратегии и их отчёты. Переходите с TradingView? Прочитайте, чем они отличаются.

Проверьте свою идею

Создайте бесплатный аккаунт, начните с шаблона или своих правил и прочитайте первый отчёт.

Другие руководства