Научная статья на тему 'РАЗВИТИЕ ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ АЛГОТРЕЙДИНГА НА ОСНОВЕ ПРИМЕНЕНИЯ НЕЙРОННЫХ СЕТЕЙ'

РАЗВИТИЕ ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ АЛГОТРЕЙДИНГА НА ОСНОВЕ ПРИМЕНЕНИЯ НЕЙРОННЫХ СЕТЕЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
230
47
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БИРЖЕВАЯ ТОРГОВЛЯ / EXCHANGE TRADE / ИНТЕРНЕТ-ТРЕЙДИНГ / ONLINE TRADING / ИНВЕСТИЦИИ / АВТОМАТИЗИРОВАННАЯ ТОРГОВАЯ СИСТЕМА / AUTOMATED TRADING SYSTEM / ТОРГОВЫЙ РОБОТ / АЛГОТРЕЙДИНГ / ALGORITHMIC TRADING / НЕЙРОННЫЕ СЕТИ / NEURAL NETWORKS / MARKET CONJUNCTURE / INVESTMENT OUTLAY / ROBO TRADER

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Белоконская Елена Геннадьевна, Калягин Илья Игоревич

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

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

THE DEVELOPMENT OF THE AUTOMATED TRADING SYSTEM CREATION TOOLS BASED ON NEURAL NETWORKS

The article deals with the issues of algorithmic trading as an instrument of trade process automatisation with help of program algorithms and various hardware solutions. The authors state that algorithm trading has become one of the basic trends recently. However, the Russian market provides a limited number of tools that can create robo traders and analyses the market condition. The most urgent trends in development of the automated trading system creation tools based on neural networks are determined.

Текст научной работы на тему «РАЗВИТИЕ ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ АЛГОТРЕЙДИНГА НА ОСНОВЕ ПРИМЕНЕНИЯ НЕЙРОННЫХ СЕТЕЙ»

Раздел 5. МАТЕМАТИЧЕСКИЕ МЕТОДЫ И МОДЕЛИ В ЭКОНОМИКЕ

УДК 336.76

РАЗВИТИЕ ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ АЛГОТРЕЙДИНГА НА ОСНОВЕ ПРИМЕНЕНИЯ НЕЙРОННЫХ СЕТЕЙ

Белоконская Елена Геннадьевна (beg_31@mail.ru) Калягин Илья Игоревич ФГБОУ ВО «Ивановский государственный химико-технологический университет» В статье рассмотрены вопросы алгоритмической торговли как инструмента автоматизации торгового процесса с помощью программных алгоритмов и различных аппаратных решений. По мнению авторов, алгоритмическая торговля является одним из главных трендов последних лет. Однако российский рынок предоставляет достаточно небольшой набор инструментов по созданию торговых роботов и анализу рыночной конъюнктуры. Определены наиболее актуальные направления развития инструментальных средств создания автоматизированных торговых систем на основе использования нейронных сетей.

Ключевые слова: биржевая торговля, интернет-трейдинг, инвестиции, автоматизированная торговая система, торговый робот, алготрейдинг, нейронные сети.

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

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

хорошие результаты только при наличии торговой системы.

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

Построение торговой системы включает следующие шаги:

1) выбор рынка (фондовый, срочный, валютный или товарный). Главный критерий, по которому следует выбирать рынок - ликвидность;

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

3) определение точки входа в рынок;

4) выставление стоп-ордеров для ограничения рисков на каждую сделку;

5) определение точки выхода из рынка;

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

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

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

указывать число прибыльных и убыточных сделок за определенный период и т.д.

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

Одним из инструментов, позволяющих «обуздать эмоции» во время трейдинга являются автоматизированные торговые системы. Автоматизированные торговые системы (АТС) основаны на работе заранее прописанных алгоритмов. По сути, любая торговая система может стать автоматизированной. Для этого необходимо написать программу на определенном языке программирования, в которой будут прописаны все правила торговли. В итоге получается программа, которая совершает сделки самостоятельно, без вмешательства трейдера. Некоторые автоматизированные торговые системы включают в себя процессы поддержки работоспособности с помощью трейдера. Это зависит от того, как разработана торговая система. Совмещение нескольких автоматических торговых систем в одну можно назвать торговым роботом.

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

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

данная программа будет грамотно оптимизирована под конкретный финансовый инструмент. Поэтому популярность таких систем растет с каждым днем, появляются новые программные продукты, которые облегчают процесс мониторинга и анализа рынка. По мнению аналитиков, автоматизированная разработка инвестиционных стратегий получает все большее распространение. К 2025 году доля активов, управляемых с помощью компьютеров, вырастет до 1,6%. За 2016 г. объем таких активов увеличился с 19 млрд. дол до 43 млрд. дол. Еще быстрее, как считают специалисты, будет развиваться гибридная форма консультирования, при которой люди дополняют рекомендации компьютеров. Сервисы на базе алготрейдинга разрабатывают крупнейшие банки. Например, Barclays, Royal Bank of Scotland, Lloyds (Великобритания) [5].

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

Несмотря на трудности, алгоритмическая торговля - один из главных трендов интернет-трейдинга последних лет. В терминах биржевой торговли алготрейдинг - подход к автоматизации торгового процесса при помощи программных алгоритмов и различных аппаратных решений [2]. Многие частные инвесторы желают перенести свои торговые стратегии на программу, которая будет вести торговлю по заданным правилам. Отсюда возникает проблема написания торговых роботов. При этом создание торгового робота особенно актуально для трейдеров, не имеющих навыков программирования.

