Тестирование торговой стратегии в excel. Тестирование торговых стратегий. Метод стохастической кластерной оптимизации
Каждая потеря депозита ставит трейдера перед вопросом – что делать дальше? Оптимизировать свою торговую стратегию? Лучше контролировать эмоции при торговле? А может быть поступить радикально и приобрести торгового советника?
Именно третье решение в последнее время становится наиболее популярным. Хотя и здесь есть свои преимущества и недостатки. Действительно, советники не подвержены эмоциям, имеют четкие критерии открытия и закрытия позиций, мгновенно реагируют на изменяющуюся рыночную ситуацию. Что говорить – любая торговая стратегия в исполнении робота всегда эффективнее той же самой стратегии в ручном исполнении трейдера.
Однако такое решение имеет один существенный недостаток – любая торговая система, индикатор или советник, до использования в торговле, нуждается в тестировании и оптимизации. И это является самой большой проблемой трейдеров. Ведь не каждый трейдер сталкивался с этим вопросом и способен качественно сделать эту работу. Но время диктует свои требования и для эффективной торговли трейдеру необходимо совершенствовать свои знания и навыки. Именно этой теме – теме тестирования торговых стратегий мы посвятим настоящую статью.
Процесс тестирования проводится, как правило, на исторических данных. Реже обычными трейдерами используется моделирование рыночных ситуаций. Во время теста система должна распознать ситуацию на рынке, дать четкие сигналы для входа в сделку и показать результат этих торговых операций. Именно результат торговли за определенный период является основным критерием пригодности стратегии для торговли на реальном рынке.
Таким образом, основными целями тестирования служит проверка таких параметров:
- показатели производительности, заложенные в стратегию;
- рыночные показатели торговой стратегии – ликвидность, риск, проскальзывание, издержки;
- оптимальность исходных параметров стратегии;
- ошибки программного кода.
Результатом должен стать отчет со статистическими и графическими данными результатов тестирования.
Как уже было сказано выше, тестирование может производиться на двух видах данных:
- исторические данные движения цены. Недостатком метода является несоответствие исторических данных современному реальному состоянию рынка, в связи с чем стратегию необходимо оптимизировать под текущую ситуацию;
- смоделированные рыночные ситуации. Этот способ дает более реальные результаты торговли.
Для тестирования можно использовать несколько различных способов. Широко используется математическое программное обеспечение, например от компании MatLab или MS Excel с биржевыми плагинами, механические системы MetaStock, Wealth-Labили Omega, языки программирования или тестеры, встроенные в торговые платформы. Последние получили наибольшее распространение в среде трейдеров в силу своей простоты и доступности.
Тестирование проводится в несколько этапов:
- проводится визуальный тест торговой системы или индикатора на достаточно длительном промежутке исторических данных с помощью тестера ручных стратегий;
- создается торговый советник;
- проводится тест советника на длительном промежутке истории в автоматическом режиме. В процессе тестирования подбираются параметры индикаторов – советник оптимизируется;
- после получения стабильных положительных результатов тестирования в автоматическом режиме проводится тест советника на демо или центовом счете.
Часто для тестирования используют тестеры торговых стратегий, которые представляют собой аналитические инструменты для работы с историческими ценовыми данными, загруженными из внешних источников. В процессе тестирования проводится автоматический анализ работы алгоритма, открываются и закрываются позиции. Тестирование может производиться одновременно на нескольких торговых инструментах, в результате чего можно выбрать инструмент, на котором система работает наиболее эффективно.
В процессе визуального тестирования можно наблюдать, как на графике открываются позиции, контролировать скорость открытия позиций. В режиме произвольных задержек модулируются ситуации с задержкой исполнения приказов брокерами. В этом режиме доступна настройка по скорости, прибыли, периоду, различным условиям торговли.
Результат работы тестера формируется в виде статистического блока информации и графика изменения первоначального депозита. Статистика отражает такие данные, как прибыль и убыток, количество прибыльных и убыточных сделок, факторы риска и другие показатели.
Механизм тестирования торговых стратегий «Форвард» очень полезен при оптимизации торговой стратегии. Алгоритм его работы заключается в делении исторических данных на две части, на первой из которых проводится оптимизация, а на втором результаты этой оптимизации проверяются. Часто в алгоритм тестера закладывается методика распределенного тестирования, когда вычисления производятся с помощью сетевых средств.
Для качественного тестирования необходимо тщательно отобрать исторические данные. Период истории должен быть достаточно протяженным – не менее 5 лет. При этом в истории должен присутствовать период с кризисной динамикой, например с кризисом 2008-2009 годов. При использовании меньшего периода история должна включать как трендовые, так и флетовые участки.
Тестирование проводится на большом количестве сделок. Считается, что их должно быть не менее 300. Обязательным условием является тестирование стратегии на нескольких высоколиквидных инструментах.
Тестирование должно учитывать комиссии и спрэды, проскальзывания и задержки исполнения торговых приказов, ликвидность торгового инструмента, возможные изменения рыночных условий. Обязательно проводится тестирование на тех видах ордеров, которые заложены в торговую стратегию. При этом важна точность моделирования очереди заявок Orderbook, так как неточное моделирование может привести к ухудшению результатов тестирования на реальном счете. Необходимо учитывать увеличение спрэда перед закрытием сессий с целью минимизации издержек.
Тестирование может различаться по способам расчета:
- по ценам открытия – самый быстрый метод тестирования, но и самый неточный – на коротких периодах истории большинство тестируемых стратегий могут показать полное отсутствие открытых сделок;
- по контрольным точкам – сбалансированный метод тестирования, но с невысоким уровнем доверия к получаемым данным;
- по тикам – наиболее предпочтительный метод, более всего приближенный к реальному рынку.
При тестировании следует помнить, что моделирование и большие объемы смоделированных данных потребляют много ресурсов, а при визуализации тестирования снижается скорость расчетов.
Результаты тестирования можно увидеть на итоговом графике, на котором будут отображены точки входа и выхода сделок, данные применяемых индикаторов. На графиках легко обнаружить ошибки стратегии.
При загрузке истории необходимо помнить, что история котировок не должна иметь разрывов или поставляться из разных источников – котировки для тестирования должны идти непрерывным потоком, без сдвигов и пропусков.
Сначала про графики. Справа вверху улыбка волатильности. Слева внизу профиль текущей позиции. (коричневая линия наклон волатильности, показывает как может изменится волатильность при изменении цены). Остальное я думаю и так понятно.
Функционал. Кроме быстрого прогона позиции (Старт) и просмотра эквити (процедуру обработки ускорил) и прогона «шаг за шагом» (StepByStep) добавил профиль и учет изменения волатильности.
Как пользоваться. (см. предыдущий блог). Чтобы просто посмотреть результат жмем старт. Чтобы смотреть шаг за шагом, ставим галочку слева от StepByStep. Чтобы посмотреть профиль позиции жмем Профиль. Если жмете StepByStep и не хотите каждый раз жать Профиль, то поставьте галочку слева от кнопки Профиль. Если хотите смотреть обычный (стандартный) профиль, то уберите галочку Волатильность. Если Галочка стоит (Волатильность), то профиль рисуется с учетом изменения (возможного изменения) волатильности. (коричневая линия на графике).
Здравствуйте, господа трейдеры! Сегодняшняя статья будет интересна как начинающим трейдерам, так и профессионалам! Как известно, в торговом терминале 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. Деньги, потраченные на его приобретение, очень скоро окупятся сохраненными депозитами. Кроме того, с тестером стратегий вы можете навсегда забыть про демо-счета и потраченное впустую время. Профитной вам торговли!
Рис. 1. Оптимизация многомерного пространства алгоритмов торговых стратегий.
Оптимизация торговых стратегий
В процессе алгоритмической торговли постоянно возникает необходимость настройки параметров алгоритмов торговых стратегий. Сочетания всех возможных параметров превращается в большое многомерное пространство вариантов стратегий. Чтобы получить самые прибыльные и стабильные стратегии нужно исследовать это пространство и подобрать оптимальные параметры для торговли.
Самый лучший способ исследования любого множества - это полный перебор всех его элементов . Однако учитывая колоссальные объемы данных с которыми приходится сталкиваться при оптимизации, как правило, оказывается просто невозможно провести подобное исследование полным перебором. Приходится применять различные аналитические алгоритмы, которые позволяют сократить фактический объем исследований в процессе поиска экстремумов.
Большинство таких алгоритмов хорошо известны: метод Монте-Карло , метод градиентного спуска , метод имитации отжига , эволюционные алгоритмы и т.д. При этом существуют различные модификации данных алгоритмов оптимизации. В алготрейдинге, как правило, встречаются реализации генетических алгоритмов и Монте-Карло. Так или иначе все эти алгоритмы используют «магию случайных чисел» или научно говоря нелинейную стохастическую оптимизацию.
Классическая проблема стохастических алгоритмов оптимизации заключается в том, что при не больших объемах фактических исследований и малых выборках они не репрезентативны. Например, Монте-Карло не эффективен в многоэкстремальном пространстве, он акцентирует исследование на глобальном экстремуме упуская из вида локальные, но не менее интересные экстремумы. Алгоритм не ставит перед собой таких задач, ему просто нужно найти самую прибыльную стратегию. Генетический алгоритм также может пойти не удачной веткой мутаций и остановиться на каком-нибудь локальном экстремуме и т.д.
Все потому, что данным алгоритмам оптимизации на начальных этапах приходится принимать решения на ограниченном объеме данных в еще не изученном пространстве и из исследования могут легко выпасть важные области. Чтобы этого избежать нужно увеличивать выборки данных и время исследования, а в нашем случае время на вес золота. Нужно при минимальных затратах времени максимально подробно исследовать экстремумы пространства. При этом в быстро меняющихся условиях биржевой торговли важно уделять внимание не только прибыльным, но и стабильным параметрам торговых стратегий. Под стабильными понимаются параметры формирующие кластеры с похожими результатами. Прибыльные стратегии, находящиеся вне кластеров, могут оказаться не стабильными и привести к серьезным убыткам. В свою очередь стратегия из кластера в меньшей степени подвержена изменениям на рынке.
Метод стохастической кластерной оптимизации
Учитывая особенности оптимизации биржевых стратегий был разработан гибридный алгоритм (см. ) у которого оказался один приятный побочный эффект - он успешно выделял и исследовал кластеры. Я дал название полученному алгоритму - «Метод стохастической кластерной оптимизации».
Процесс исследования поэтому алгоритму проходит в два этапа:
- Исследование пространства стратегий с удалением убыточных и подверженных риску областей
- Подробное исследование экстремумов и кластеров пространства
Чтобы избавиться от неопределенности при нехватке данных на начальных этапах исследования алгоритм не ставит задачу поиска прибыльных стратегий, а наоборот, ищет самые убыточные и удаляет их из пространства вместе с пограничными с ними областями с потенциально высокими рисками убытков.
Работа ведется в следующем порядке:
- Формируется многомерное пространство из всех возможных параметров торговой стратегии.
- Из пространства случайно выбираются стратегии и тестируются на исторических данных с указанными параметрами.
- По результатам тестирования вокруг самых убыточных стратегий удаляются пограничные микрообласти. Тем самым уменьшается пространство исследования и делается акцент на более прибыльные и стабильные области в дальнейших итерациях.
- Итерации тестирования проводятся до тех пор, пока пространство стратегий не будет исследовано в нужной степени
Рис. 2. Первый этап алгоритма «Stochastic Cluster Optimization» - исследование пространства стратегий.
Этап 2. Подробное исследование кластеров и экстремумов.
После первого этапа исследования становятся хорошо виды экстремумы. Однако, в силу особенностей алгоритма (вырезается множество микрообластей) пространство получается «рваным» и некоторые экстремумы могут быть исследованы не очень подробно. Чтобы полностью изучить все интересные кластеры алгоритм оптимизации начинает процесс исследования в точности наоборот. Для этого выбираются все лучшие стратегии и вокруг них дополнительно выделяются микрообласти. Если в этих областях обнаруживаются еще не исследованные стратегии, то они дополнительно тестируются (см. Рис. 3).
Рис. 3. Второй этап алгоритма «Stochastic Cluster Optimization» - подробное исследование экстремумов.
В результате после работы алгоритма исследуются все интересные нам области пространства и подробно тестируются кластеры с прибыльными стратегиями. При этом фактический объем исследования, как правило, составляет не более 25-50% от общего объема пространства вариантов стратегий (см. Рис. 4).
Walk Forward оптимизация
Казалось бы оптимизировали параметры и можно начинать торговать. Однако на этом процесс иссдедования еще не завершается. Процесс оптимизации подвержен риску «подгонки» или переоптимизации параметров под используемые в процессе исторические данные, поэтому нужно дополнительно проверить полученные результаты. Для этого используется метод Walk Forward . Суть метода заключается в том, что параметры стратегий тестируются на исторических данных отличных от тех, которые использовались в процессе оптимизации.
Для этого весь диапазон исторических данных разбивается на выборки, состоящие из наборов:
- IS («In Sample») - выборка, используемая для оптимизации
- OOS («Out Of Sample») - выборка, используемая для тестирования результатов оптимизации
Рис. 5. Схема Walk Forward оптимизации.
Для уменьшения объемов исследования на этапах проверки результатов, можно после оптимизации сразу отфильтровать стратегии с плохими показателями, тем самым сокращая общее время тестирования. В результате такой проверки мы получим объективные параметры торговых стратегий, защищенные от переоптимизации (см. Рис. 6 и Рис. 7).
Рис. 6. Результаты оптимизации на данных «In Sample».
Рис. 7. Проверка результатов оптимизации на данных «Out Of Sample».
Анализ результатов
Как правило после проверки по методу Walk Forward большая часть торговых стратегий выглядит уже не так привлекательно, как после оптимизации. В идеальном варианте стратегии должны подтвердить свои статистические показатели, а экстремумы и кластеры сохранить свою форму и положение в пространстве.
Для комфортного анализа полученных результатов я визуализировал многомерное пространство стратегий по каждому параметру в формате тепловой карты (см. Рис. 8 ). По карте визуально оцениваются форма и размеры кластеров, положение экстремумов, проверяется влияние параметров на результативность стратегии, оцениваются изменения после проверки на переоптимизацию и т.д.
Рис. 8. Пример сечения пространства по оптимизируемым параметрам и целевой функции.
Для комплексной оценки результатов Walk Forward оптимизации строится матрица со всеми шагами и параметрами, прошедшими фильтрацию. Зеленым цветом выделяются шаги, на которых параметры подтвердили свои показатели и красным, соответственно, если не подтвердили. Параметры, показавшие себя хорошо на большом количестве шагов можно считать более пригодными для торговли (см. Рис. 9).
Рис. 9. Матрица Walk Forward со всеми результатами провеки на данных OOS.
В случае необходимости полученные результаты можно экспортировать в сторонние системы анализа для более детального исследования. Например, в R, Excel или Mathlab (см. Рис. 10).
Рис. 10. Экспорт результатов оптимизации в Excel.
Чтобы окончательно убедиться в правильности выборанных параметров проводятся детальные тесты стратегий, оценивается плавность кривой доходности, выводятся заявки на график и изучается лог торговых сделок (см. Рис. 11).
Рис. 11. Подробный анализ параметров торговой стратегии.
Заключение
После оптимизации и всех проверок у нас останутся стратегии потенциально пригодные к реальной торговле на Бирже.
Наконец мы все перепроверили, наверное, уже можно начинать торговать? На самом деле мы только на полпути, еще рано отправлять торговые алгоритмы в бой. Далее предстоит:
- Проверить стратегии на «живых» данных с Биржи для подтверждения показателей, полученных во время тестирования.
- Сформировать портфель из торговых стратегий для диверсификации рисков. Кстати, его тоже нужно оптимизировать.
- В процессе реальной торговли периодически сводить полученные результаты с результатами тестов для корректировки настроек тестера-оптимизатора.
Всем удачной торговли!
Теги: Добавить метки
Любой индикатор или торговую систему (платные, бесплатные, чужие или созданные самостоятельно) можно ставить на реальный счет только после успешного тест-драйва несколькими способами и в различных торговых условиях. Оптимизация и грамотное тестирование торговых стратегий – необходимый процесс для успешной торговли.
Разработка торговой системы требует много времени и сил, поэтому эмпирические методы подбора параметров уже давно не используются. Сегодня этап тестирования стал необходимым компонентом теханализа и позволяет сохранить капитал для реальной торговли.
Процесс тестирования торговых стратегий означает запуск алгоритма на исторических или смоделированных данных. Тест должен «увидеть» биржевые «сигналы» для генерации сделок покупки/продажи и выдать результат «возможной» торговли – величина дохода/убытка выступает показателем пригодности для реальной работы.
Основные цели и методики
Прежде всего, необходимо выполнить проверку:
- заложенных в стратегию показателей производительности;
- рыночных моделей (активы, ликвидность, издержки, скорость, проскальзывание, риск) без реальной торговли;
- оптимальность параметров по результатам теста на истории;
- программного кода на ошибки разработки.
Тест должен включать анализ прошлого/прогноз будущего и выдать отчет с графическими и количественными результатами. В тестер можно загрузить:
- историю - массив ранее сформированных баров с параметрами цен, объемов, индикаторов: тогда для анализа формируется ценовое «прошлое» и «будущее» для того, чтобы на «прошлой» динамике оценить «будущую» реакцию;
- значения цены, смоделированные сценарием: затем на вход тестера подавать тиковые данные (историю или реальные) и получать прогноз движения.
Первый метод дает легкость, скорость, но слабую точность, а во втором стратегия ведет себя в тестере именно так, как и в режиме реальной торговли. Смоделированные результаты можно хранить в виде внешних файлов, которые можно загрузить в терминал через меню «Файл» - «Открыть автономно».
Тестирование торговых стратегий можно выполнять с помощью:
- любого математического ПО (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Популярное:
- 14.11.2013 06:32 | Индикатор разворота - определяем конец тренда 55948
- 02.04.2015 10:04 | Индикатор VSA читает рынок как открытую книгу 53422
- 23.09.2014 11:08 | Конструктор советников форекс позволит создать любой торговый робот 48882