Тестирование торговых стратегий на исторических данных (бэктест) — почему это так важно?

Время на чтение: 9 минут

Бэк-тесты

Начинающие частные трейдеры чаще всего теряют деньги по следующим причинам:

  • поддаются излишней самоуверенности;
  • следуют чужим прогнозам;
  • не придерживаются правил риск-менеджмента;
  • не тестируют торговые стратегии в базовом виде на исторических данных — не проводят бэктесты.

Именно о важности последнего фактора мы и будем говорить в этой статье.

Содержание

Видео о тестировании торговых стратегий на истории

Что такое бэктест инвестиционного портфеля или отдельных стратегий, и в чем его ценность

Современные стартапы Кремниевой Долины имеют одну полезную привычку: тестировать сотни различных гипотез (пускай иногда и совершенно диких), выискивая в них эффективные закономерности для своих продуктов. Такой подход называется growth hacking, или «взлом роста». Этот метод помогает протестировать сотни или тысячи идей, опираясь на качественные и количественные исследования. И чем больше и качественней команда проведет таких исследований, тем с большей вероятностью они найдут точки роста бизнеса.

Бэктестинг в трейдинге — что-то вроде growth hack у стартапов. Вы берете гипотезу (торговую стратегию, которую хотите запустить с реальными деньгами) и пропускаете через количественные и качественные исследования (тестируете стратегию на исторических котировках с разными настройками). Пускай изначально у вас может и не быть сотен идей торговых стратегий, но для начала и парочки будет достаточно.

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

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

За 1 час поможем разобраться с факторами успеха и причинами неудач на финансовых рынках

6 уроков онлайн-курса и 89 минут вебинара подскажут, как не терять деньги при трейдинге и куда следовать для эффективного развития.

Преимущества тестирования торговых стратегий и важные этапы

Вот с чем поможет вам бэктест:

  1. Объективно оценить любую торговую идею или гипотезу — без эмоций и предубеждений.
  2. Выявить (или не выявить) статистическую ценность торговой стратегии.
  3. Оптимизировать и улучшить стратегию, которая заслуживает право на лайв-трейдинг.
  4. Увидеть сильные и слабые стороны стратегий.
  5. Получить опыт в процессе тестирования. Вы будете понимать, какие подходы имеют больше шансов на успех, а от каких лучше отказаться.

Разделим процесс тестирования торговых стратегий на несколько важных шагов:

Бэк-тест стратегий
Этапы, через которые будет проходить любая стратегия.
  1. Фильтрация. На данном этапе вы формируете гипотезу стратегии, которую хотите проверить на работоспособность. Это можно делать хоть на бумаге.
  2. Моделирование. Теперь можно формировать выбранную гипотезу уже в стратегию, используя доступные программы и методы. Скоро об этом поговорим.
  3. Оптимизация. Любая стратегия имеет множество настроек — от различных параметров индикаторов, до уровней стоп-лосса и тейк-профита. Именно их и нужно оптимизировать, выявляя наиболее удачные настройки. 
  4. Выявление. Теперь вы можете видеть результаты стратегии с различными параметрами на истории и выбирать наиболее оптимальную настройку.

В рамках бэктеста этих шагов достаточно. Для полного же цикла стратегию необходимо пропускать еще и через форвард-тест. Подробнее о форвард-тесте — в конце статьи в разделе «Материалы».

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

150 минут видео о создании торговых роботов доступно бесплатно и без регистрации

Не упустите возможность автоматизировать ваши торговые стратегии для финансовых рынков.

Как провести бэктест. Программы, которые понадобятся в ходе тестирования торговых стратегий

Если вы не владеете языками программирования, тогда можно использовать доступные визуальные конструкторы стратегий. Вот несколько из них:

Если же вы знакомы с языками программирования, можно использовать следующие:

  • Python — язык программирования с огромной библиотекой данных. С этим языком можно создать любую стратегию, визуализацию, да и все, что душе угодно — ограничения лишь в вашей фантазии и навыках программирования. Считается одним из самых доступных языков в плане его изучения
  • С++ — уже более сложный язык. Говорят, что C++ больше подходит для высокочастотных стратегий (HFT), так как он имеет очень высокую скорость исполнения любых алгоритмов
  • MQL4 — сформировался в процессе роста популярности платформы MetaTrader 4. Трейдеры, активно торгующие на этой платформе, часто используют MQL4 для автоматизации стратегий

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

Факторы, влияющие на успех бэктеста и будущих стратегий

Чтобы рационально подходить к тестированию торговых стратегий, нужно фокусироваться на 3-х критериях:

  1. Фактор оптимизации.
  2. Фактор “выживания” стратегии.
  3. Психологический фактор.

Пройдемся по списку.

Статистика алгоритмического трейдинга + новые статьи и новости финансовых рынков в нашем Telegram канале

Фактор оптимизации

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

Ниже бэктесты двух похожих стратегий. Доходность первой — 48% за год, доходность второй — 37%.