На сегодняшний день на рынке имеются готовые платформы, позволяющие создавать торговых роботов [3]. Характеристика наиболее известных из них представлена в таблице 1.

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

Таблица 1

Характеристика основных платформ по разработке торговых систем

Название платформы Основные характеристики

TSLab - возможность создавать сложные алгоритмические системы - визуальный редактор - трансляция работы скрипта

Wealth-Lab - построение торговых систем со встроенным мастером стратегий - построение мульти-систем - разработка на любом языке .NET - проверка стратегии по всем инструментами

MetaStock/ TradeScript - большая библиотека индикаторов и формул - большое количество модулей программы - высокая скорость работы

Quik - высокая скорость работы - встроенный язык программирования QPale

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

- предоставление возможности проектировать торговых роботов онлайн;

- доступа к библиотеке готовых торговых роботов;

- форума с актуальной информаций о сервисе;

- обратной связи с клиентами.

Для разработки прототипа интернет-сервиса по созданию торговых роботов возможно применение следующих программных средств:

1) Hostinger - сервис, который предоставляет хостинг для создания сайтов с PHP MySQL. Данный сервис имеет бесплатную версию хостинга без баннеров и рекламных записей;

2) 2DOMAINS - сервис по продаже и регистрации доменов сайтов;

3) FileZilla - бесплатный FTP-клиент с удобным интерфейсом и необходимым количеством настроек и параметров;

4) Quik - популярный торговый терминал в России. Обладает понятным интерфейсом, гибкими настройками. Предоставляется всеми крупными брокерами и рекомендуется как лучший вариант для ведения торгов на финансовом рынке;

5) MetaTrader5 - интуитивно-понятный торговый терминал. Обладает собственным языком программирования.

С целью создания сервиса было зарегистрировано уникальное доменное имя -http://fintech-robot.ru. Следующим шагом является приобретение и регистрация хостинг-аккаунта и базы данных MySQL. В базе данных будет храниться вся необходимая информация. Далее необходимо создать сайт. Настройка сайта производится в соответствии с требованиями технического задания.

Торговый робот был создан с помощью торгового терминала MetaTrader5, в котором присутствует собственная среда разработки MetaQuotes Language. В процессе разработки необходимо указать, с каким финансовым инструментом и на каком тайм-фрейме будет работать робот; минимальный размер лота; период усреднения и тип цены (открытия, закрытия, высшая, низшая); условия входа и выхода из сделки. Далее прописывается функция вычисления нейрона. Для этого необходимо найти средневзвешенную сумму входных значений в цикле, умножить ее на добавочный коэффициент и передать значения в функцию активации нейрона.

После разработки программы следует проверить эффективность ее работы. Для этого в терминале MetaTrader5 имеется тестер стратегий, который позволяет запускать написанные программы и проверять корректность работы торгового робота на исторических данных. Для бэктестинга была выбрана валютная пара EUR/USD, период - 1 месяц, таймфрейм - 15 минут (рис. 1).

По кривой доходности видно, что стратегия является прибыльной, при этом не происходит большой просадки по счету. Для сравнения был протестирован торговый робот, основанный на индикаторе Moving Average, но без использования нейронных сетей, на той же валютной паре за аналогичный период (рис. 2).

Рисунок 1. Бэктестинг торгового робота с нейронными сетями

Рисунок 2. Бэктестинг торгового робота без нейронных сетей

Как видим, второй торговый робот не только не смог заработать деньги, но и потерял их. 1. Следовательно, можно утверждать, что использование для создания автоматизированных торговых систем нейронных сетей улучшает качество работы торгового робота. Однако существенным недостатком подобных систем яв- 2. ляется длительное время оптимизации под конкретные рыночные условия. Тем не менее, 3. применение алгоритмических технологий упростит процесс торговли и сделает его более дос- 4. тупным. С помощью данного инструмента можно алгоритмизировать стратегию, не зная языков программирования, математических моделей и формул, а также не затрачивая значи- 5. тельных средств на разработку.

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

Литература

Закарян, И. Практический Интернет-трейдинг: как работать на рынках акций, опционов, фьючерсов и Forex через Интернет. - 3-е изд., доп. / И. Закарян. - М.: SmartBook, 2013.

Инвестиционная компания «Финам». Официальный сайт. URL: http://www.finam.ru/ Леонов В. Лучшие программы для торговли на бирже / В. Леонов. - М.: Эксмо, 2011. Мартин Р.С., Мартин М. Принципы, паттерны и методики гибкой разработки на языке C# / Р.С. Мартин, М. Мартин. - СПб.: Символ-Плюс, 2011.

Невельский А. Компьютеры-консультанты захватывают финансовый рынок / А.Невельский //Ведомости. Наукоемкие технологии. 2016. 20 февраля. [Электронный ресурс] URL: http://www.vedomosti.ru/ finance/articles/2016/02/20/630995-kompyuterov-konsultantov Рихтер Д. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#/ Д. Рихтер. - СПб.: Питер, 2012 Сафин, В. И. Торговая система трейдера: фактор успеха / В.И. Сафин. - СПб.: Питер; Форекс Клуб, 2013.

Стиллмен Э., Грин Д. Изучаем С# / Э. Стил-лмен, Д. Грин. - СПб.: Питер, 2016.

i Надоели баннеры? Вы всегда можете отключить рекламу.