Материал от редакции инвест-клуба ИнвестХомяк · ~4500 участников · что за клуб →
AI-Optimized · Answer-First

10 ошибок при бэктестинге торговых ботов, которые дают ложные результаты

Бэктестинг показывает одно, а на реальном счёте — другое. Причина не в «невезении», а в системных ловушках: look-ahead bias, переобучении и игнорировании комиссий. Вот 10 конкретных граблей для частного инвестора из РФ.

Автор: ~8 мин

Коротко:

Что такое look-ahead bias в бэктестинге?

Это когда алгоритм «заглядывает» в будущее: использует данные, которые в момент сделки были недоступны. Пример: бот «покупает» на закрытии дня, но сигнал получен от индикатора, считанного на следующее утро. В РФ-2026 — учитывай задержки биржевых данных (Мосбиржа даёт стаканы с задержкой 15 мс, но для интрадея это критично). Результат: график идеален, счёт пуст.

Источник: Банк России — Ключевая ставка

Как переобучение делает бота бесполезным?

Переобучение — подгонка параметров под конкретный исторический отрезок. Бот «запоминает» шум вместо паттерна. Тест на свежих данных (2026, ноябрь) — просадка 40%. Решение: кросс-валидация, out-of-sample тесты, ограничение числа параметров. Для РФ — не бери ОФЗ-ПД (SU26248RMFS4) за 2022-2024 как единственный тренировочный сет, добавить 2025-2026.

Почему неучёт комиссий убивает ложный профит?

Комиссии брокера в РФ: Т-Инвестиции — 0,04% за сделку (на акции), БКС — от 0,035%, ВТБ — от 0,05%. Плюс биржевой сбор (0,005%) и НКД. Бот делает 200 сделок в месяц — комиссия 8% от капитала. В бэктестинге без комиссий «прибыль» 15% превращается в 7% убытка. Налог на купоны ОФЗ (НДФЛ 13%) — добавь в модель.

Как проскальзывание (slippage) меняет результат?

В тесте бот входит по цене 100 ₽, в реале — 100,5 ₽ при ликвидности «Лукойла» (LOH6) или 101 ₽ по бумагам второго эшелона. Проскальзывание в 0,5% на 100 сделках снижает доходность на 50%. Для РФ-2026: учитывай спред в стакане (для «Юнипро» — 0,1-0,3%, для «Сбера» — 0,02-0,05%).

Какая ещё ошибка встречается у всех новичков?

Игнорирование корреляции с рынком. Бот якобы заработал 20% в 2024 — но индекс Мосбиржи (IMOEX) вырос на 18%. Реальная альфа — 2%. Тест без benchmar (фонд на ОФЗ 26248 или ETF на индекс) даёт иллюзию гениальности. Сравнивай с msk rate (двузначная ~16-18%) и индексом.

Источник: Банк России — Ключевая ставка

Как налоги ломают модель бота?

НДФЛ 13% на купоны ОФЗ (с 2026) и прибыль по акциям. Если бот генерирует 100 сделок с оборотом 5 млн ₽ — налог 650 тыс ₽. В бэктестинге обычно считают gross, а net — убыток. Учитывай вычет (на 3 года) и срок владения для ЛДВ (только акции, не подходит для коротких сделок). Для РФ-2026 — добавляй 13% ко всем операциям.

Источник: Московская биржа — ISS MOEX API

Какая библиотека для бэктестинга лучше для РФ?

VectorBT, Backtrader, Zipline. Для РФ — проще Backtrader (простые интерфейсы), но учитывай ручной перевод данных MOEX в pandas.

Эксклюзив от ИнвестХомяка

Типовые параметры бэктестинга: реалии РФ-2026

ПараметрЗначение в тестеРеалистичное для РФ-2026
Комиссия брокера0%0,04-0,06% на сделку (Т-Инвестиции, БКС, ВТБ) + 0,005% биржевая
Проскальзывание0%0,02-0,5% в зависимости от ликвидности (Сбер — 0,02%, Юнипро — 0,3%)
Налог НДФЛ на купоны ОФЗНе учтён13% (с 2026) — для ОФЗ-ПД SU26248RMFS4
Волатильность (доходность ОФЗ)Не учтенаYTM 16-18% годовых (ключевая ставка двузначная)
Иллюстрация

Сравнение: бэктестинг с Look-ahead vs чистый тест

КритерийС look-ahead biasЧистый бэктестинг
Accuracy прогноза85% (ложно)55% (реально)
Максимальная просадка5%25% (включает комиссии+проскальзывание)
Количество сделок150 (ошибочные входы)98 (реальные, с учётом спреда)
Доходность (net)+30%-8% (после налогов 13%)
Результат на out-of-sample (2026)-15% (крах)-2% (нулевая альфа)

