К содержанию
RU
Начать бесплатно
← К обзору блога

In-sample и out-of-sample в трейдинге: разделение защиты

автор: Sebastian Saupe · Опубликовано 14 октября 2026 г. · Обновлено 14 октября 2026 г.

In-sample и out-of-sample в трейдинге: разделение защиты

Ты оптимизируешь стратегию в StrategyQuant X, бэктест идёт зелёным, показатели выглядят прилично. И всё же остаётся открытый вопрос: нашла стратегия правило, которое что-то значит и за пределами этой одной кривой, или она просто тесно прижалась к прошлому? Именно для этого вопроса существует разделение между данными in-sample и out-of-sample.

В этой статье ты увидишь, что конкретно означают данные in-sample и out-of-sample в StrategyQuant X, как читать соотношение OOS/IS в Databank и где лежат границы этого метода.

Почему часть данных должна оставаться нетронутой

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

Поэтому история делится на две части: одну часть для построения и одну часть для проверки, которая при построении остаётся в стороне.

Данные in-sample: верстак для твоей стратегии

Данные in-sample, сокращённо IS, это часть исторических данных по ценам, с которой ты разрабатываешь и оптимизируешь стратегию. Параметры, правила и индикаторы настраиваются на этих данных так, чтобы показал себя лучший наблюдаемый результат.

Это обычный ход при построении стратегии в StrategyQuant X, и он тоже необходим: без данных для проверки идей ничего нельзя было бы настроить. Важно только то, что это число не означает. Сильный результат на данных in-sample ничего не говорит о том, как стратегия будет вести себя позже в live-торговле. Он показывает лишь, насколько хорошо правила приспособились именно к этому отрезку прошлого.

Данные out-of-sample: нетронутый пробный камень

Данные out-of-sample, сокращённо OOS, это отдельная часть истории, которую стратегия во время разработки вообще не видит. Её приберегают исключительно для тестирования и валидации, и она не входит в оптимизацию. Это сохраняет проверку независимой от того, что происходило при построении.

Чтобы это разделение чего-то стоило, одно условие должно действительно соблюдаться: данные out-of-sample во время оптимизации должны оставаться действительно нетронутыми. Как только они в какой-либо форме возвращаются в процесс разработки, разделение существует только на бумаге.

История делится на часть для построения и нетронутую часть для теста.
История делится на часть для построения и нетронутую часть для теста.

Разделение IS/OOS как базовая проверка против самообмана

Разделение на in-sample и out-of-sample считается одной из основополагающих проверок на устойчивость: стратегия, построенная только на данных, на которых она же и измеряется, честной картины не даёт. Если её дополнительно измерить на данных, которых она никогда не видела, картина получается ближе к реальности, чем если ты судишь о ней только по данным, под которые она подгонялась.

Здесь действует то же условие, что и в самом определении: проверка работает только тогда, когда out-of-sample-часть во время поиска хороших параметров действительно остаётся в стороне. И даже если это удаётся, пройденный out-of-sample-тест это указание, а не доказательство того, что стратегия работает в live-торговле.

OOS/IS-Ratio в Databank

В Databank от StrategyQuant X ты найдёшь OOS/IS-Ratio. Этот показатель сравнивает значения производительности стратегии в out-of-sample-периоде со значениями в in-sample-периоде и выражает, насколько сильно ухудшились результаты за пределами данных, на которых стратегия строилась.

Показатель рассчитывается в модуле Databank после того, как прогон оптимизации или walk-forward дал и in-sample-, и out-of-sample-результаты. То есть это не значение, которое ты просто считываешь, а результат, который возникает только после полного прогона с обеими частями данных.

Что выдаёт плохая Ratio, и что не доказывает хорошая

Если производительность от in-sample к out-of-sample заметно падает, это проявляется в слабой OOS/IS-Ratio. Как правило, это указывает на одну из двух причин: стратегия была переподогнана под in-sample-данные, то есть слишком узко подрезана под детали этой одной кривой, либо рыночные условия сместились между двумя периодами. Хорошие результаты в обоих периодах, наоборот, читаются как указание в сторону устойчивости.

При этом важным остаётся одно ограничение: такое прочтение годится ровно для того инструмента, того таймфрейма и того разбиения на периоды, которые использовались для этого одного теста. Хорошая Ratio не доказывает, что стратегия свободна от переподгонки, и она также не разделяет с уверенностью, слабая Ratio из-за стратегии или из-за рыночной обстановки. Это признак, который ты читаешь вместе с другими проверками, а не приговор сам по себе.

Слабое соотношение OOS/IS может говорить о переобучении или смене условий рынка, но доказательством не является.
Слабое соотношение OOS/IS может говорить о переобучении или смене условий рынка, но доказательством не является.

Видно на вкладке Results: IS и OOS как цветные полосы

После прогона walk-forward отдельные сделки на вкладке Results помечаются как In-Sample или Out-of-Sample на основе настроек walk-forward. Кривая эквити дополнительно показывает оба периода как по-разному окрашенные фоновые полосы, так что разделение видно с первого взгляда.

Эта окраска это ориентир, а не оценка качества. Она показывает тебе, где на временной шкале находится какая фаза, но сама по себе ничего не говорит о том, действительно ли стратегия хорошо показала себя в фазе Out-of-Sample. Для этого ты по-прежнему смотришь на сами показатели, например на OOS/IS-Ratio.

На вкладке Results цветные полосы на кривой equity показывают, какой участок был in-sample, а какой out-of-sample.
На вкладке Results цветные полосы на кривой equity показывают, какой участок был in-sample, а какой out-of-sample.

Что тебе не говорит это разделение

Чистый out-of-sample-тест на историческом ряде данных остаётся тестом на прошлых данных. Он говорит тебе, как вела бы себя стратегия именно на этом отрезке прошлого, если бы параметры были зафиксированы заранее. Он не говорит тебе, как та же стратегия поведёт себя на рыночных данных, которых ещё нет.

Кроме того, всё это разделение работает только до тех пор, пока out-of-sample-часть действительно остаётся нетронутой. Если во время разработки ты снова и снова смотришь на то же out-of-sample-окно и после этого меняешь стратегию, это знание шаг за шагом всё равно просачивается в разработку, даже если ты не вносишь числа напрямую в оптимизацию. Тогда out-of-sample-данные уже не являются по-настоящему неизвестными, и проверка теряет именно ту ценность, для которой была задумана.

Это не делает IS/OOS-разделение бесполезным. Оно остаётся разумной базовой проверкой против самой очевидной формы самообмана, против оптимизации мимо собственных данных. Но оно не заменяет другие проверки и не превращает хороший исторический результат в обещание на будущее.

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

Эта статья служит обучению и не является инвестиционным консультированием. Прошлые результаты ничего не гарантируют на будущее.

А как это делаешь ты? Расскажи в сообществе. Бесплатно, на твоём языке.

Зарегистрируйся бесплатно