Результат обзора актуальных источников



УДК. 004.896

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

Ананченко Игорь Викторович

канд. техн. наук, доцент,

ФГБОУ ВО «Санкт-Петербургский государственный

технологический институт (технический университет)»,

Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет ИТМО»

Чагина Полина Александровна

магистрант,

Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет ИТМО»

Аннотация: нейросети доказали свою эффективность при решении сложных задач. Один из возможных вариантов - использование в автоматических торговых системах (в торговых роботах). Торговые роботы, использующие нейронные сети, называются нейросетевыми торговыми роботами, и они используют методы самообучения. Задача может быть решена с помощью различных алгоритмов и методов: обучение с учителем, обучение без учителя, обучение с подкреплением и др. Был рассмотрен процесс получения нейросетевой структуры Fractal: помощник с нейронной сетью регрессии, реализованный на языке MQL5. Для оценки работы данной нейронной сети использовались показатели предсказания среднеквадратичной ошибки, а также процент правильно предсказанных и пропущенных фракталов. Тестирование нейронной сети проводилось на валютной паре EURUSD с интервалом в 1 минуту, в качестве входных данных нейросеть использует данные за 20 свечей. Нейросеть обучалась за годичный период.

Ключевые слова: нейросеть, торговый робот, Форекс

USING THE FRACTAL NEURAL NETWORK STRUCTURE FOR TRAINING IN TRADING ROBOT ALGORITHMS

Ananchenko Igor Viktorovich,

Chagina Polina Aleksandrovna

Abstract: Neural networks have proven their effectiveness in solving complex problems. One of the possible options is to use it in automated trading systems (in trading robots). Trading robots that use neural networks are called neural network trading robots, and they use self-learning methods. The problem can be solved using various algorithms and methods: training with a teacher, training without a teacher, training with reinforcement, etc. The process of obtaining the Fractal neural network structure: an assistant with a regression neural network, implemented in the MQL5 language, was considered. To evaluate the performance of this neural network, we used indicators for predicting the root-mean-square error, as well as the percentage of correctly predicted and missed fractals. The neural network was tested on the EURUSD currency pair with an interval of 1 minute, and the neural network uses data for 20 candlesticks as input data. The neural network was trained over a one-year period.

Keywords: neural network, trading robot, Forex

 

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

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

Проанализировав представленную информацию на платформе eLIBRARY.RU (https://www.elibrary.ru/) можно заметить, что треть источников, представленных в виде статей, связанных с нейронными сетями, приходится на последние пять лет, что свидетельствует о повышенном интересе к данной теме и ее актуальности (Таб. 1). Нейронные сети (НС) способны решать объемные, сложные интеллектуальные задачи, и именно поэтому НС отличается от алгоритма, описывающего определенную последовательность действий. Компьютерная нейронная сеть – это сущность, состоящая из массива искусственных нейронов с организованной связью между ними (Рис.1).

Для того чтобы активировать работу нейронной сети, ее необходимо обучить (Рис. 2). Задача может быть решена с помощью различных алгоритмов и методов [4-7]:

· обучение с учителем

· обучение без учителя

· обучение с подкреплением

Таблица 1

Результат обзора актуальных источников

Ключевые слова Общее количество публикаций Количество публикаций за 2015-2020 года
нейронные сети, торговые роботы, валютные рынки 454 159
торговые роботы, валютный рынок, трейдинг 183 138
машинное обучение, торговые роботы, Форекс 83 12
торговые роботы, торговый бот, машинное обучение, Форекс 5 4
торговые роботы, нейронные сети, машинное обучение, Форекс 10 6
торговые роботы, трейдинг, Форекс, валютная биржа 22 16

 

Рис. 1.  Модель нейронной сети

Рис. 2.  Иллюстрация процесса обучения нейросети

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

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

В ходе функционирования нейронная сеть формирует выходной сигнал Y, реализуя некоторую функцию Y = G(X). Если архитектура сети задана, то вид функции G определяется значениями синаптических весов и смещенной сети.

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

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

Основными активационными функциями являются:

•Пороговая активационная функция (функция Хевисайда). Не используется для алгоритма обратного распространения ошибки.

𝑓(𝑥) = {1, 𝑥 ≥ −𝜔0𝑥0

        0, 𝑒𝑙𝑠𝑒

• Сигмоидальная активационная функция.

𝜎(𝑥) = ___1___

        1+e−𝑥                                                               

• Гиперболический тангенс

tanh(A𝑥) = 𝑒 A 𝑥 − 𝑒 –A 𝑥

                         𝑒A𝑥+ 𝑒−A                                                

Объединение блока таких нейронов формирует нейронную сеть. Нейрон — это простой процесс, способный преобразовать входные сигналы в выходные (Рис. 3). Сигналы силы x1, x2, ..., xn, поступая на синапсы, преобразуются линейным образом, т.е. к телу нейрона поступают сигналы силы w1*x1, w2*x2, ..., wn*xn (здесь wi — веса соответствующих синапсов).

Рис. 3 Математическая модель нейрона

 

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

Рис. 4. Простейшая нейросеть из трех нейронов

 

Значение Y может быть любым в диапазоне от -бесконечности до +бесконечности [7].

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

Активационными функциями могут являться некоторые правила, как:

1. Linear — линейная функция (Linear function )  A = cx (Рис. 5).

Рис . 5 Линейная функция

2. ReLU — «rectified linear unit» (функция активации выпрямленного линейного блока (ReLU)) A(x) = max(0,x) (Рис. 6)

Рис 6.  Функция активации выпрямленного линейного блока ( ReLU )

3. Sigmoid — сигмоидальная функция (Рис. 7)

Рис . 7 Сигмоидальная функция

4. Sigmoid_Antisimmetric — антисимметричная сигмоидальная   функция

5. Softmax

6. Гиперболический тангенс (Рис.8).


Дата добавления: 2021-02-10; просмотров: 101; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!