Тестирование стратегий в excel. Тестер ручных стратегий – какой выбрать? Метод стохастической кластерной оптимизации

Здравствуйте, господа трейдеры! Сегодняшняя статья будет интересна как начинающим трейдерам, так и профессионалам! Как известно, в торговом терминале MT4 есть так называемый , предназначенный для тестирования автоматических торговых систем, то есть . Но что делать, если у вас ручная стратегия, как ее протестировать? Конечно, можно протестировать стратегию на истории, но это слишком долго и неудобно. И потом, когда вы уже знаете, как поведет себя цена на истории, то начинаете бессознательно подтасовывать результаты стратегии, мол, здесь я бы вышел по безубытку или закрыл сделку раньше и т. д. Если вы хотите объективно оценить свои возможности трейдера или прибыльность стратегии, то вам пригодится симулятор торговли на Форекс. Это специальный тренажер, который поможет вам получить двухлетний опыт трейдинга всего за одну неделю. Сегодня мы рассмотрим различные программы для тестирования стратегий, сравним их возможности, а также преимущества и недостатки.

Что такое тестер стратегий Форекс?

Тестер ручных стратегий – это специальная программа, которая симулирует торговлю на Форекс. Внешне она напоминает торговый терминал MetaTrader 4. В тестере стратегий можно загружать котировки валютных пар, выбирать торговый период и таймфрейм, устанавливать индикаторы и шаблоны, открывать сделки, включая отложенные ордера, размещать стоп-лоссы и тейк-профиты – в общем делать все то, что и в обычном торговом терминале. Например, вы можете установить дату торговли перед и проверить, выдержит ли ваша стратегия ценовые колебания во время проведения референдума в Великобритании. Или вы скачали на нашем сайте и хотите проверить ее эффективность – в этом тоже поможет тестер стратегий. А если вы еще новичок, то тестер стратегий поможет вам получить бесценный опыт торговли на Форекс за несколько дней. В отличие от демо-счета, где торговля осуществляется в реальном режиме, в тестере стратегий можно ускорить время, и протестировать стратегию за несколько дней. Это особенно актуально в выходные дни, когда рынок закрыт. При помощи тестера стратегий также можно поработать над своими эмоциями и отточить навыки торговли.

1. Forex Tester 3

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

Преимущества Forex Tester 3


Недостатки Forex Tester 3

Единственным недостатком Форекс Тестера является то, что он платный. Однако у вас есть возможность оценить его возможности бесплатно на демо-версии. Но у нее есть свои ограничения:

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

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

Смотрите также, в чем преимущества торговли на .

2. Simple Forex Tester

Simple Forex Tester – это бесплатный тестер стратегий, скачать который вы сможете в конце обзора. Главное его преимущество заключается в том, что тестирование стратегий осуществляется в привычном торговом терминале MetaTrader 4, и не нужно привыкать к интерфейсу новых программ. Перед тем как приступить к тестированию, необходимо скачать Simple Forex Tester. В архиве вы найдете две папки. Содержимое первой папки необходимо скопировать в корневой каталог с торговым терминалом, то есть туда, куда вы устанавливали свой MT4.

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

После потребуется перезапуск торгового терминала и можно приступать к тестированию. Для этого необходимо нажать на значок «Тестер стратегий», который мы используем для тестирования советников. В списке советников выбираем SimpleFXTester_v2.ex4, а затем все как обычно – выбираем валютную пару, таймфрейм, модель тестирования, ставим дату тестирования и галочку напротив Визуализации, а также перемещаем ползунок скорости тестирования в крайнее правое положение. После чего жмем на Старт.

Спустя некоторое время появится такое окно.

Нужно нажать OK, и запустится Simple Forex Tester.

После этого все управление тестированием стратегии будет осуществляться через эту программу. Здесь вы можете запускать тестирование и ставить его на паузу, регулировать скорость тестирования, нажав на Place New Order, открывать новые сделки (в том числе отложенные ордера), выставлять стоп-лосс и тейк-профит, запускать трейлинг-стоп, а также модифицировать ордера и закрывать позиции.

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

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

