Тема: Разработка торгового приложения, основанного на алгоритме взаимодействия нейронных сетей и скрытых Марковских моделей
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1 Алгоритмическая торговля на международном валютном рынке 12
1.1 Рынок Forex и основные тенденции его развития 12
1.2 Принятие решений на валютном рынке 14
1.3 Сущность фундаментального и технического анализа 17
1.4 Алгоритмическая торговля 19
1.5 Распространение алгоритмической торговли на крупнейших биржах .. 19
1.6 Значение оптимизации торговой модели робота 20
1.7 Виды оптимизаций настраиваемых параметров 21
1.8 Проблемы оптимизации торговых моделей 24
1.9 Вывод 29
2 Искусственные нейронные сети 30
2.1 Введение в теорию искусственных нейронных сетей 30
2.2 История развития искусственных нейронных сетей 30
2.3 Структура искусственного нейрона 31
2.4 Задачи, решаемые искусственными нейронными сетями 34
2.5 Основные виды нейронных сетей 36
2.5.1 Многослойные полносвязные сети прямого распространения 36
2.5.2 Сеть Джордана 37
2.5.3 Сеть Элмана 37
2.5.4 Сеть радиальных базисных функций (RBF) 38
2.5.5 Нейронная сеть Хопфилда 39
2.6 Методы обучения 40
2.7 Основные правила обучения нейронных сетей 42
2.7.1 Коррекция ошибки 42
2.7.2 Правило Больцмана 42
2.7.3 Правило Хебба 43
2.7.4 Метод соревнования 43
2.8 Недостатки 43
2.9 Глубокое обучение 44
2.10 Автоассоциаторы 45
2.10.1 Автоэнкодер 45
2.10.2 Ограниченная машина Больцмана (Restricted Boltzmann Machine) 47
2.11 Накапливающие автоассоциативные сети 48
2.12 Обучение глубоких сетей 49
2.13 Вывод 50
3 Скрытые Марковские процессы 51
3.1 Процессы окружающего мира 51
3.2 Понятие случайного процесса 52
3.3 Марковские процессы 54
3.3.1 Теория Марковских процессов 54
3.3.2 История Марковских процессов 55
3.3.3 Переход к скрытым Марковским моделям 56
3.4 Скрытые Марковские процессы 56
3.4.1 История скрытых Марковских процессов 57
3.4.2 Теория скрытых Марковских процессов 57
3.4.3 Основные задачи СММ 59
3.4.4 Решение первой задачи. Алгоритм «прямого-обратного» хода 60
3.4.5 Решение второй задачи. Алгоритм Витерби 63
3.4.6 Решение третьей задачи. Алгоритм Баума-Велша 68
3.5 Вывод 71
4 Программирование торговых операций 73
4.1 Информационно-торговая платформа - MetaTrader 73
4.2 Алгоритмический трейдинг 74
4.3 Язык программирования MQL4 74
4.3.1 Виды программ 75
4.3.2 Структура программы 76
4.3.3 Информационная среда клиентского терминала МТ 77
4.3.4 Последовательность исполнения кода в программе 77
4.4 Общий порядок проведения торговых операций 79
4.5 Реализация торгового эксперта(торгового робота) 81
4.5.1 Структура эксперта 81
4.5.2 Торговая стратегия 83
4.5.3 Торговые критерии 84
4.5.4 Количество ордеров 85
4.5.5 Реализация 87
4.6 Вывод 93
5 Оценка и выбор переменных для моделей машинного обучения 95
5.1 Трансформация, препроцессинг данных 95
5.1.1 Нормализация (масштабирование) и стандартизация 96
5.2 Оценка и выбор предикторов 96
5.2.1 Фильтрация 98
5.2.2 Входные данные(предикторы) 98
5.2.3 Выходные данные 99
5.3 Оценка важности переменных 101
5.4 Работа с пакетом «Random Uniform Forests» 103
5.5 Вывод 112
6 Глубокая нейронная сеть на основе Stacked RBM 114
6.1 Ограниченная машина Больцмана и анализ ее работы 114
6.1.1 Модель RBM 115
6.1.2 Обучение 117
6.1.3 Алгоритм Contrastive Divergence 118
6.2 Структурная схема глубокой нейронной сети, инициализируемой
Stacked RBM 119
6.3 Подготовка и выбор данных 120
6.4 Выбор наиболее важных переменных 121
6.5 Построение модели 122
6.5.1 Краткое описание пакета « darch» 122
6.5.2 Формирование обучающей и тестовой выборок 122
6.6 Обучение модели 123
6.6.1 Претренинг 123
6.6.2 Тонкое обучение 124
6.7 Тестирование модели 124
6.8 Улучшение результата предсказания 126
6.8.1 Метрики 127
6.9 Описание работы приложения 131
6.9.1 Поток MQL 131
6.9.2 Поток Rterm 133
6.9.3 Самоконтроль и самообучение 134
6.10 Вывод 134
Заключение 136
Список сокращений и условных обозначений 141
Список терминов 145
Список литературы 155
Приложение А Исходный код функций трендового приложения 158
Приложение Б Формулы нормализации 162
Приложение В Функции обработки входных данных 165
Приложение Г Построение модели глубокой нейронной сети 178
📖 Введение
Качественное прогнозирование финансовых рынков вызывает всё более острый интерес со стороны мирового сообщества. Это обусловлено рядом факторов, среди которых наиболее значимыми являются — быстрое развитие высоких технологий, а также появление новых методов и инструментов анализа данных. Однако технический анализ, являющийся привычным для большинства участников рынка, является не эффективным. В силу того, что экономика часто бывает иррациональна, так как движима иррациональными мотивациями людей — прогнозы, основанные на экспоненциальных скользящих средних, осцилляторах и прочих индикаторах не дают ощутимый результат. Таким образом, всё чаще возникает необходимость в увеличении точности прогнозирования изменений, происходящих на финансовых рынках.
Стремление достижения большей эффективности рынка положило начало повсеместному внедрению алгоритмов в торговлю финансовыми инструментами. Цены практически мгновенно отражают ценную информацию, а рост ликвидности обусловлен введением электронных систем исполнения приказов, что облегчает задачи управления финансовыми рисками. Однако, основной проблемой подобных систем становится, проявляющееся со временем, ухудшение результатов торговых операций, которое приводит к просадке счёта трейдера. Решением данной проблемы служат первоначальная оптимизация, а затем и последующая переоптимизация настраиваемых параметров торговой модели системы. При этом, переоптимизация влечёт за собой приостановление торговой деятельности и минимизацию доходов трейдера на период восстановления работоспособности торгового приложения, который может длиться продолжительное время.
Валютный рынок имеет огромное значение для мировой экономики. Валютная пара евро-доллар сегодня один из самых торгуемых инструментов на международном финансовом рынке, а его биржевая спецификация - фьючерс на курс - лидер в рейтинге популярности на рынке производных инструментов FORTS Московской Биржи, что делает его интересным объектом для исследования.
В последние годы, финансовые аналитики стали проявлять всё больший интерес к искусственным нейронным сетям. Искусственные нейронные сети — это математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей - сетей нервных клеток живого организма. Данные модели успешно применяются в различных областях — финансах, бизнесе, геологии, физике. Задачи прогнозирования, классификации и управления - это основные направления практического использования нейронных сетей. Возможность обучения и нелинейного моделирования - являются основными характеристиками нейронных методов, делающих их незаменимыми при решении сложнейших многомерных задач.
В силу того, что все экономические процессы торговли, производства, снабжения, эксплуатации и т.д. протекают во времени и пространстве и носят отчасти случайный характер, естественно в качестве их математических моделей рассматривать не только нейронные сети, но и случайные функции (процессы), среди которых особое практическое значение имеют скрытые Марковские модели, называемые так по имени выдающегося академика Андрея Андреевича Маркова (1856—1922).
Скрытая марковская модель(СММ) — модель, имитирующая работу реального процесса, позволяющая определить его неизвестные параметры на основе наблюдаемых. Основное применение скрытые Марковские модели получили в области распознавания речи, письма, движений и биоинформатике. Кроме того, СММ применяются в криптоанализе, машинном переводе и финансах.
Цель работы - разработка самооптимизирующегося торгового робота (приложения), основанного на алгоритме моделирования финансовых временных рядов посредством взаимодействия глубоких нейронных сетей и скрытых Марковских моделей, для автоматической торговли на фондовой бирже через торговый терминал MetaTrader 4.
Под самооптимизацией понимается перебор самим приложением всех возможных комбинаций настроек алгоритма, заложенного в его основу, без прерывания процесса торговли с целью поиска наилучших вариантов, при которых приложение показывает положительные результаты на истории торгов. Результатом самооптимизации является выбор того набора значений, который наилучшим образом соответствует целям трейдера и максимизирует его прибыль.
В основу разработки торгового робота будет заложен алгоритм взаимодействия нейронных сетей и скрытых Марковских моделей. Идея заключается в следующем: глубокая нейронная сеть (Deep neural network, DN), инициализируемая накапливающей ограниченной машиной Больцмана (Stacked Restricted Boltzmann Machine, SRBM - вид стохастической рекуррентной нейронной сети), будет обучаться на значениях 17 переменных, взятых из 11 индикаторов движения цен на валютном рынке.
Обучение будет проводится в два этапа. Первый этап — претренинг. На нем каждая RBM будет последовательно обучаться без учителя на входном наборе. После этого веса скрытых слоев RBM переносятся в соответствующие скрытые слои нейросети. На этом этапе RBM можно интерпретировать как скрытую Марковскую модель. Подобно Марковской модели в ограниченной машине Больцмана есть ряд наблюдаемых состояний (видимые нейроны), и ряд скрытых состояний (скрытые нейроны). На основе наблюдаемых состояний RBM делает вероятностные выводы относительно скрытых состояний. Обученная на имеющихся данных модель позволяет делать выводы относительно видимых состояний, зная скрытые (по теореме Байеса), и тем самым, воспроизводить данные в соответствии с их эмпирическим законом распределения, полученном в результате обучения модели. Второй этап — тонкая настройка, на нем нейросеть обучается с учителем. После обучения, на основе дискретной последовательности идеальных сигналов тренировочной выборки, полученных из целевого технического индикатора, фильтрующего незначительные колебания цены, будут определены параметры скрытой Марковской модели. Затем, предсказанные нейронной сетью сигналы, будут сглажены с помощью СММ. Приложив к предсказанной последовательности модель, полученную на тренировочной, можно привести ее к более вероятным переходам. Основными используемыми языками программирования являются R и MQL4.
Объектом исследования является процесс реализации алгоритма моделирования финансовых временных рядов, основанного на взаимодействии нейронных сетей и скрытых Марковских моделей.
Предметом исследования является алгоритм моделирования финансовых временных рядов, основанный на взаимодействии нейронных сетей и скрытых Марковских моделей.
В соответствии с целью в работе ставятся и решаются следующие задачи:
— анализ существующих алгоритмов моделирования и прогнозирования финансовых временных рядов;
— исследование особенностей осуществления операций на финансовом рынке на примере валютного рынка FOREX, определение основных понятий, ознакомление с основами технического и фундаментального анализа;
— анализ теории нейронных сетей;
— анализ особенностей нейронной сети, инициируемой Stacked RBM (накапливающая сеть Больцмана);
— анализ и применение алгоритма обучения Contrastive Divergence;
— анализ теории скрытых Марковских моделей и случайных процессов с дискретным временем;
— раскрытие основных зависимостей между котировками валют и другими показателями динамики финансового актива;
— выяснение взаимосвязи между эффективностью прогнозирования модели и ее различными параметрами;
— прогнозирование валютных котировок с использованием предпрогнозной информации и диагностика направления развития тренда;
— реализация рабочего экземпляра торгового робота для мультирыночной платформы MetaTrader 4.
Данная работа содержит введение, шесть глав, заключение, список сокращений и условных обозначений, список терминов и список литературы. Во введении даётся краткий обзор исследования, рассматриваются предмет и объект работы, ставятся цели и задачи. Также приводится общая структура магистерской диссертации. Первая глава содержит общие сведения о международном валютном рынке FOREX, описывается история его возникновения и основные тенденции развития. Далее раскрывается сущность фундаментального и технического анализа, приводится понятие торговой системы ее практическое значение, обсуждаются общие проблемы прогнозирования валютного рынка. Вторая глава посвящена нейронным сетям. Рассматриваются сферы их применения, преимущества и недостатки. Даётся описание архитектуры связей, основных видов нейронных сетей и методов обучения. Третья глава содержит информацию о Марковских процессах и их применении. Так же рассматриваются структуры скрытых Марковских процессов, аспекты их построения и базовые алгоритмы. В четвёртой главе разбирается практическая сторона программирования торговых операций. Материал пятой главы посвящен особенностям выбора, предподготовки и оценки входных переменных для использования в моделях машинного обучения. Демонстрируются способы визуализации входных данных и методы определения их информативности. В шестой главе строится модель глубокой сети на основе ограниченной машины Больцмана, проводится её обучение на наборах данных, формируется оценка качества модели, показывается возможность использования скрытых Марковских моделей для улучшения результатов предсказания нейронной сети и реализуется рабочий экземпляр торгового приложения. В заключении подводятся итоги исследования, оцениваются перспективы, даются выводы и рекомендации.
✅ Заключение
деятельности трейдеров. Использование торговых приложений облегчает задачи получения прибыли и управления финансовыми рисками. Однако, основной проблемой подобных систем становится, проявляющееся со временем, ухудшение результатов торговых операций, которое приводит к просадке счёта трейдера. Решением данной проблемы служат первоначальная оптимизация, а затем и последующая переоптимизация настраиваемых параметров торговой модели системы. При этом, переоптимизация влечёт за собой приостановление торговой деятельности и минимизацию доходов трейдера на период восстановления работоспособности торгового приложения, который может длиться продолжительное время.
Цель данной работы - разработка самооптимизирующегося торгового робота (приложения), основанного на алгоритме моделирования финансовых временных рядов посредством взаимодействия глубоких нейронных сетей и скрытых Марковских моделей, для автоматической торговли на фондовой бирже через торговый терминал MetaTrader 4.
Перед процессом реализации торгового приложения был проведён анализ существующих алгоритмов моделирования и прогнозирования финансовых временных рядов, исследованы особенности осуществления операций на
Процесс самооптимизации приложения, под которым понимается перебор самим приложением всех возможных комбинаций настроек алгоритма, заложенного в его основу, без прерывания процесса торговли с целью поиска наилучших вариантов, при которых приложение показывает положительные результаты на истории торгов , достигается за счёт многоуровневой оценки предикторов по глобальной, локальной и частичной важности. Данная оценка формируется на основе раскрытия основных зависимостей между котировками валют и другими показателями динамики финансового актива. Подобная оценка позволяет отобрать наиболее важные предикторы и сформировать оптимальные наборы, значительно понизив размерность данных и улучшив качество предсказания.
При решении задачи прогнозирования валютных котировок с использованием предпрогнозной информации и диагностики направления развития тренда был реализован алгоритм взаимодействия нейронных сетей и скрытых Марковских моделей.
Искусственные нейронные сети - это математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования сетей нервных клеток живого организма. Выбор нейронных сетей в качестве важной составляющей прогностического алгоритма обусловлен их широким применением в различных областях - финансах, бизнесе, геологии, физике. Проведённый анализ теории нейронных сетей позволяет утверждать, что задачи прогнозирования, классификации и управления - это основные направления практического использования нейронных сетей. Применение модели прогнозирования, основанной на нейронных сетях - это один из способов анализа валютного рынка, содержащий множество блоков для обработки поступающей информации, которые связаны между собой взвешенными вероятностями.
Ощутимым преимуществом нейронных сетей является возможность их обучения через сопоставление собственных прогнозов, основанных на информации, поступающей регулярно. Также нейронные сети предполагают возможность комбинирования технических и фундаментальных данных с целью их дальнейшего применения.
Вторая важная часть прогностического алгоритма - скрытые Марковские модели. Скрытая марковская модель(СММ) — модель, имитирующая работу реального процесса, позволяющая определить его неизвестные параметры на основе наблюдаемых. Анализ теории СММ и случайных процессов с дискретным временем позволяет сделать вывод о том, что все экономические процессы торговли, производства, снабжения, эксплуатации и т.д. протекают во времени и пространстве и носят отчасти случайный характер. Поэтому естественно в качестве их математических моделей рассматривать не только нейронные сети, но и случайные функции (процессы), среди которых особое практическое значение имеют скрытые Марковские модели, называемые так по имени выдающегося академика Андрея Андреевича Маркова (1856—1922). Основное применение скрытые Марковские модели получили в области распознавания речи, письма, движений и биоинформатике. Кроме того, СММ применяются в криптоанализе, машинном переводе, экономике и финансах.
Идея алгоритма взаимодействия нейронных сетей и скрытых Марковских моделей заключается в следующем: глубокая нейронная сеть ( Deep neural network, DN), инициализируемая накапливающей ограниченной машиной Больцмана (Stacked Restricted Boltzmann Machine, SRBM - вид стохастической рекуррентной нейронной сети), обучается на значениях 17 переменных, взятых из 11 индикаторов движения цен на валютном рынке. Обучение проводится в два этапа. Первый этап — претренинг. На нем каждая RBM последовательно обучается без учителя на входном наборе. После этого веса скрытых слоев RBM переносятся в соответствующие скрытые слои
нейросети. На этом этапе RBM можно интерпретировать как скрытую Марковскую модель. Подобно Марковской модели в ограниченной машине Больцмана есть ряд наблюдаемых состояний (видимые нейроны), и ряд скрытых состояний (скрытые нейроны). На основе наблюдаемых состояний RBM делает вероятностные выводы относительно скрытых состояний. Обученная на имеющихся данных модель позволяет делать выводы относительно видимых состояний, зная скрытые (по теореме Байеса), и тем самым, воспроизводить данные в соответствии с их эмпирическим законом распределения, полученном в результате обучения модели. Второй этап — тонкая настройка, на нем нейросеть обучается с учителем. После обучения, на основе дискретной последовательности идеальных сигналов тренировочной выборки, полученных из целевого технического индикатора, фильтрующего незначительные колебания цены, определяются параметры скрытой Марковской модели. Затем, предсказанные нейронной сетью сигналы, сглаживаются с помощью СММ. Приложение модели, полученной на тренировочной выборке, к предсказанной последовательности приводит её к более вероятным переходам. Все расчеты и эксперименты проводились на языках программирования MQL4 и R с использованием пакета « darch».
В ходе реализации данного алгоритма были изучены архитектура накапливающей ограниченной машиной Больцмана, основные концепции её функционирования и алгоритм обучения Contrastive Divergence. Также были выяснены взаимосвязи между эффективностью прогнозирования модели и ее различными параметрами .
В завершение был разработан рабочий экземпляр торгового робота для мультирыночной платформы MetaTrader 4, в котором модель обучается периодически в режиме online по результатам постоянного контроля.
Таким образом, задачи решены в полном объёме, а цель достигнута. В ходе проведения исследования доказана гипотеза о том, что, учитывающая многоуровневую оценку предикторов по важности, прогностическая модель, реализованная с помощью алгоритма взаимодействия нейронных сетей и скрытых Марковских моделей и обученная на большой и репрезентативной выборке данных, является надёжным предсказателем будущего поведения рынка.
Дальнейшая перспектива исследования заключается в реализации алгоритма моделирования финансовых временных рядов посредством глубоких нейронных сетей, инициируемых накапливающим автоэнкодером ( DN SAE) и сравнении DN SRBM c DN SAE с целью выявления путей и методов улучшения качественных показателей работы нейронной сети.
Дальнейшая перспектива разработки заключается в реализации возможности торговли сразу несколькими валютными парами и интеграции приложения с торговым терминалом MetaTrader 5 с целью увеличения количества пользователей.
Разработанный торговый робот способен содействовать трейдерам в прибыльной торговле и удачном функционировании на валютном рынке. Однако, приняв решение об использовании торгового робота, трейдер должен понимать, что его применение не дает стопроцентной гарантии. Торговый робот не избавит трейдера от забот, связанных с торговлей и управлением своим капиталом. Торговый робот должен полностью соответствовать реалиям рынка, так как торговля в невыгодном секторе не даст желаемых результатов. Необходимо учитывать, что объём торговли, проводимой роботом, ограничивается возможностями брокера и размерами депозита трейдера. Только соблюдением этих условий можно снизить риски от автоматической торговли и добиться определенного успеха.



