Перестановочный тест

Перестановочный тест проверяет, мог ли результат бэктеста возникнуть случайно: он многократно пересчитывает ту же статистику на данных, структура которых случайно переставлена. Доля перестановок, которые повторяют или превосходят реальный результат, и есть p-значение.

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


Построение нулевого распределения

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

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

Как читать исход

  • p-значение — это доля перестановок, чья статистика не хуже наблюдаемой.
  • Малое p-значение означает, что немногие случайные перестановки дотянулись до наблюдаемого результата: преимущество отличимо от случайности на этой выборке.
  • Большое p-значение означает, что случайные перестановки дотягиваются до него регулярно. Результат может быть настоящим, но эти данные его не показывают.
  • Тест точен для выборки и не требует предположений о распределении — поэтому он подходит для результатов сделок с тяжёлыми хвостами.

В Senzoukria

Раздел go/no-go панели бэктеста в десктопе перечисляет «Перестановочный тест: преимущество отличимо от случайности» как один из критериев и показывает полученное p-значение рядом с PSR, DSR и PBO. Панель представляет блок как перестановочный тест против чистой случайности, запускаемый в фазе, помеченной как перестановки, после walk-forward и сетки по всему периоду.

Страница бэктеста на сайте перечисляет перестановочные тесты вместе с PSR, DSR и PBO среди исследовательских инструментов, доступных на поддерживаемых исторических проверках. Как и остальные критерии, тест использует ту же политику исполнения и те же издержки, что и бэктест, породивший сделки.

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

  • Переставлять так, что разрушается и структура, которой стратегия пользуется законно, например границы сессий: тогда нулевую гипотезу становится слишком легко побить.
  • Запускать тест на победителе перебора внутри выборки, не учитывая число попыток. p-значение перестановки не корректирует отбор — это делает дефлированный Шарп.
  • Читать p-значение как вероятность того, что у стратегии нет преимущества. Это вероятность наблюдаемого результата при нулевой гипотезе, а не наоборот.
  • Брать слишком мало перестановок: тогда наименьшее сообщаемое p-значение получается грубым.

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

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

Сколько нужно перестановок?
Столько, чтобы разрешение p-значения было тоньше решения, которое вы хотите принять. При ста перестановках наименьшее ненулевое p-значение — одна сотая. Десктоп запускает перестановки отдельной фазой после walk-forward; их число задаётся панелью и показывается вместе с результатом.
Может ли перестановочный тест заменить walk-forward проверку?
Нет. Перестановочный тест спрашивает, отличим ли результат на протестированных данных от случайности. Walk-forward спрашивает, продолжают ли работать замороженные параметры на более поздних данных. Стратегия может пройти одно и провалить другое. Раздел go/no-go показывает оба, потому что они проваливаются по разным причинам.