Преимущества Simple Forex Tester

  • Привычный интерфейс программы, встроенной в торговый терминал MT4;
  • Тестер стратегий является полностью бесплатным;
  • Можно тестировать любые индикаторы и шаблоны стратегий.

Недостатки Simple Forex Tester

  • Минимальный функционал;
  • Нельзя протестировать мультивалютную стратегию (в Forex Tester 3 эта возможность есть);
  • Низкая скорость тестирования (не хватает Турбо-режима);
  • Могут возникнуть проблемы с загрузкой котировок (может потребоваться импорт котировок из других источников);
  • Программа часто зависает и вылетает, приходиться начинать тестирование с начала;
  • У программы нет технической поддержки, обновлений не было свыше 5 лет и вероятно больше уже не будет.

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

Выводы

Таким образом, тестер стратегий – это отличный инструмент для получения навыков торговли на Форекс, а также тестирования стратегий. Какую выбрать программу для тестирования стратегий решать вам. Если вы еще новичок, то можете начать с Simple Forex Tester, она простая и бесплатная. Профессиональным трейдерам мы рекомендуем использовать симулятор торговли Forex Tester 3. Деньги, потраченные на его приобретение, очень скоро окупятся сохраненными депозитами. Кроме того, с тестером стратегий вы можете навсегда забыть про демо-счета и потраченное впустую время. Профитной вам торговли!

Каждая потеря депозита ставит трейдера перед вопросом – что делать дальше? Оптимизировать свою торговую стратегию? Лучше контролировать эмоции при торговле? А может быть поступить радикально и приобрести торгового советника?

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

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

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

Таким образом, основными целями тестирования служит проверка таких параметров:

  • показатели производительности, заложенные в стратегию;
  • рыночные показатели торговой стратегии – ликвидность, риск, проскальзывание, издержки;
  • оптимальность исходных параметров стратегии;
  • ошибки программного кода.

Результатом должен стать отчет со статистическими и графическими данными результатов тестирования.

Как уже было сказано выше, тестирование может производиться на двух видах данных:

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

Для тестирования можно использовать несколько различных способов. Широко используется математическое программное обеспечение, например от компании MatLab или MS Excel с биржевыми плагинами, механические системы MetaStock, Wealth-Labили Omega, языки программирования или тестеры, встроенные в торговые платформы. Последние получили наибольшее распространение в среде трейдеров в силу своей простоты и доступности.

Тестирование проводится в несколько этапов:

  • проводится визуальный тест торговой системы или индикатора на достаточно длительном промежутке исторических данных с помощью тестера ручных стратегий;
  • создается торговый советник;
  • проводится тест советника на длительном промежутке истории в автоматическом режиме. В процессе тестирования подбираются параметры индикаторов – советник оптимизируется;
  • после получения стабильных положительных результатов тестирования в автоматическом режиме проводится тест советника на демо или центовом счете.

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

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

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

Механизм тестирования торговых стратегий «Форвард» очень полезен при оптимизации торговой стратегии. Алгоритм его работы заключается в делении исторических данных на две части, на первой из которых проводится оптимизация, а на втором результаты этой оптимизации проверяются. Часто в алгоритм тестера закладывается методика распределенного тестирования, когда вычисления производятся с помощью сетевых средств.

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

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

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

Тестирование может различаться по способам расчета:

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

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

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

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

В данной статье мы покажем результаты тестирования простой торговой стратегии в 3-х режимах: "OHLC на M1 " с использованием только цен Open,High, Low и Close минутных баров; затем детальное моделирование в режиме "Все тики ", и самое достоверное тестирование в режиме "Каждый тик на основе реальных тиков " с использованием записанных тиков из истории.

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

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

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

После первого же прорыва диапазона вверх или вниз начинает накапливаться статистика поступающих тиков: сколько тиков оказалось выше уровня пробитого диапазона, и сколько - ниже. Как только пришедших тиков станет больше или равно TicksForEnter =30, принимается решение о входе в рынок по текущей цене. Если диапазон был пробит вверх, то количество тиков выше уровня пробития должно быть больше количества тиков ниже этого уровня. В этом случае совершается покупка. Для входа в короткую позицию всё наоборот.

