Бэктестинг

Что такое Бэктестинг?

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

Краткая справка

Бэктестинг может стать важным шагом в оптимизации вашей торговой стратегии. Чтобы узнать больше об использовании инструментов анализа графиков для определения прибыльных торговых возможностей, ознакомьтесь с   курсом технического анализа в  Академии Investopedia .

Основы тестирования на истории

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

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

Если торговую идею можно оценить количественно, ее можно протестировать на истории. Некоторые трейдеры и инвесторы могут обратиться за помощью к квалифицированному программисту, чтобы довести идею до тестируемой формы. Как правило, это предполагает, что программист кодирует идею на проприетарном языке, поддерживаемом  торговой платформой . Программист может включать определяемые пользователем входные переменные, которые позволяют трейдеру «настраивать» систему. Примером этого может служить упомянутая выше  простая  система пересечения скользящих средних . Трейдер сможет ввести (или изменить) длину двух скользящих средних, используемых в системе. Трейдер может выполнить тестирование на исторических данных, чтобы определить, какие длины скользящих средних лучше всего работали бы на исторических данных.

Ключевые моменты

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

Идеальный сценарий тестирования на истории

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

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

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

Бэктестинг против прямого тестирования производительности

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

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

Разница между тестированием на истории и анализом сценариев

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

Некоторые подводные камни бэктестинга

Чтобы бэктестинг давал значимые результаты, трейдеры должны разрабатывать свои стратегии и добросовестно тестировать их, максимально избегая предвзятости. Это означает, что стратегию следует разрабатывать, не полагаясь на данные, используемые при тестировании на исторических данных. Это сложнее, чем кажется. Трейдеры обычно строят стратегии на основе исторических данных. Они должны строго относиться к тестированию с наборами данных, отличными от тех, на которых они обучают свои модели. В противном случае бэктест даст блестящие результаты, которые ничего не значат.

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

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