Как тестировать торговую систему

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

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

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

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

  • Пример: если на всем периоде наблюдается среднее количество убыточных сделок — 3-4 раза подряд и на одном участке 8 раз, то второе значение с большой вероятностью является аномалией и в расчет приниматься не должно.

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

  1. Не доверяйте глазам. Кривая депозита может быть и красивой, но при большем приближении могут вырисоваться явные минимумы и максимумы. Оценка системы «на глаз» не даст полного представления об этих параметрах, тогда как статистические методы позволят вывести усредненное количество прибыльных и убыточных сделок, достижения уровней поддержки и сопротивления и т.д. Имея под рукой конкретные цифры, проще понимать, как строить риск-менеджмент.
  2. Тестирование торговой системы выполняется без использования нулевого бара, то есть бара, который только формируется. Пока вы не знаете котировок внутри бара, не используйте его значения в тестировании.
  3. Убедитесь в правильности котировок. Несмотря на то, что брокеры гарантируют поставку котировок в онлайн режиме, после чего переходят в архив. По факту, архив котировок по непонятным причинам у разных брокеров отличается. И если взять один и тот же инструмент и подгрузить котировки разных ДЦ, результат может оказаться разный. Тестирование торговой системы допустимо только после анализа котировок на предмет «дыр» и «битых участков».
  4. В идеале тестирование торговых систем должно охватывать 5-6 лет. Только так можно охватить наибольший диапазон поведенческих факторов рынка. Некоторые трейдеры с этим не согласны, считая, что за 5 лет может произойти коренное изменение рыночной ситуации и система будет к этому времени нерабочей. Теория цикличности рынков пока опровергнута не была, но период тестирования оставляем на ваш выбор.
  5. Наиболее объективным будет тестирование по всем тикам. Оптимизация нескольких параметров может занять больше 24 часов, но это оправдано.
  6. Параметры торговой системы не должны противоречить свойствам актива, на котором осуществляется тестирование. Каждая валютная пара имеет индивидуальный уровень ордеров стоп-лосс, тейк-профит, спред и т.д. В МТ 4 это можно увидеть, перейдя по меню «Обзор рынка — Символы — Свойства». Если в тестировании будут установлены значения, превышающие указанные параметры, возникнет ошибка:
  • 130 — неправильные стопы;
  • 131 — неправильный торговый объем.

Аномальные показатели параметров МТ4 возможны в период выхода новостей, потому в такие моменты возможны погрешности при тестировании.

  1. Наибольшее внимание уделите последнему участку тестирования торговой системы. Речь идет о последнем годе (для 5-тилетнего периода) или месяце (для тестирования 12 месяцев). На нем рекомендуется проводить «слепое» тестирование, то есть тестирование с параметрами, находящимися за пределами выборки. Если на последнем периоде в ситуации «стресс-тест» (вне зоны классического поведения рынка) система показывает сбой, то требуется оптимизация. В худшем случае это означает, что система не способна сопротивляться форс-мажорным факторам.
  2. Тестирование торговой системы должно быть комплексным. Иными словами, важно проверять работу системы не только в целом, но и отдельно по входам и выходам. Например, роб отлично входит в рынок, но допускает провалы на выходе. В целом система может смотреться и симпатично, но, понимая, что слабое место — закрытие позиции, можно сделать систему еще более совершенной.

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

Об авторе

ПРИСТУПИТЬ К ОБСУЖДЕНИЮ

Комментарии

  • Литовченко Владимир 16.03.2017 at 11:46

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

    Ответить
    • Алготрейдер 28.04.2017 at 17:26

      Я вам даже больше скажу. Перед вами две симпатичные эквити. Но стоит вам увеличить период тестирования или количество сделок, как одна эквити тут же становится куда менее привлекательной. Это как таймфреймы. Потому 5 лет тестирования — нормальный период. Я бы 10 тестировал, с момента кризиса. А по поводу демок — бывает, сейчас это один из самых популярных разводов начинающих трейдеров.

      Ответить