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

Автор: Ананченко И.В., Чагина П.А.

Журнал: Экономика и бизнес: теория и практика @economyandbusiness

Статья в выпуске: 10-1 (80), 2021 года.

Бесплатный доступ

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

Рынок форекс, торговые роботы, машинное обучение, нейронная сеть, нейронная сеть fractal, нейрон

Короткий адрес: https://sciup.org/170183108

IDR: 170183108   |   DOI: 10.24412/2411-0450-2021-10-1-13-16

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

Популярность роботов для торговли на финансовом рынке стремительно растет. По прогнозу Deloitte к 2025 году машины будут управлять активами на сумму более $ 16 трлн. [1]. На современном этапе Форекс, самый популярный и крупнейший по объему внебиржевой межбанковский валютный рынок в России.

Автоматическая торговая система (АТС) - полный синоним понятия "торговый робот", предназначенный для полной или частичной автоматизации торговли на финансовом рынке [2]. Основной целью торгового робота (ТР) является выполнение постоянно повторяющихся процессов с максимально возможной скоростью реа- гирования на любую рыночную ситуацию. В настоящее время предпринимаются попытки создания оптимальных автоматизированных торговых систем без вмешательства человека [3].

Важнейшая особенность нейронных сетей - это способность к обучению и самообучению. Нейронная сеть (НС) программируется так, чтобы решать три типа задач: сортировать, предсказывать и распознавать объекты и события [4].

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

Рис. 1. Схема нейрона

Для активации работы нейронной сети, ее необходимо обучить. Методы машинного обучения НС позволяют уйти от классических методов алгоритмизации и сложных нелинейных задач. Огромная база входных данных обрабатывается как обучающая, устанавливаются закономерности в сложных и многопараметрических задачах (которые человеческий мозг не может решить), тем самым находя более точные ответы. В результате получается правильный прогноз [5, 6].

Функционирование нейрона заключается в следующем: в текущий момент времени сигналы от других нейронов и/или из внешнего мира передаются нейрону через входные синапсы. Сигналы от всех синапсов, ведущих к этому нейрону, принимаются сумматором. Сумматор суммирует все поступающие сигналы и посылает одно число на собственно нейрон (преобразователь) - полученную сумму. Нейрон преобразует его в соответствии со своей функцией, в результате получается другое число, и посылает его по "аксону" ко всем другим нейронам. Функционируя нейронная сеть генерирует выходной сигнал Y, реализующий определенную функцию Y = G (X) [5, 6].

В многослойных НС, нейроны объединяются в слои, что наглядно представлено на рисунке 3. Слой - совокупность нейронов с едиными входными сигналами. Число нейронов в слое может быть любым и не зависит от их числа в других слоях. Всего сеть состоит из N слоев, пронумерованных слева направо [4, 5].

Скрытый слой 2

Скрытый слой 1            Скрытый слой 3

Рис. 3. Многослойная нейронная сеть

Практическое применение находят нейросети разработанные на основе персептрона и сверточной нейронной сети [6].

Сверточная нейронная сеть (CNN) -алгоритм, способный принимать входное изображение, присваивать важность (усваиваемые веса и смещения) различным об- ластям/объектам в изображении и отличать одно от другого. CNN состоит из сверточного (convolutional), подвыборного (subsampling) слоев и слоя «обычной» нейронной сети - персептрона как представлено на рисунке 4.

Рис. 4. Модель сверточной нейронной сети

Сверточный слой распознает данные и выполняет поиск элементов шаблона. Результатом свертки является массив, содержащий признаки, указывающие на сходство между входными данными и элементом шаблона. Шаблоны выбираются в течение всего обучения нейронной сети. В слое подвыборки шум фильтруется и массив данных уплотняется, выбирается окно данных и сохраняется только максимальное или среднее значение, включенное в него. Операция выполняется для всех массивов объекта. Для уменьшения объема данных вдвое, значение окна равно двум. Чередуясь между собой, эти слои формируют входной вектор признаков для многослойного персептрона. Целью слоя является классификация, моделирование сложной нелинейной функции, оптимизация которой повышает качество распознавания. Обучающие данные подаются на входной уровень сети (прямой путь алгоритма обратного распространения). На этом этапе каждый узел скрытого слоя получает значения от всех узлов входного слоя, которые умножаются на весовой коэффициент и суммируются.

Далее в разработке нейронной сети является выбор функции активации нейронов, что определяет функциональные возможности нейронной сети и методы ее обучения [6].

В нейронной сети невозможно выпол- лельно на каждом слое до тех пор, пока не будет завершен процесс перечисления нейронов в одном слое. В то же время можно выполнять параллельные вычисле- ния на одном слое, так как результат пересчета отдельного нейрона в слое не зависит от результатов других нейронов [4,5].

Нами была рассмотрена существующая нейронная сеть Fractal – это помощник с нейронной сетью регрессии, реализованный на языке MQL5, в качестве создания прототипа нейронной сети. Для оценки работы сети Fractal использовали показатели предсказания среднеквадратичной ошибки, процент правильно предсказанных и пропущенных фракталов. Тестирование нейронной сети проводилось на валютной паре EUR/USD с интервалом в 1 минуту. В качестве входных данных нейросеть использовала данные за 20 свечей. Нейросеть обучалась за годичный период. Анализ результатов работы нейронной сети позволил выявить следующие значения показателей: среднеквадратичная ошибка 0.82, процент попадания 10,75%, пропущенные фракталы 0,26%.

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

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

  • Z.H. Zhou, Rule Extraction: Using Neural Networks or For Neural Networks? //Journal of Computer Science & Technology, 2004. - vol. 19, №2. pp. 249-253.
  • Поповская Н.О. Торговый робот / Н.О. Поповская, А.С. Власкина, М.А. Норкина / Проблемы современного мира глазами молодежи: сборник науч. трудов. - Москва: Изд-во Российский университет дружбы народов, 2015. - С. 45 - 51.
  • Ананченко И.В., Мусаев А.А. Торговые роботы и управление в хаотических средах: обзор и критический анализ /Труды СПИИРАН, 2014. - № 3 (34). - С. 178-203.
  • Ростовцев В.С. Искусственные нейронные сети: учебник - Киров: Изд-во ВятГУ, 2014. - 208 с.
  • Использование многослойного персентрона для анализа вероятности банкротства компании // Экономика и предпринимательство. - 2013. - №2-2 (41-2). - С. 747-750.
Статья научная