Анализ существующих торговых роботов и постановка задачи проектирования
Автор: Домащенко Д.А.
Источник: Информационные управляющие системы и компьютерный мониторинг (ИУС и КМ – 2013) – 2013 / Материалы IV международной научно-технической конференции студентов, аспирантов и молодых ученых. – Донецк, ДонНТУ – 2013, Том 1, с. 538-543.
Аннотация
Домащенко Д.А. Анализ существующих торговых роботов и постановка задачи проектирования. Проведен анализ существующих торговых стратегий и идентификаторов торговли, сформулированы основные требования к разрабатываемому торговому роботу, определена структура создаваемой системы, выделены элементы, подсистемы и механизмы их взаимодействия. Ключевые слова: сравнительный анализ, торговая стратегия, торговый советник.
Общая постановка проблемы
В современном мире одним из путей инвестирования финансовых средств является биржевая торговля. Необходимо отметить, что при существующем многообразии объектов совершения операций данного типа наиболее популярный способ торговли представляет собой игру на разнице курсов валют, а самым развитым рынком в этой сфере является FOREX. В 2011 г. ежедневный оборот составил 4,5 трлн. USD, и опытные трейдеры могли получить за день до 5-7% прибыли, что при достаточно большой стоимости лота представляло существенный доход [1].
Биржевая торговля исследуемого типа требует непрерывного анализа ситуации на рынке, контроля динамики котировок и постоянного открытия/закрытия позиций, т.е. отрыва трейдера от основной деятельности. С целью минимизации временных затрат и оптимизации торговой деятельности в настоящее время применяются торговые роботы.
На сегодняшний день существует порядка 800 различных торговых советников, основанных на базисном техническом анализе и реализующих различные торговые стратегии [2]. Преимущество программы перед человеком очевидно – она способна обрабатывать большие объемы информации, не допускает ошибок ввода при открытии позиций и лишена такого психологического фактора, как рассеянность внимания и усталость. Однако торговый советник, который учитывал бы достаточно большое число показателей и мог проявлять гибкость тактического принятия решений, еще не создан. Разработка подобного торгового робота и является целью данного исследования.
Анализ современного состояния исследуемой области
В настоящее время ключевым элементом торговли, определяющим поведение трейдера на рынке, является торговая стратегия (далее ТС). ТС — это совокупность инструментов анализа и правил, которых придерживается трейдер в собственной работе на валютном рынке. Одновременное достижение заданных значений изменения котировок дает сигнал на покупку или продажу торгового инструмента [3].
Базисом любой ТС, отвечающим за решение о вхождении в торговлю, является используемый в ней индикатор. Математический аппарат каждого из индикаторов содержит результаты анализа, который традиционно разделяют на фундаментальный и технический [4].
Под фундаментальным анализом понимают совокупность мер, направленных на выявление закономерностей в поведении цены валют, динамики их спроса и предложения на рынке FOREX на основе комплексного анализа ряда факторов. Эксперты считают, что основной минус фундаментального анализа – это его сложность [5]. Поскольку контролировать 40-50 показателей, каждый из которых определен конкретными причинно-следственными связями, имеющими противоречивый или же рефлексивный характер, физически невозможно, практическое применение получаемого прогноза даже с 50% долей уверенности становится сомнительным. Преимуществом метода является возможность не брать в расчет колебания рынка (т.н. рыночный шум).
С точки зрения компьютерной реализации автоматической торговли, больший интерес представляет технический анализ рынка и котировок. Все многообразие методов прогнозирования технического анализа укладывается в определенную схему. Так в рамках трудов зарубежных исследователей разработана следующая классификация [6]:
- Графические методы, помогающие прогнозировать рынок с помощью наглядного изображения его движений, различаются в зависимости от того, на каком типе графика строятся.
- Методы, использующие фильтрацию или математическую аппроксимацию, например методы, в основу которых положены скользящие средние и осцилляторы. С точки зрения реализации автоматического торгового советника данная группа показателей наиболее привлекательна, поскольку результаты анализа удобно интерпретировать алгоритмическими процедурами.
- Теория циклов, исследующая циклические колебания не только цен, но и природных и экономических явлений в целом. Данный метод имеет значительную теоретическую базу, практическое применение которой еще не достаточно распространено.
Существуют также смешанные методы, несущие в себе черты нескольких групп. Например, волновая теория Эллиотта — метод в основном графический, но имеет черты фильтрации и цикличности. Таким образом, большинство методов технического анализа укладываются в изложенную классификацию.
Проведенный анализ позволяет выделить основные направления формирования торгового советника. Предполагается, что советник реализует торговлю на различных временных промежутках и при различных степенях риска. Решение об открытии/закрытии позиций полностью предоставляется роботу. Единственным рычагом влияния на советника со стороны пользователя остается уровень риска – в простейшем случае задается процент средств на счету, которые можно задействовать в торговле.
Результаты тестирования популярных торговых советников
Для формирования представления об эффективности и прибыльности существующих торговых советников были отобраны шесть наиболее популярных из них.
Тестирование проводилось на семи рыночных промежутках (1 минута, 5 минут, 15 минут, 30 минут, 1 час, 4 часа, 1 день), на пяти отрезках времени (01-10.02.13, 10-20.02.13, 20.02.13-01.03.13, 01.03.13-12.03.13, 12.03.13-14.03.13). Для оценки эффективности торговли анализировались показатели чистой прибыли, прибыльности, числа проведенных сделок, процента прибыльных сделок, процента выигрышных коротких позиций и математическое ожидание выигрыша. Сбор статистики производился при помощи Тестера стратегий платформы MetaTraider 4. Усредненные показатели для пяти серий тестов представлены в таблице 1.
Таблица 1 – Сводные результаты тестирования торговых советников
Название советника | Чистая прибыль | Прибыльность | Число сделок | % прибыльных сделок | % выигрышных коротких позиций | Мат. ожидание выигрыша |
Moving Average | -479,501 | 0,5853 | 52,543 | 19,8934 | 22,7663 | -15,974 |
Intraday | -5322,71 | 0,3573 | 78,743 | 19,34 | 19,34 | -78,904 |
MACD | 22,63 | 0,8344 | 2,7429 | 60,7486 | 53,381 | 8,50886 |
MACFibo | -259,239 | 0,61567 | 36,549 | 28,1014 | 29,0034 | -6,0217 |
PSAR | -2700,15 | 0,5084 | 200,114 | 23,286 | 37,112 | -19,096 |
X Traider | 14,85143 | 10,6 | 0,85714 | 45,7143 | 37,1429 | 14,8414 |
По итогам тестирования большинство советников зарекомендовали себя как убыточные (прибыль не получена, инвестированные средства не возвращены в полном объеме). Исключение составляет торговый робот “X Traider”, но он осуществлял всего одну сделку за весь период в 85% случаев, в оставшееся время не торговал вообще, поэтому, несмотря на высокие показатели прибыльности, данный советник не подходит для долгосрочной автоматической торговли.
Похожая ситуация наблюдается при анализе работы торгового советника MACD, установленного в системе MetaTraider 4 по умолчанию. Несмотря на то, что более половины его сделок являются прибыльными (рис. 1), математическое ожидание выигрыша составляет довольно небольшую сумму, а сами показатели торговли советника свидетельствуют о его убыточности. В такой ситуации более выгодным является депозитный вклад, чем инвестиции в торговлю на курсе валют.
Тем не менее, некоторые торговые советники показали хорошие показатели прибыльности для определенных рыночных интервалов. Например, наиболее популярный торговый советник, основанный на методе скользящих средних, осуществляет эффективную торговлю на четырехчасовом интервале (рис. 2).
По результатам анализа было принято решение использовать торговый советник Moving Average в качестве основы создаваемого робота. Данный советник успешно осуществляет торговлю на популярном временном интервале H4, который чаще всего используется наименее опытными трейдерами, а также в нем успешно реализован аппарат открытия/закрытия ордеров.
Разработка структуры торгового советника
Анализ результатов тестирования советников позволил определить алгоритмическую основу компонента торговли разрабатываемого торгового робота. Тем не менее, для осуществления прибыльных торговых операций в структуру советника необходимо включить еще несколько компонентов, а именно:
- компонент анализа и прогноза. Анализируя архив котировок за предшествующий период робот осуществляет прогноз изменения курса валют. Предполагается использование нейросетевых методик прогнозирования, учет суточных и недельных колебаний, расчет классических рыночных коэффициентов;
- компонент управления. Учитывая размер целевой прибыли, заданной пользователем, а также ожидаемое изменение курса валют и элементы нечеткой логики данный компонент определяет, какая из трех-четырех возможных торговых стратегий будет использоваться в дальнейшем;
- компонент построения стратегии. Применяя полученный прогноз котировок и результаты решения типовых задач теории игр со средой, данный компонент будет задавать торговые переменные для выбранной ранее стратегии. Рассчитанные переменные передаются компоненту торговли и служат основным инструментов регулирования осуществления рыночных операций.
Все компоненты советника связаны линейно, а их работа осуществляется последовательно – результаты одного компонента служат входной информацией для другого. Однако, может возникнуть ситуация, когда процесс торговли осуществляется не так, как было запланировано. В таком случае может потребоваться возврат на более ранние этапы с целью пересчета прогноза, изменения стратегии или корректировки торговых переменных.
В рамках исследования остаются нерешенными следующие задачи:
- адаптировать либо разработать математический аппарат для принятия решений в различных компонентах советника;
- реализовать разработанные алгоритмы функционирования на встроенном в торговую платформу языке программирования MQL4;
- произвести численное исследование полученной торговой модели и сравнить результаты с работой существующих роботов.
Выводы
В ходе исследования были выявлены множественные преимущества робота перед человеком в вопросах торговли, а также подтверждено, что достаточно успешных и гибких торговых советников в настоящий момент не существует. Выбраны методы технического анализа, которые будут положены в основу советника. Произведено тестирование наиболее популярных роботов, которое подтвердило их убыточность или ограниченность применения. Выделены компоненты, формирующие структуру советника: компонент анализа и прогноза, построения стратегии, управления и торговли. Обозначены перспективные методы прогнозирования и принятия решений (нейросети, нечеткая логика, осуществление пересчета стратегии через обратную связь). Следующим этапом исследования является формализация математического аппарата советника, его программная реализация и тестирование.
Литература
1. Лука Корнелиус Торговля на мировых валютных рынках (Trading in the Global Currency Markets) 2-е издание [Текст] / К. Лука – М : Альпина Бизнес Букс, 2005. – с. 21-23. – 716 с.
2. Эрлих А. А. Технический анализ товарных и финансовых рынков - прикладное пособие [Текст] / А. А. Эрлих – М : ИНФРА-М, 1996. – 176 с.
3. Вильямс Билл Торговый хаос. Экспертные методы максимизации прибыли [Текст] / Б. Вильямс – Лондон : Times Press, 2005. – 143 c.
4. Играть на бирже просто?! [Текст] / НП «Форекс Клуб» – М : Форекс Клуб, 2003. – 240 с.
5. Бенсигнор Р. Новое мышление в техническом анализе [Текст] / Р. Бенсигнор – М : Интернет-трейдинг, 2002. – 304 с.
6. Кан М. Н. Технический анализ [Текст] / М. Н. Кан – СПб : Питер, 2003. – 282 с.