Бэктест

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

Senzoukria · Глоссарий · Обновлено: сентябрь 2026


Что нужно бэктесту до запуска

  • Полностью выписанное правило: инструмент, сессия и часовой пояс, построение баров, момент сигнала, вход, выход, размер и исключения данных.
  • Данные, где действительно есть вводные правила. Правилу по footprint нужен исполненный объём по bid и ask на каждом уровне; правилу по глубине нужна история стакана; ни то ни другое не восстанавливается из свечей OHLC.
  • Модель исполнения, которая говорит, когда принимаются решения, по какой цене исполняются входы и что происходит, если стоп и цель могли быть задеты внутри одного бара.
  • Издержки: комиссия за контракт и за ордер, проскальзывание на входе и выходе, пересчитанные через стоимость тика инструмента.

Три вида исторической проверки

Лимитная цена, задетая записанным исполнением, не доказывает, что ваш ордер исполнился бы: позиции в очереди в данных нет. Разрыв в покрытии — не плоский рынок. Эти ограничения принадлежат результату, а не сноске.

Каждая модель отвечает на свой вопрос
МодельМожет оценитьНе устанавливает
Проверка по барам OHLCПравила на закрытых барахПоследовательность внутри бара, исполнение по очереди
Реплей сделокПравила на записанных исполненияхОтсутствующая историческая глубина
Реплей стаканаСобытия глубины в пределах покрытияВаше собственное гипотетическое исполнение с уверенностью

Что означает результат

Зелёная кривая эквити отвечает на один узкий вопрос: что произошло при допущениях, которые её породили. Она ничего не говорит о том, было ли правило определено до проверки, были ли исполнения достижимы и сколько вариантов отбросили по пути. Чем сильнее результат после множества попыток, тем больше доказательств он требует. Публикуйте рядом с кривой результаты вне выборки, провалившиеся конфигурации и чувствительность к повышенным издержкам.

В Senzoukria

На экране «Реплей» есть режим автоматического бэктеста. Его панель прогоняет стратегию из редактора скриптов бар за баром по барам, закэшированным на машине. Перед запуском панель показывает покрытие этих баров в сессиях и говорит, чего не хватает, — так результат помечается тем окном, которое он реально покрывает.

Блок «Издержки сделки» принимает комиссию и проскальзывание в тиках; подсказка отмечает, что обнулить оба — первый способ заставить бэктест соврать. Решения принимаются на закрытых барах, входы исполняются по следующему открытию, выходы используют цены бара; движок не воссоздаёт биржевую очередь. Ассистент бэктеста может прокомментировать статистику законченного прогона. Ничто на этом экране не отправляет ордер: живое исполнение существует только через автопилот, который человек взводит вручную.

Частые ошибки

  • Называть бэктестом проверку синтаксиса на синтетических барах.
  • Запускать с нулевыми издержками и сравнивать с результатом, где они учтены.
  • Переносить уровень с одной фьючерсной экспирации на следующую, не разобравшись с разницей цен на ролловере.
  • Оставлять только выигравший вариант и забывать, сколько их было опробовано.

Эта страница на других языках

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

Можно ли бэктестить стратегии на потоке ордеров?
Да, если исторические данные содержат вводные, которые читает правило. Правилу по footprint нужен исполненный объём по bid и ask на каждом ценовом уровне — это даёт тиковая история, а свечи не дают. Правилу, читающему лежащую ликвидность, нужна записанная глубина, которая встречается реже и весит больше. Без этих вводных правило нельзя оценить, только приблизить.
Доказывает ли прибыльный бэктест наличие преимущества?
Нет. Результат условен относительно допущений об исполнении, издержек, пропусков в данных, числа опробованных конфигураций и рыночных условий периода. Бэктест, который переживает повышенные издержки, держится на данных, которых не видел, и был определён до проверки, — более сильное доказательство, но всё же доказательство о прошлом.
Что нужно записывать вместе с бэктестом?
Версию правила и параметры, число опробованных конфигураций, источник данных, контракт, даты, сессию и пропущенные интервалы, момент входа и политику по неоднозначным барам, комиссию и проскальзывание, разбиение на обучение и тест, чистые результаты и просадку по окнам, а также критерий отбраковки, назначенный заранее. Именно эта запись делает результат воспроизводимым и сопоставимым.