К основному содержимому
COBALT CAPITAL
← Все публикации
Торговые стратегии7 мин чтения· Обновлено: июль 2026

Бэктест стратегии: код, метрики и как не обмануть себя

Бэктест стратегии: код, метрики и как не обмануть себя. Как правильно проверить идею на истории и какие ошибки рисуют ложную прибыль.

Фото: Alex N
Портфельный управляющий
Иллюстрация: рыночные данные Cobalt Capital

Бэктест — проверка торговой идеи на исторических данных. Это обязательный шаг между «мне кажется, это работает» и реальными деньгами, но именно здесь трейдеры чаще всего обманывают сами себя. Бэктест легко подогнать так, чтобы он показал прекрасную кривую, которая в реальной торговле немедленно рассыпется. Причина не в злом умысле, а в тонких методологических ошибках: заглядывание в будущее, игнорирование издержек, подгонка параметров. Объясним, как структурно устроен честный бэктест, какие метрики смотреть и — главное — какие ловушки превращают тестирование в самообман.

Правильный бэктест воспроизводит торговлю максимально близко к реальности. Нужны качественные исторические данные, точные правила входа и выхода, честный учёт издержек и корректная логика исполнения — сделка совершается по цене, доступной в тот момент, а не по будущей. Схематично на Python это выглядит так:

Ключевые наблюдения

  • Бэктест проверяет идею на истории, но его ценность полностью зависит от честности методологии, а не от красоты кривой.
  • Три главных источника ложной прибыли — заглядывание в будущее (look-ahead), игнорирование издержек и подгонка под прошлые данные.
  • Издержки (спред, комиссия, проскальзывание) нужно закладывать честно: без них прибыльной выглядит даже случайная стратегия.
  • Бэктест — необходимое, но недостаточное условие: хороший результат на истории не гарантирует будущей прибыли, плохой — почти всегда приговор.

Бэктест не отвечает на вопрос «сколько я заработаю». Он отвечает на вопрос «не является ли идея заведомо нерабочей». Всё остальное — это проверка методологии, а не подтверждение прибыли.

— Noob_X

Три ошибки, рисующие ложную прибыль

Первая и самая частая — look-ahead bias, заглядывание в будущее: сигнал случайно использует данные, которых в тот момент ещё не было (например, вход по цене закрытия свечи, которая на момент решения не закрылась). Такой бэктест показывает фантастику. Вторая — игнорирование издержек: без спреда, комиссии и проскальзывания даже подбрасывание монеты «выглядит» прибыльным на активной торговле. Третья — подгонка параметров под конкретный отрезок истории (переоптимизация): вы находите числа, идеальные для прошлого, которые в будущем не работают. Все три ошибки объединяет одно — они делают прошлое красивее, чем будет будущее.

Какие метрики смотреть

Одной «итоговой прибыли» категорически недостаточно. Минимальный набор: максимальная просадка (насколько глубоко проседал счёт — переживёте ли вы это психологически), соотношение риск/прибыль и профит-фактор (сколько прибыли на единицу убытка), число сделок (на пяти сделках статистики нет, нужны десятки-сотни), распределение результатов (не держится ли вся прибыль на одной аномальной сделке). Кривую эквити смотрят не на «сколько выросла», а на «насколько ровно и за счёт чего». Стратегия с меньшей прибылью, но малой просадкой и большим числом сделок обычно надёжнее, чем взлетевшая кривая на десятке сделок.

Как применить к своей торговле

Честный бэктест обязательно фиксирует риск, а не только доход. В коде выше на каждую сделку закладывается фиксированный процент счёта в риск и стоп-лосс, а издержки (`spread`) вычитаются при входе и выходе. Метрики считаются по итоговому массиву `equity`: сумма, максимальная просадка, доля прибыльных сделок. Никакие конкретные цифры доходности здесь не приводятся намеренно — они зависят от данных, инструмента и издержек конкретного брокера и должны получаться на ваших данных, а не браться из чужих обещаний. Бэктест — это инструмент проверки, а не витрина результатов.

Типичные промахи

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

Читайте также

Частые вопросы

Достаточно ли хорошего бэктеста, чтобы торговать вживую?

Нет. Хороший бэктест — необходимое, но не достаточное условие. Дальше нужны проверка на новых данных (out-of-sample) и форвард-тест. Плохой же бэктест почти всегда закрывает вопрос сразу.

Сколько истории нужно?

Достаточно, чтобы захватить разные режимы рынка (тренды и боковики, спокойствие и волатильность) и набрать много сделок. Короткий удачный период ничего не доказывает.

Можно ли бэктестить вручную, без кода?

Можно на небольшом объёме для интуиции, но ручной бэктест почти неизбежно тянет заглядывание в будущее и субъективность. Для серьёзной проверки нужен воспроизводимый код.

Реклама · Cobalt Allocation
Инструмент, которым пользуемся сами

Распределяйте капитал между стратегиями по своим правилам. Срезы статистики, лимиты риска и пауза в один клик.

Узнать больше →

Что запомнить

  • Бэктест проверяет жизнеспособность идеи, а не предсказывает будущую прибыль.
  • Сигнал считается только по прошлым данным, сделка исполняется на следующем баре — иначе это заглядывание в будущее.
  • Издержки (спред, комиссия, проскальзывание) закладываются честно, иначе прибыльной выглядит и случайность.
  • Смотрите просадку, число сделок и распределение результатов, а не только итоговую прибыль.
Заметка о рынке
Раз в неделю — как мы думаем о рынке

Коротко и по делу: режимы рынка, риск, разбор одной сделки. Без спама и продаж данных.

← Вернуться к публикациям