Введение 3
Постановка задачи 5
Обзор литературы 8
Глава 1. Кодировщики 11
1.1. Общая схема решения 11
1.2. GAF 11
1.3. Индикаторы технического анализа 12
1.4. Скользящая средняя 13
1.5. Моментум 14
1.6. Полосы Боллинджера 14
1.7. Формирование датасета 15
Глава 2. Сверточные нейронные сети 17
Глава 3. Эксперименты 20
3.1. Выбор индекса и источника данных 20
3.2. Программная реализация 21
3.3. Параметры эксперимента 22
3.4. Нейронная сеть 23
Выводы 25
Заключение 27
Список литературы 28
Приложения 31
3.1. Приложение A 31
3.2. Приложение B 35
3.3. Приложение C
Рынок ценных бумаг имеет очень существенное влияние на экономику. Кроме того, с развитием информационных технологий, к рынку открывается доступ для простых граждан, располагающих относительном маленьким бюджетом для участия в финансовых операциях по сравнению с крупными инвесторами и корпорациями. Соответственно растет и количество участников в торговле на бирже. Для всех участников рынка операции с ценными бумагами могут стать источником для получения прибыли. Однако для успешной торговли на бирже человеку необходимо правильно определять направление движения котировок, а в идеале и значения изменений цен. Обе эти задачи не являются простыми для решения. В связи с этим возникает необходимость в совершенствовании инструментов для получения прогнозов.
На сегодняшний день широко известны два подхода к прогнозированию поведения финансовых рынков: технический и фундаментальный анализ. Суть первой группы методов заключается в выявлении закономерностей изменения цен в прошлом. Основой для поиска являются графики цен акций за определенный период. Идеей, на которой построен фундаментальный анализ, является использование доступной о компании информации, в том числе различные показатели, такие как прибыль, производство за определенный период и т.п. Однако оба подхода имеют ряд недостатков. Например, результаты прогнозов с помощью методов из области технического анализа могут дать в одной и той же ситуации несколько равновероятных прогнозов. Что касается фундаментального анализа, то одной из проблем является наличие огромного числа факторов, влияющих на изменение тренда, которые часто очень сложно выявить. Из этого, в частности, вытекает проблема зависимости методов фундаментального анализа от конкретного индекса или компании, а значит, что необходимо исследовать каждую из них по отдельности, что тоже добавляет сложности для прогнозирования.
Существует также множество исследований по построению различных математических моделей, позволяющих совершать прогнозы по ценовым рядам. Однако и эти методы имеют ряд недостатков. Например, согласно [1], проблемой методов эконометрики является то, что многие из них основаны на предположении о том, что вероятность распределения цен имеет нормальный закон распределения, что на самом деле в общем случае не является таковым.
В связи с существующими проблемами вытекает необходимость в нахождении новых методов и средств для прогнозирования поведения финансовых рынков. В частности, в последнее время проводятся исследования возможности использования методов машинного обучения для решения задачи прогнозирования. Тем не менее, несмотря на уже имеющиеся результаты исследований, показывающих возможности успешного применения методов из данной области, повышение точности прогнозирования до сих пор остается актуальной задачей.
В данной работе рассматривается один из подходов на основе сведения задачи прогнозирования временных рядов к задаче классификации с использованием GAF(Gramian angular field) и сверточных нейронных сетей. Также делаются попытки улучшения модели с помощью инструментов технического анализа, суть которых заключается в использовании индикаторов технического анализа MA(moving average), Momentum и Bollinger Bands. На их основе формируются изображения с помощью GAF и подаются на вход сверточной нейронной сети, которая решает задачу классификации.
В выпускной квалификационной работе:
1. Выбраны 3 фондовых индекса NASDAQ, Dow Jones и S&P 500 и проведено разделение соответствующих ценовых рядов на тренировочный, валидационный и тестовый наборы;
2. Разработаны и реализованы 3 алгоритма предобработки данных на основе метода GAF и трёх индикаторов технического анализа: MA, Momentum, Bollinger
3. Реализована, и для каждой из четырёх моделей предобработки обучена и протестирована нейронная сеть
4. Проведён анализ результатов вычислительных экспериментов по прогнозированию для трёх фондовых индексов
[1] Е. В. Соколов Модели прогнозирования цен акций с применением функций Уолша и марковских цепей / Е. В. Соколов, Д. В. Бородин // Прикладная информатика, 2010. - 3-12 с.
[2] Швагер Д.Д. Технический анализ. Полный курс. - Альпина Паблишер, 14-ое издание, 2018. - 804 с.
[3] Стивен Б. А. Технический анализ от А до Я. - Омега-Л, 2010. - 376 с.
[4] Уильям Ф. Ш., Гордон Дж. А., Джеффри В. Б. Инвестиции. Университетский учебник / Уильям Ф. Ш., Гордон Дж. А., Джеффри В. Б. - ИНФРА-М 2018. - 1028 с.
[5] Бенджамин Г., Дэвид Д. Анализ ценных бумаг. / Бенджамин Г., Дэвид Д. - Вильям, 2017. - 880 с.
[6] Madge S. Predicting Stock Price Direction using Support Vector Machines // Independent Work Report Spring, 2015. - 14 с.
[7] Grogoryan H. A Stock Market Prediction Method Based on Support Vector Machines (SVM) and Independent Component Analysis (ICA) // Database Systems Journal vol. VII, no. 1, Bucharest University of Economic Studies, Bucharest, Romania, 2016. - 12-21 с.
[8] Лысов К. А. Прогнозирование ценовых колебаний и долгосрочных трендов на финансовых рынках магистерская диссертация. - СПбГУ, 2018. - 53 с.
[9] Hedayati A. M. Stock market index prediction using artificial neural network / Hedayati A. M. Hedayati M. M., Morteza E. // Journal of Economics, Finance and Administrative Science, 2016. - 5 с.
[10] Zhiguang W. Encoding Time Series as Images for Visual Inspection and Classification Using Tiled Convolutional Neural Networks / Zhiguang W., Oates T., Computer Science and Electrical Engineering Department University of Maryland Baltimore County, Trajectory Based Behavior Analytics // Association for the Advancement of Artificial Intelligence, 2015. - 40-46 с.
[11] Jou-Fan C. Financial Time-series Data Analysis using Deep Convolutional Neural Network. / Jou-Fan C., Wei-Lun C., Chun-Ping H. // IEE Computer Society, 7th International Conference on Cloud Computing and Big Data, 2016. - 87-92 с.
[12] Кузнецов М. Д. Применение сверточных нейронных сетей для анализа временных рядов. - М: Московский государственный университет имени М. В., 2017. - 26 с.
[13] Жерон О. Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow: концепции, инструменты и техники для создания интеллектуальных систем. - пер. с англ. - СПб ООО “Альфа-книга”. - 688 с.
[14] Джулли А., Пал С. Библиотека Keras - инструмент глубокого обучения. Реализация нейронных сетей с помощью библиотеки Theano и TensorFlow / Джулли А., Пал С. - пер. с англ.: ДМК Пресс, 2018. - 294 с.
[15] Вакарин Д. Н. Прогнозирование цен на фондовом рынке с помощью методов машинного обучения. - ТГУ, 2019. - 58 с.
[16] Еремчук Н. А. Анализ прогнозирования ценовой динамики фондового рынка. - СПбГУ, 2016. - 114 с.
[17] Хабр [Электронный ресурс] URL: https://habr.com/ru/post/419239/(дата обращения: 03.04.2021)
[18] Википедия [Электронный ресурс] URL: https://ru.wikipedia.org/wiki/Softmax(дата обращения: 28.05.2021)
[19] Medium [Электронный ресурс] URL: https://congyuzhou.medium.com/lenet-5-CBOHMH-pyKaMH-b60ae3727cd3(дата обращения: 11.04.2021)
[20] Medium [Электронный ресурс] URL: https://medium.com/@nishantnikhil/adam-optimizer-notes-ddac4fd7218 (дата обращения: 29.05.2021)