Введение 3
1. Применение нейросетевых технологий в исследовании финансовых
рынков 6
1.1. Финансовый рынок 6
1.2. Криптовалюты 7
1.3. Прогнозирование и методы прогнозирования 11
1.4. Нейронные сети 15
2. Библиотека TensorFlow 19
2.1. Граф вычислений и сессии 19
2.2. Операторы TensorFlow, применённые в данной работе 20
2.3. Методы оптимизации сети, реализованные в TensorFlow 22
3. Построение трёхслойного персептрона для прогнозирования тренда 29
3.1. Алгоритмы подготовки входных данных и их реализация 29
3.2. Конфигурация сети 35
3.3. Результаты оптимизации сети 38
Заключение 40
Список использованных источников 42
В последние годы наблюдается повышенное внимание к искусственным нейронным сетям. Возможными сферами внедрения нейросетей являются те, где человеческие способности не столь эффективны, а традиционные вычисления трудоемки или физически неадекватны (т.е. не отражают или плохо отражают настоящие физические процессы и объекты). Действительно, значимость использования нейросетей существенно возрастает в потребности решений плохо формализованных задач [4]. Они получили огромный успех благодаря таким причинам [39], как:
• Устойчивость к частым переменам в среде [40]. Преимущества нейронных сетей заметны, когда многократно изменяются «правила игры»: среда, в которой находится прогнозируемый объект, а также тип и степень воздействия некоторых факторов. Поэтому, для решений таких проблем, как прогнозирование динамики валютного рынка, характеризующегося влиянием большого количества часто меняющихся факторов, нейронные сети подходят более всего.
• Эффективность при работе с большим количеством противоречивых
данных. Там, где имеется большой объем исследуемых данных, в которых скрыты закономерности, нейронные сети будут предпочтительнее. В таком случае автоматически учитываются также разные нелинейные закономерности, зависимости между влияющими факторами. Нейросети также справляются с проклятием размерности, т.е. могут выявлять зависимости при большом количестве переменных.
• Эффективность при решении неформализованных или плохо формализованных задач [34]. Из общеизвестных достоинств систем, основанных на нейронных сетях важно отметить то, что здесь отсутствует необходимость в строгой математической спецификации модели, это наиболее значимо при прогнозировании плохо формализуемых задач. Как известно, что большая часть экономических, бизнес и других похожих процессов плохо формализуется [6].
Целью данной работы является ознакомление с нейронными сетями как одним из направлений развития искусственного интеллекта, используемых в экономике. Сегодня использование нейронных сетей для задач деятельности на бирже особенно актуально [16], так как традиционные, ставшие уже классическими, методы были спроектированы для моделирования относительно постоянного, эволюционирующего низкими темпами мира. Известно, что большая часть всех сделок на экономических рынках - спекулятивные [44], т.е. производящиеся только для получения прибыли по схеме "купить подешевле - продать подороже". Все они основываются на прогнозах динамики цен валют участниками торгов. Для эффективного изучения рынка требуются современные, соответствующие нынешним условиям экономико-математические способы. Сегодня многие ученые работают в области разработки методов прогнозирования финансовых рынков. Таким образом, исследования в сфере валютных рынков - актуальное и перспективное направление деятельности и будет оставаться таковым в течение длительного периода времени.
Сегодня следует отметить популярность криптовалют на мировых финансовых рынках [17]. Криптовалюта - это инновационная разработка, она появилась благодаря развитию глобальных технологий высокоскоростной передачи информации, когда сеть Интернет разрослась до огромных масштабов, а децентрализованные сети получили большую популярность. А также, интерес к криптовалюте стремительно растет, в связи с востребованностью в мире «справедливых денег», полной анонимностью и защитой от подделок. Поэтому прогнозирование рынка криптовалют актуально.
Для достижения этой цели необходимо решить следующие задачи: изучить структуру нейронных сетей, правила и принципы их функционирования; возможность их использования при решении проблем предсказания тренда финансовых временных рядов.
Первая глава дает представление о финансовом рынке, в том числе рынке криптовалют, методах предсказания, о структуре нейронной сети, принципах ее работы.
Во второй главе рассмотрена библиотека TensorFlow, которая предназначена для построения и обучения нейросетей, а также описаны используемые методы оптимизации сети.
Третья глава содержит описание процесса подготовки данных и построения нейронной сети.
В ходе выполнения данной выпускной квалификационной работы была достигнута цель исследования, а именно изучено применение нейронных сетей к задаче прогнозирования. Была спроектирована искусственная нейронная сеть для предсказания тренда криптовалюты - эфириум. Также были успешно выполнены поставленные задачи: ознакомление со структурой нейронных сетей, правилами и принципами их функционирования. Также были изучены некоторые методы анализа и подготовки данных. В дополнение к этому был изучен рынок криптовалют, а именно технологии блокчейн, майнинг валют и другое.
В результате удалось получить точность прогнозов 60%. Система хоть и не решает задачу со 100%-ной точностью, может принести значительную прибыль в финансовой сфере. Учитывая, что рынок криптовалют очень динамично развивается, полученный результат является неплохим. На рисунке 4.1. представлен график с изменениями цены Эфириума с 2016 по 2018 года.
В процессе было разработано два программных продукта. Первый предназначен для подготовки данных для обучения и тестирования нейронной сети, реализация которой выполнена на языке программирования C# в Visual Studio 2015. Во втором программном продукте реализация многослойного перцептрона. Эта программа написана на Python 3.5 с применением библиотеки TensorFlow от Google для машинного обучения. В ходе работы были изучены принципы работы с TensorFlow. Эта библиотека значительно упрощает разработку нейросети, так как в ней уже есть реализации основных методов обучения, функций активации, функций потерь, методов оптимизации и многое другое.