Тестирование торговых стратегий (бэктестинг) : особенности и нюансы

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

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

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

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

Ручное тестирование торговых стратегий

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

Ручное тестирование торговой стратегии позволит вам оценить жизнеспособность вашей торговой идеи. Вы можете просмотреть исторические данные, чтобы увидеть, будут ли ваши идеи работать.

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

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

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

Автоматическое тестирование

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

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

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

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

Программное обеспечение для тестирования торговых стратегий

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

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

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

Создание автоматизированной торговой системы

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

Если ваша торговая система использует распространенные инструменты, такие как скользящие средние или другие технические исследования, наиболее эффективный подход будет использовать торговую платформу, такую ​​как MetaTrader или Ninjatrader, для бэктестинга ваших готовых стратегий.

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

Если вы решите, что программирование системы выходит за рамки ваших технических возможностей или требует специальных навыков, наймите программистов-фрилансеров, которые помогут вам в этом. К примеру, на портале mql5.com есть отдельный раздел фриланс — https://www.mql5.com/ru/job.

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

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

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

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

Покупка торговой стратегии

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

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

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

Проблемы и подводные камни тестирования

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

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

Кроме того, многие начинающие трейдеры предполагают, что торговая система должна иметь очень высокий процент прибыльных сделок. Имея это в виду, недобросовестный программист может создать параметры, которые можно отрегулировать, например, для получения невероятного выигрыша более 90%. Это может показаться привлекательным для неопытного трейдера, но в подавляющем большинстве случаев этот торговые системы используют мартингейл. В конечном итоге ваши потери будут многократно превышать любую череду прибыльных сделок, которые сгенерирует данная система.

Избавьтесь от негативных эмоций в своей торговле

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

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

Если вы тестировали систему в течение 10 лет, и ваша максимальная просадка составила 1500 долларов, что составляет 15%, то вы, как правило, не ожидаете потерять более 15-20% в вашей системе в последующие годы. Если вы провели повторное тестирование своей системы в нескольких рыночных средах, этот тип анализа поможет вам определить, насколько тщательно вам нужно контролировать свою систему, когда позиция начинает двигаться против вас неожиданным образом. Если ваша система имеет новую максимальную просадку, в 2 раза превышающую предыдущую максимальную просадку, вам может потребоваться пересмотреть историю тестирования на истории или скорректировать параметры риска.

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

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

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

Комментарии (1)
  1. Сам пишу тесты уже давно. Хорошая пилюля от розовых очков