Выход из открытой позиции происходит по времени, через BarsForExit баров. Как видите, правила торговли простые. Для наглядности они представлены на рисунке:

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

Как мы тестировали

Торговая стратегия была протестирована на EURUSD на H1 на первых 6 месяцах 2016 года - с 01.01.2016 по 30.06.2016. Все параметры советника были установлены в значения по умолчанию, ведь нашей задачей было простое тестирование стратегии в разных режимах моделирования.


Сравнение результатов при разных режимах тестирования

Результаты тестирования в разных режимах сведены в таблицу. В первую очередь в глаза бросается различие в количестве торговых операций. Соответственно, и все остальные показатели тестирования тоже разные. При этом тестирование в режиме "OHLC на M1" прошло за 1.57 секунды, что в 23 раза быстрее, чем в режиме "Все тики". Такая разница будет иметь большое значение при оптимизации входных параметров торговой системы.

В свою очередь, режим "Каждый тик на основе реальных тиков" был еще затратнее по времени - 74 секунды против 36.7 секунд в режиме "Все тики". Это легко объясняется тем, что при использовании реальных тиков было смоделировано более 34 миллионов тиков, что почти в 2 раза больше, чем в режиме "Все тики". Таким образом, чем больше тиков мы используем при тестировании, тем больше времени требуется на один проход в тестере стратегий.

Параметр
OHLC на M1
Все тики
Каждый тик
на основе реальных
Тиков
731 466
18 983 485
34 099 141
Чистая прибыль
169.46 -466.81
-97.24
Трейдов
96
158 156
Сделок
192
316 312
Просадка по эквити (%)
311.35 (3.38%)
940.18 (9.29%)
625.79 (6.07%)
Просадка по балансу 281.25 (3.04%)
882.58 (8.76)
591.99 (5.76%)
Прибыльные трейды (%)
50 (52.08%) 82 (51.90%) 73 (46.79%)
Средняя непрерывная серия выигрышей
2
2
2
Время тестирования, включая вермя генерации тиков
1.6 секунды
36.7 секунд
74 секунды (1 минута 14 секунд)

Отчеты тестирования в разных режимах моделирования мы собрали в виде анимированных GIF-рисунков, чтобы можно было видеть разницу в статистике.


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



Торговые системы, зависящие от поступления тиков

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

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



Четыре режима генерации тиков

Тестер стратегий в терминале MetaTrader 5 позволяет проверять торговые стратегии в четырех режимах моделирования тиков, они описаны в статье Основы тестирования в MetaTrader 5. Самый быстрый и грубый - режим "Только цены открытия ", при котором торговые операции могут совершаться только на открытии нового бара. В этом режиме советнику недоступны никакие действия внутри бара, и он хорошо подходит для тестирования стратегий, не учитывающих того, как развивается цена внутри бара.

Далее по точности моделирования идет режим "OHLC на M1 ", при котором моделируются цены Open, High, Low и Close каждого минутного бара, входящего в тестируемый диапазон истории. Таким образом, при тестировании на таймфрейме H1 в течение часа эксперт будет вызван 240 раз: на каждом из 60 минутных баров обработчик OnTick() будет вызван 4 раза - по разу для каждой цены OHLC. При таком моделировании уже можно использовать Trailing Stop, просматривать развитие цены на других таймфреймах и индикаторах, если это необходимо. Например, тестировать стратегии типа "3 экрана Элдера ".

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

Начните разработку системы с режима "OHLC на M1"

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

Прежде чем приступить к тестированию торговой стратегии, необходимо четко отдавать себе отчет в том, что от выбранного режима моделирования зависит точность результатов и объем времени, затрачиваемый на их получение. Если необходимо быстро оценить и проверить торговую стратегию, используйте режим "OHLC на M1". В нем вы сможете быстро оценить потенциал торговой системы.

Следующий этап - отладка и режим "Все тики"

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

Точность тестирования против скорости

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

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

Между этими двумя крайними режимами находятся "OHLC на M1 " и "Все тики ", которые работают быстрее, чем "Каждый тик на основе реальных тиков ", но дают меньшую точность тестирования. В общем виде можно сформулировать закон, описывающий время и точность тестирования:

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

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

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

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

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

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

