Тестирование на истории
Что такое тестирование на истории?
Тестирование на исторических данных — это общий метод проверки того, насколько хорошо стратегия или модель работали бы постфактум. Тестирование на истории оценивает жизнеспособность торговой стратегии,. обнаруживая, как она будет работать, используя исторические данные. Если ретроспективное тестирование сработает, трейдеры и аналитики могут с уверенностью использовать его в будущем.
Понимание обратного тестирования
Тестирование на исторических данных позволяет трейдеру смоделировать торговую стратегию, используя исторические данные для получения результатов и анализа риска и прибыльности, прежде чем рисковать реальным капиталом.
Хорошо проведенное ретроспективное тестирование, дающее положительные результаты, убеждает трейдеров в том, что стратегия фундаментально надежна и, вероятно, принесет прибыль при ее реализации на практике. Напротив, хорошо проведенное ретроспективное тестирование, дающее неоптимальные результаты, побудит трейдеров изменить или отвергнуть стратегию.
Особенно сложные торговые стратегии, такие как стратегии, реализуемые автоматизированными торговыми системами, в значительной степени зависят от тестирования на исторических данных, чтобы доказать свою ценность, поскольку они слишком загадочны, чтобы оценивать их иначе.
Пока торговая идея может быть определена количественно, ее можно протестировать на истории. Некоторые трейдеры и инвесторы могут обратиться за помощью к квалифицированному программисту, чтобы превратить идею в тестируемую форму. Как правило, это включает в себя кодирование идеи программистом на проприетарном языке, поддерживаемом торговой платформой.
Программист может включать определяемые пользователем входные переменные, которые позволяют трейдеру «настраивать» систему. Примером этого может служить система пересечения простой скользящей средней (SMA). Трейдер сможет ввести (или изменить) длину двух скользящих средних, используемых в системе. Затем трейдер может провести ретроспективное тестирование, чтобы определить, какие длины скользящих средних показали бы наилучшие результаты на исторических данных.
Идеальный сценарий тестирования на исторических данных
Идеальный бэктест выбирает выборочные данные за соответствующий период времени продолжительностью, отражающей различные рыночные условия. Таким образом, можно лучше судить о том, представляют ли результаты ретроспективного тестирования случайность или надежную торговлю.
Набор исторических данных должен включать действительно репрезентативную выборку акций, в том числе акций компаний, которые в конечном итоге обанкротились,. были проданы или ликвидированы. Альтернатива, включающая только данные по историческим акциям, которые все еще существуют сегодня, будет давать искусственно высокую доходность при тестировании на исторических данных.
Тестирование на исторических данных должно учитывать все торговые издержки, какими бы незначительными они ни были, поскольку они могут накапливаться в течение периода тестирования на исторических данных и резко влиять на видимость прибыльности стратегии. Трейдеры должны убедиться, что их программное обеспечение для ретроспективного тестирования учитывает эти затраты.
Вневыборочное тестирование и предварительное тестирование производительности обеспечивают дополнительное подтверждение эффективности системы и могут показать истинные цвета системы до того, как на кону появятся реальные деньги. Сильная корреляция между результатами бэктестинга, вневыборочного и форвардного тестирования жизненно важна для определения жизнеспособности торговой системы.
Тестирование на истории и тестирование производительности вперед
Форвардное тестирование производительности, также известное как торговля на бумаге,. предоставляет трейдерам еще один набор данных вне выборки, по которым можно оценить систему. Форвардное тестирование производительности представляет собой симуляцию реальной торговли и включает в себя отслеживание логики системы на реальном рынке. Это также называется торговлей на бумаге, поскольку все сделки выполняются только на бумаге; то есть входы и выходы из сделок документируются вместе с любой прибылью или убытком для системы, но реальные сделки не выполняются.
Важным аспектом прямого тестирования производительности является точное следование логике системы; в противном случае становится трудно, если вообще возможно, точно оценить этот этап процесса. Трейдеры должны быть честными в отношении любых входов и выходов в сделках и избегать таких действий, как выбор вишенных сделок или невключение сделки на бумаге, оправдывая это тем, что «я бы никогда не пошел на эту сделку». Если бы сделка произошла в соответствии с логикой системы, она должна быть задокументирована и оценена.
Тестирование на истории и анализ сценариев
В то время как при ретроспективном тестировании используются фактические исторические данные для проверки соответствия или успеха, анализ сценариев использует гипотетические данные, которые моделируют различные возможные результаты. Например, сценарный анализ будет моделировать конкретные изменения стоимости ценных бумаг портфеля или ключевых факторов, которые имеют место, например, изменение процентной ставки.
Сценарный анализ обычно используется для оценки изменений стоимости портфеля в ответ на неблагоприятное событие и может использоваться для изучения теоретического наихудшего сценария.
Некоторые подводные камни тестирования на истории
Чтобы тестирование на исторических данных дало значимые результаты, трейдеры должны разработать свои стратегии и добросовестно протестировать их, максимально избегая предвзятости. Это означает, что стратегию следует разрабатывать, не полагаясь на данные, используемые при тестировании на истории.
Это сложнее, чем кажется. Трейдеры обычно строят стратегии на основе исторических данных. Они должны строго относиться к тестированию с наборами данных, отличными от тех, на которых они обучают свои модели. В противном случае бэктест даст блестящие результаты, которые ничего не значат.
Точно так же трейдеры должны избегать углубления данных, когда они проверяют широкий спектр гипотетических стратегий на одном и том же наборе данных, что также приводит к успехам, которые терпят неудачу на рынках в реальном времени,. потому что существует множество недействительных стратегий, которые превзошли бы рынок в течение длительного времени. конкретный период времени случайно.
Один из способов компенсировать тенденцию к извлечению данных или выборке вишни — использовать стратегию, которая успешна в релевантном периоде времени или периоде времени в выборке, и протестировать ее на данных из другого периода времени или периода вне выборки. . Если бэктесты в выборке и вне выборки дают одинаковые результаты, то вероятность того, что они будут достоверными, выше.
Особенности
Лежащая в основе теория состоит в том, что любая стратегия, которая хорошо работала в прошлом, скорее всего, будет хорошо работать и в будущем, и наоборот, любая стратегия, которая плохо работала в прошлом, скорее всего, будет плохо работать и в будущем.
Тестирование на исторических данных оценивает жизнеспособность торговой стратегии или модели ценообразования, обнаруживая, как это могло бы быть реализовано ретроспективно с использованием исторических данных.
При тестировании идеи на исторических данных полезно зарезервировать период времени исторических данных для целей тестирования. В случае успеха его тестирование на альтернативных периодах времени или на данных вне выборки может помочь подтвердить его потенциальную жизнеспособность.