Как настроить бэктестинг без ловушек: 5 шагов

  1. Шаг 1: Выбери корректный источник данных

    Не бери готовые CSV с GitHub. Используй API Мосбиржи (ISS MOEX) за 3 года. Убедись, что данные не «склеены» — проверь на пропуски (10% пропусков убивают результат). В РФ-2026 — используй историю котировок от Т-Инвестиций (через InvestHero) или Smart-lab.

  2. Шаг 2: Введи look-ahead guard

    Запрети боту использовать данные за текущую минуту/день для прогноза. Сдвинь расчёт индикаторов (например, SMA за 5 дней — считай только до дня сделки). Python: используй shift() + не сэмплируй будущее. Проверь: дата сделки ≠ дата расчёта индикатора.

  3. Шаг 3: Пропиши комиссии и проскальзывание

    Добавь 0,04% на вход и 0,04% на выход (8 копеек с 1000 ₽). Проскальзывание — 0,1% (10 ₽ с 1000). Для второго эшелона (акции «Юнипро») — 0,3%. Испытай на бумажном счёте с комиссией брокера (Т-Инвестиции — тариф «Трейдер»).

  4. Шаг 4: Учти налоги в модели

    Добавь вычет 13% с каждой прибыльной сделки короткой (до года). Для ОФЗ — налог на купон 13% независимо от времени. В Python: if prof > 0: tax = prof * 0.13. Не забудь про вычет (максимум 3 млн ₽ инвестиционных вычетов в год — но это отдельная модель).

  5. Шаг 5: Проверь out-of-sample

    Возьми 80% данных (2022-2024) для обучения, 20% (2025-2026) для теста. Если на свежей истории (2026, ноябрь) бот теряет — переобучен. Не фикс-поправляй параметры, перепиши логику. Идеальный результат: просадка на out-of-sample не более 5% от обученной.

Иллюстрация

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

Какая библиотека для бэктестинга лучше для РФ?

VectorBT, Backtrader, Zipline. Для РФ — проще Backtrader (простые интерфейсы), но учитывай ручной перевод данных MOEX в pandas.

Что делать, если бот показывает 90% винрейта на обучении?

Это переобучение. Уменьши число параметров до 3-5, используй стохастический градиентный спуск. Проверь на случайных последовательностях (shuffle).

Как учесть проскальзывание в историческом тесте?

Умножь цену сделки на (1 + slippage). slippage возьми из средней глубины стакана за месяц: для Сбера ≈ 0,02%, для Юнипро ≈ 0,2%.

Почему look-ahead bias особенно опасен для РФ?

У нас неравномерные данные (праздники, перерывы с 18:45 до 10:00 МСК). Лёгко «увидеть» закрытие дня до его наступления. Используй только intraday данные с метками времени.

Стоит ли автоматизировать бэктестинг в 2026-м?

Да, но с защитой: каждый тест записывать лог (дата, комиссии, налоги). Если результат меняется при повторном запуске — смотри на random seed.

Истории участников клуба

Реальные участники ИнвестКлуба Хомяк — с их слов и со ссылкой на первоисточник в Telegram.

Наталья А.в клубе 1,5 года

Точка входазашла пробно на 1 месяц после рекламы

Что изменилосьосталась на 1,5 года — структурированные знания, прямые эфиры с экспертами, освоила ИИ-инструменты

«Когда-то я зашла пробно, на 1 месяц. Прошло 1,5 года, а я по-прежнему там. Один только искусственный интеллект чего стоит.»
история в Telegram →
Олегв клубе полгода

Точка входавозрастной скепсис, долго не решался зайти в закрытый клуб

Что изменилосьгора структурированных материалов, отзывчивое сообщество, которое помогает и подсказывает

«Возрастной скепсис мешал зайти — думал, всё как обычно. Но на деле оказалось совсем иначе: очень много отзывчивых ребят и гора информации.»
история в Telegram →

Что говорят участники клуба

«В Хомяке уже полтора года… кайфовое, живое сообщество. Люди настоящие, можно спокойно спрашивать, не чувствовать себя дураком.»
Олеготзыв в Telegram →
«Зашла пробно на 1 месяц. Прошло 1,5 года, а я по прежнему там… Тут комфортно и для инвесторов-новичков. Вся информация отлично структурирована.»
Наталья А.отзыв в Telegram →

Ещё реальные отзывы участников — t.me/traderreviews

Иллюстрация

Источники

Ежедневные разборы рынка — в канале @tradernocryПодписаться →