Процесс тестирования торговых стратегий означает запуск алгоритма на исторических или смоделированных данных. Тест должен «увидеть» биржевые «сигналы» для генерации сделок покупки/продажи и выдать результат «возможной» торговли – величина дохода/убытка выступает показателем пригодности для реальной работы.

Основные цели и методики

Прежде всего, необходимо выполнить проверку:

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

Тест должен включать анализ прошлого/прогноз будущего и выдать отчет с графическими и количественными результатами. В тестер можно загрузить:

  • историю - массив ранее сформированных баров с параметрами цен, объемов, индикаторов: тогда для анализа формируется ценовое «прошлое» и «будущее» для того, чтобы на «прошлой» динамике оценить «будущую» реакцию;
  • значения цены, смоделированные сценарием: затем на вход тестера подавать тиковые данные (историю или реальные) и получать прогноз движения.

Первый метод дает легкость, скорость, но слабую точность, а во втором стратегия ведет себя в тестере именно так, как и в режиме реальной торговли. Смоделированные результаты можно хранить в виде внешних файлов, которые можно загрузить в терминал через меню «Файл» - «Открыть автономно».

Тестирование торговых стратегий можно выполнять с помощью:

  • любого математического ПО (Matlab или MS Excel с плагинами для биржевой торговли);
  • систем создания механических систем (MetaStock, Wealth-Lab, Omega);
  • языков программирования Java, Scala или C++/C# для создания и теста торговых роботов;
  • тестеров, встроенных в торговые платформы.

Традиционно для получения стабильных и корректных результатов в процессе тестирования последовательно применяются:

  • Визуальный тест индикатора или системы: требует просмотра истории цены за длительный период (один - два года). Этот трудоемкий процесс упрощается с помощью ПО тестера ручных стратегий.
  • Создание, тестирование и оптимизация советника.
  • Тест на длительной истории в автоматическом режиме.
  • Тест на демо-счете или на центовом счете: выполняется после получения стабильных результатов по двум первым методам – продолжительный, но самый точный расчет. Разница между демо и центовым счетом - только психологическая.

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

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

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

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

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

Механизм «форвард» тестирования торговых стратегий помогает избавиться от проблем «подгонки» параметров: история делится на две части – на одной половине выполнятся оптимизация, а второй участок должен результат подтвердить. Тестеры могут поддерживать методику распределенного тестирования, то есть включать в процесс дополнительные мощности, в том числе и в сети облачных вычислений.

Основные требования к настройкам при тестировании торговых стратегий:

  • скачать данные всех периодов; диапазон истории – не менее 5 лет, с обязательным включением периодов с кризисной/нестандартной динамикой (например, 2008-2009 гг.);
  • если используете меньший период, то он должен включать периоды трендового и флетового движения;
  • количество смоделированных сделок менее 300;
  • тест алгоритма на нескольких ликвидных инструментах.

При настройке параметров теста необходимо учитывать:

  • торговые издержки (спреды, комиссии);
  • проскальзывание/задержки срабатывания;
  • влияние ликвидности актива (объемную динамику);
  • изменение рыночных условий;
  • типы торговых приказов, которые планируется использовать (market или limit ордера).

Если market-ордер исполняется сразу, но его конечная цена для теста неопределена, то limit-приказы могут «ждать» самую подходящую для сделки цену. Limit-ордер считается пассивным средством, так как может быть неисполнен или частично исполнен, если будет мало заявок. Если поведение очереди заявок (Order book) смоделировать неточно, тест в реальном времени покажет худшие результаты, чем тест на истории.

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

Обычно используются три способа расчета:

  • По ценам открытия: самый быстрый, но самый неточный метод, большинство стратегий при тестировании на периоде до 1 года могут вообще не открыть ни одной сделки;
  • По контрольным точкам: наиболее сбалансирован по точности и времени, но уровень доверия к полученным данным низкий;
  • По всем тикам: самый точный метод, приближенный к реальности.

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

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

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

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

Результаты тестирования можно выгрузить в Excel или любое иное ПО в виде последовательности данных с разделителями.

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

И в качестве заключения …

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

Социальные кнопки для Joomla

Популярное: