Out-of-sample testing: проверка на незнакомых данных
Out-of-sample testing — проверка стратегии на части истории, которую вы не использовали при её настройке. Это простейший и один из самых важных приёмов защиты от самообмана: он показывает, работает ли преимущество на данных, которых система «не видела».
В чём идея
Историю делят на две части. In-sample — данные, на которых вы разрабатываете и настраиваете стратегию. Out-of-sample — отложенная часть, которую вы не трогаете при настройке и используете только для финальной проверки. Логика проста: если стратегию подогнали под in-sample, на out-of-sample это вскроется — там она не сможет «подсмотреть» знакомый шум.
Почему это работает
Главный риск бэктеста — что вы (осознанно или нет) настроили систему под конкретное прошлое. На данных, использованных при разработке, почти любую идею можно заставить выглядеть хорошо. Out-of-sample убирает это преимущество: отложенная часть для стратегии — как будущее, она под неё не подстраивалась. Сохранилось качество на out-of-sample — к преимуществу можно относиться серьёзнее; резко упало — это признак переоптимизации.
Как делать правильно
Отделите out-of-sample заранее и не подсматривайте в него при настройке — иначе независимость теряется, и смысл проверки исчезает. Типично под настройку отдают 60–80% истории, остаток оставляют нетронутым. Небольшое снижение качества на out-of-sample нормально, резкий провал — тревожный сигнал. Важная оговорка: одна out-of-sample проверка — минимум, а не гарантия; более строгий вариант — walk-forward с серией таких проверок. Но даже простое разделение выборки уже спасает от множества иллюзий.
Материал носит образовательный характер и не является индивидуальной инвестиционной рекомендацией (не ИИР).