Бэк-тесты
Стратегия с доходностью 48%.
Бэк-тесты
Стратегия с доходностью 37%.

Если бы мы выбирали стратегию только по признаку доходности, тогда первая стратегия победила бы. Вот только вторая стратегия лучше адаптирована и оптимизирована под рыночные условия — ее кривая значительно плавнее, хоть и доходность ниже на 11%. Разумные инвесторы точно не выберут первый вариант в попытке заработать дополнительные 11%.

Фактор "выживаемости" торговой стратегии

Здесь нам важно протестировать торговую стратегию на длительном временном периоде. В нашем случае — это около 11-ти лет исторического тестирования.

Два важных параметра, на которые мы смотрим по завершению исторического тестирования:

  1. Максимальная просадка в % от капитала.
  2. Просадка по времени.

Максимальная просадка в % от капитала

Просадка от капитала — временный или зафиксированный убыток, который показала стратегия на историческом тестировании или в живом исполнении.

Максимальные просадки кривой доходности
Так выглядит просадка на кривой доходности.

Просадки и финансовые рынки — две стороны одной медали. Кривая капитала никогда не будет расти под 45 градусов без каких-либо снижений. Все, что нужно делать трейдеру — контролировать максимально допустимый уровень просадки. Под «максимально допустимым» считаются разные параметры — у кого-то это 30%, у кого-то 50%, а кому-то сложно пережить и 10%. Здесь выбор субъективен и зависит от рисковых предпочтений самого трейдера.

Именно просадка может повлиять на финальный выбор стратегии. На примере ниже — неплохой бэктест, но просадка в конце исторического тестирования не позволила перевести стратегию в следующую фазу. И проблема тут не в самом размере просадки, которая составила 11,25% (что, в целом, вполне допустимо), а именно в резком снижении капитала.

Бэк-тесты
Резкая просадка в конце испортила всю красоту.

Такое резкое снижение капитала может говорить о следующем:

  • Стратегия начала ломаться под конец тестируемого периода
  • Стратегия плохо проявляет себя именно в конкретные рыночные фазы (в таких случаях можно посмотреть, что там было на рынке в период просадки) и т. д.

Вариантов может быть много. Не стоит искать ответы на все вопросы, проще обращать внимание на такие вот бэктесты.

Просадка по времени

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

Бэк-тесты
Просадка по времени.

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

Хуже, что может быть, это просадка по времени и просадка в денежном эквиваленте. Вот как на примере ниже.

Бэк-тесты
Здесь плохо все: и резкое снижение в %, и последующая просадка по времени.

Психологический фактор

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

Бэк-тесты
Вариант 1.
Бэк-тесты
Вариант 2.

В эмоциональном плане первая стратегия принесла бы всем нам много седых волос. Вторая стратегия же более спокойная и не такая нервная. Так что нужно выбирать более плавные кривые, которые не будут повышать наш уровень кортизола (гормон стресса). За плавность и красоту кривой отвечает коэффициент R-квадрат, он же коэффициент детерминации.

Заключение

Так как рынки имеют значительную долю неопределенности, мы не знаем, что на них будет происходить завтра. Все что у нас может быть — статистическая модель за прошлый период времени (те самые 10, 15 или 20 лет исторических тестов), риск-модель (заданный уровень максимальной просадки, риск на одну сделку) и «холодный» ум.

Бэктест не дает 100% гарантий, что стратегия будет вести себя именно так, как на историческом тестировании, но это лучшая статистическая основа, с которой нужно начинать.

Основные тезисы статьи:

  1. Внедрите тестирование торговых стратегий в свою практику уже сейчас. И неважно какие способы вы для этого будете использовать вначале, — даже если это простейший визуальный тестер — уже хорошо. В процессе вы обязательно освоите новые методы тестирования и увлечетесь этим.
  2. Стремитесь к объективной оценке стратегий и подходов. Часто бывает, что вроде как логичная стратегия не приносит результатов, тогда как примитивный метод позволяет получать системную прибыль. Финансовые рынки — область парадоксов. Иногда хорошие результаты находятся там, где меньше всего их ждешь.
  3. Настраивайте риски торговых стратегий так, чтобы они не приносили вам стресс и неуверенность. Мы рекомендуем настраивать максимально допустимую просадку в районе 15% на капитал.

Материалы

Поделиться статьей

Поделиться в facebook
Поделиться в vk
Поделиться в twitter
Поделиться в telegram

С радостью ответим на ваши комментарии

Читайте также

2,5 часа бесплатных видео по автоматизации торговых стратегий

Начните обходить других частных трейдеров.

До 60% скидок на все курсы. Только для тех, кто прошел вступительный материал до конца

Ваша выгода составит от 2 409 ₽ до 31 482 .

До 60% скидок на все курсы. Только для тех, кто прошел вступительный материал до конца

Ваша выгода составит от 2 409 ₽ до 31 482 .

Не уходите с пустыми руками — выберите один из 3-х бесплатных видеокурсов о трейдинге или же софт для анализа рынков