Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Применение нейронных сете в экономике

Содержание:

ВВЕДЕНИЕ

Ещё с момента появления первого компьютера людей не оставляла мысль сотворить искусственный интеллект: программу-робота, разумно мыслящего, подобно человеку.

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

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

- рассмотреть анализ существующих решений в прогнозировании котировок;

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

Объект исследования – нейронные сети.

Предмет исследования - применение нейронных сетей в экономике.

Структура работы состоит из введения, основной части, заключения и списка литературы.

Теоретической и методологической базой данной работы послужили труды российских и зарубежных авторов в области экономики, материалы периодических изданий и сети Интернет.

ГЛАВА 1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРИМЕНЕНИЯ НЕЙРОННЫХ СЕТЕЙ В ЭКОНОМИКЕ

1.1 Анализ существующих решений в прогнозировании котировок

За всё время существования рынка его участники всегда хотели совершать выгодные сделки. Для совершения такой сделки на срочном рынке иностранной валюты надо знать, куда пойдет цена на интересующую валютную пару. А правильное прогнозирование поведения валюты коррелирует с большой прибылью после хороших сделок. Существует две основные школы анализа рынка: технический и фундаментальный анализы.

Данная отрасль анализа финансовых инструментов очень распространена среди профессиональных трейдеров. Игроки, использующие фундаментальный анализ, считают, что цена зависит от множества факторов: от различных политических, экономических событий, политики государств, ситуации на рынке. Если рассматривать такой инструмент как акции, то стоит заметить, что политика компании, публично выпускающей свои акции, общее мнение о ней, различные действия, порой, влияют на цену моментально. Если задумываться, какие образом использовать фундаментальный анализ в программном комплексе, то сразу же вспоминается компания Hyde Park Global Investments LLC: за больше, чем 10 лет работы, они смогли создать полноценный искусственный интеллект, прогнозирующий цены финансовых инструментов: их система использует сложные алгоритмические уравнения для определения тренда на рынке, специальный модуль их программного комплекса распознает содержимое новостей в интернете. Последний модуль есть их интерпретация фундаментального анализа. Они до сих пор приглашают только научных сотрудников и программистов и отказывают профессиональным трейдерам. Это компания, занимающаяся научной деятельностью, которая смогла создать полноценный комплекс для прогнозирования!

1.2 Технический анализ

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

Рис. 1 Изменение котировки валютной вары EURUSD

Свечной график позволяет использовать одновременно данные открытых сделок на данный момент, а также данные первой и последней закрытой цен (Рис. 2).

Рис. 2: Свечной график для валютной пары EURUSD

Также трейдеры используют информацию об объеме завершенных сделок на данный момент.

1.3 Роботы-советники и игроки

Данный тип роботов широко распространен среди трейдеров на данный момент. Основной задачей роботов-советников является технический анализ определённых инструментов с целью собственного прогнозирования. Как правило, анализ внутри робота ведется постоянно с момента его запуска трейдером. Как только робот «предполагает», что сейчас – благоприятное время для проведения какой-либо сделки, он предлагает её трейдеру. Последний, в свою очередь, принимает решение самостоятельно, обычно, проводя собственный технический анализ и сверяя свои результаты с результатами робота-советника.

В настоящее время типов роботов-игроков стало заметно больше в сравнении с пятью годами ранее. Образовались две основные группы таких роботов:

  1. Роботы с техническим анализом;
  2. Роботы с алгоритмической составляющей.

В роботов из первой группы закладывают серьёзную математику для вычисления восходящих и нисходящих трендов, состояния «коридора» для инструмента. Функции для вычисления технических индикаторов также используются в таких роботах. От советников же они отличаются тем, что пользователю такого робота не нужно сидеть и контролировать программу, она самостоятельно выставляет ордера для инструментов. Как правило, в роботах-игроках также используется стоп-модуль для страховки рисков на случай, если робот неправильно распознает сигналы на рынке и начнет продавать всё, когда нужно покупать или наоборот. Достаточно много случаев зарегистрировано с ранними версиями роботов, не имеющих стоп-модули: трейдеры могли потерять все акции, фьючерсы за несколько часов, пока робот не продаст всё, что есть.

Роботы с алгоритмической составляющей гораздо проще по своей структуре, нежели роботы из первой группы. Как правило, это высокочастотные роботы, способные совершить несколько тысяч сделок за минуту. Такие роботы покупают и сразу же продают, как только цена инструмента изменилась даже 1 пипс. Работа среднечастотных (роботы, способные сделать несколько десятков сделок за минуту) не так сложна: если простой анализ параметров инструмента «предсказывает», что цена будет выше – робот покупает, или если цена будет ниже – продает. У таких роботов также присутствует стоп-модуль для страховки.

ГЛАВА 2. ПРОГРАММНЫЕ КОМПЛЕКСЫ ДЛЯ АВТОМАТИЧЕСКОЙ ТОРГОВЛИ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ

С середины 00-х годов XXI века трейдеры стали задумываться над использованием нейронных сетей в трейдинге. Однако к настоящему моменту значительного успеха добилась только одна компания, о которой автор упоминал ранее: Hyde Park Global. В большинстве случаев трейдерами использовалось обучение с учителем, так как нейронной сети на вход подавали временные ряды исторических данных. Основная роль нейронной сети было запоминание большинства повторяющихся сценариев с изменением цены, чтобы в дальнейшем нейронная сеть могла сразу распознать тот или иной сценарий. Однако простое обучение с помощью временных рядов с ценами было, видимо, недостаточным условием, чтобы нейронная сеть корректно прогнозировала котировки инструментов. В следующем поколении трейдеры добавили объем совершенных сделок вкупе с котировками. Такой шаг повысил вероятность корректного прогноза (теперь 15 % прогнозов сбывались), однако для того, чтобы использовать такой программный комплекс в действии, в реальной торговле, необходимо добиваться 70% и выше вероятности, что сеть правильно спрогнозирует поведение финансового инструмента.

2.1 Резюме

Две основные школы анализа определили основной набор инструментов, которые используют трейдеры. А именно:

  1. Анализ графиков вручную;
  2. Специальные роботы с техническим анализом внутри;
  3. Программные комплексы с движком из нейронной сети (используется сейчас крайне редко);
  4. Фундаментальный анализ вручную (чтение новостей, корреляционный анализ нескольких событий и др.).

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

У алгоритмических программ существует большой минус: на рынке их становится всё больше, а значит они начинают торговать друг против друга. Когда процент роботов на рынке превысит 80 %, исследователи предсказывают, что рынок станет максимально эффективным, и торговля через роботов станет неустойчивой. Результаты таких предсказаний уже можно наблюдать на рынке.

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

План проектирования:

  1. Выбор источника данных;
  2. Проектирование UML-диаграммы объектов;
  3. Проектирование UML-диаграммы пользователя системы;
  4. Описание проектирования Http-клиента;
  5. Резюме проектирования остальных обработчиков;
  6. Обучение.

2.2 Проектирование программного комплекса

Ещё на этапе анализа для оперативного сбора данных в России была выбрана Московская биржа. Для России это единый источник всех ордеров по всем рынкам. Для первого года разработки (этап проектирования и тестирования программного комплекса) понадобится платная подписка для доступа к бирже по Http-протоколу.

Разрабатываемый программный комплекс должен выполнять следующие функции:

  1. Отображать текущую цену на выбранный финансовый инструмент;
  2. Отображать графики японских свечей, баров и тиковый график;
  3. Отображать текущие ордера, стоящие в очереди выполнения («Стакан»);
  4. Хранить часть данных для дальнейшей обработки;
  5. Выполнять анализ котировок с помощью полученных данных;

Диаграмма объектов представлена ниже, на рис. 3.

C:\Users\Artyom\Downloads\Диаграмма объектов.png

Рис. 3 Диаграмма объектов для программного комплекса

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

Ядро использует 6 основных обработчиков. Обработчик «Загрузчик данных с биржи» на данной стадии является Http-клиентом, самостоятельно разработанным без дополнительных библиотек. «Обработчик данных с биржи» анализирует содержимое сообщения. Используя Http-канал передачи данных с биржи, можно использовать различные «упаковки» для данных: json, xml, html, xls. Обработчик данных анализирует полученные данные в json: такой формат позволяет упаковывать достаточно много данных в меньшие по размеру файлы в сравнении с другими представленными расширениями.

Класс-хранилище представляет собой обработчик для работы с sql-сервером. Все данные после анализа передаются на вход этому классу для распределения по базе данных. Остальные три обработчика представляют собой прогнозирующий комплекс.

2.3 Проектирование UML-диаграммы пользователя системы

Проектирование данной UML-диаграммы позволяет ещё на этапе проектирования определить, как же пользователь будет использовать программу. Готовая диаграмма представлена ниже, на рис. 4.

Рис. 4 UML-диаграмма пользователя системы

Далее в докладе представлен разбор каждого из событий на диаграмме на примере акции как одного из финансовых инструментов.

Запустив программу, пользователь запрашивает прогноз на акцию у системы прогнозирования (рис. 5):

Рис. 5 Запросы пользователей

Система прогнозирования, в свою очередь, запускает функцию ядра для просчитывания акции (Рис. 6):

Рис. 6Система прогнозирования

Ядро при просчитывании акции вызывает функцию у прогнозировщика «Спрогнозировать поведение акции()» (Рис. 7):

Рис. 7 Прогнозирование поведения акций

Прогнозировщик собирает данные с двух других анализаторов и вычисляет поведение акции (Рис. 8):

Рис. 8 Поведение анализаторов и вычисляет поведение акции

После чего прогнозировщик отдает результат в ядро, а последнее уже выдает ответ пользователю через систему (Рис. 9):

Рис. 9 Ответ пользвателю

2.4 Описание проектирования Http-клиента

На данный момент архитектура программного комплекса есть, и основной сценарий работы пользователя с приложением спроектирован (прошлый пункт). В этом пункте автор доклада описывает проектирование Http-клиента.

Решение писать собственный клиент было принято под влиянием предположения, что сам клиент на одном из этапов должен будет стать платформонезависимым или вообще работать только на Linux. Поэтому сейчас исходный код http-клиента является полностью независимым от платформы, его можно использовать на Linux, так и на Windows. Схема связей классов представлена на рис. 10 ниже.

C:\Users\Artyom\Downloads\Untitled Diagram (1).png

Рис. 10 Схема классов для http-клиента

Двойной линией обозначены связи “As is”, стрелочкой – наследование от абстрактного класса.

Класс HttpClient инкапсулирует в себе все функции и проверку и некорректность, предоставляя пользователю только функции trySaveToFile, trySaveToBuffer и другие. Так как основная концепция протокола http – это вопрос-ответ, то были специально разработаны два класса: ClientRequest – класс, отвечающий за составление правильного запроса в соответствии с предположениями о сервере; ServerResponse – класс, хранящий внутри проанализированный ответ сервера, разложенный на структуры из заголовков и их значений. При разработке клиента было решено использовать специальное перечисление со всеми типами заголовком, именуемое в исходном коде HeaderType. PreliminaryAction и FinallyAction – специальные перечисления, представляющие собой действия, которые необходимо выполнить клиенту во время работы (загрузки страниц).

На данный момент FinallyAction содержит 4 значения:

  1. Nothing – значение используется, когда клиент не работает;
  2. SendAndReceive – значение используется при первичной аутентификации на сервере Московской биржи;
  3. SaveToFile – значение используется, когда необходимо сохранить в файл содержимое сообщения с сервера;
  4. SaveToBuffer – значение используется для прямой передачи следующему обработчику для анализа.

Также в классе HttpClient встроена обработка кодов ответов от сервера. Если произошла ошибка на стороне сервера – клиент сохранит тело сообщения и откроет сохранённую страницу в браузере по умолчанию как доказательство ошибки. Если произошла ошибка на стороне клиента – алгоритм постарается решить проблему самостоятельно (например, необходимо вновь переслать запрос; добавить/убрать заголовки в запросе; сменить версию обращения к серверу).

Схема взаимодействия остальных трёх обработчиков с другими представлена в пункте «Проектирование UML-диаграммы объектов». Так как тема данного отчёта является реальным заданием компании автору, то руководство приняло решение не описывать подробно проектирование данных трёх разработчиков, поскольку решение, представленное в проекте, является собственностью компании.

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

ЗАКЛЮЧЕНИЕ

Обучение нейронной сети является достаточно долгим процессом, способным растянуться на месяцы. Автор приступил к обучению нейронной сети и его анализу в начале 2016-го года. Однако на момент мая 2016 обучение ещё не завершено, поскольку данных о закрытии торгов оказалось недостаточно: зависимостей одних валютных пар от других слишком много, другие финансовые инструменты также влияют, и получается сложно структурированная сеть зависимостей. Чтобы повысить качество обучения, было принято решение аккумулировать данные с реальных торгов и обучать по ним сеть. Также необходимо заметить, что обучение сети проводится только для срочного рынка FOREX, так как на данный момент выгодное использование фьючерсов и опционов на валютные пары является для компании первоочередной задачей. Тем не менее, работа над проектом продолжится: планируется обучить нейронную сеть до конца 2016-го года и

Представленный отчёт является выпускной квалификационной работой для бакалавра. Основная задача, стоящая перед студентом, была следующей: спроектировать программный комплекс на основе нейронной сети с применением машинного обучения. По окончании срока цель была достигнута на 90%: обучение всё ещё ведется по причине недостаточности данных для обучения. Архитектура же комплекса была спроектирована и утверждена руководством компании.

СПИСОК ЛИТЕРАТУРЫ

  1. Арчер М. Трейдинг на валютном рынке для начинающих. Отдельное изд. Альпина Паблишер, 2016. 460 с.
  2. Ефимов Е.Г. Социальные интернет-сети (методология и практика исследования) / Е.Г. Ефимов. — Волгоград : Волгоград. науч. изд-во, 2015. — 169 с.
  3. Иванченко Р.Б. Проблемы квалификации мошенничества в сфере компьютерной информации / Р.Б. Иванченко, А.Н. Малышев // Вестник Воронежского института МВД России. — 2014. — № 1. — С. 194-200.
  4. Использование возможностей ЕИТКС ОВД в деятельности органов предварительного следствия в системе МВД России : учеб. пособие / под ред. И.А. Попова. — М. : Проспект, 2013. — 124 с.
  5. Комаров А.А. Интернет-мошенничество: проблемы детерминации и предупреждения / А.А. Комаров. — М. : Юр- литинформ, 2013. — 184 с.
  6. Михаловски Г. На волне валоютного тренда. Как предвидеть большие движения и использовать их в торговле на FOREX. Отдельное изд. Альпина Паблишер, 2013. 324 с.
  7. Морозов И. Forex. От простого к сложному. 7-е изд. Альпина Паблишер, 2016. 328 с.
  8. Никулин И.В. О практике противодействия незаконному обороту и пропаганде наркотических средств и иных психотропных веществ в информационно-телекоммуникационной сети Интернет / И.В. Никулин // Вестник Сибирского юридического института ФСКН России. — 2013. — № 2 (13). — С. 46-50.
  9. Осипенко А.Л. Сетевая компьютерная преступность: теория и практика борьбы / А.Л. Осипенко. — Омск : Ом. акад. МВД России, 2009. — 480 с.
  10. Польшиков А.В. Криминологическая характеристика лиц, совершающих изготовление и оборот детской порнографии в сети «Интернет» / А.В. Польшиков // Общество и право. — 2009. — № 3. — С. 190-194.
  11. Прогноз криминогенной обстановки и противодействие преступности в Рязанской области : науч.-аналит. обзор с метод. рекомендациями / Д.Е. Некрасов, Э.Ю. Бадальянц, Я.Г. Ищук, О.Н. Чистотина, Г.С. Шкабин ; под общ. ред. Д.Н. Архи- пова. — Рязань : Рязан. фил. Моск. ун-та МВД России, 2013. — 153 с.
  12. Простосердов М.А. Вымогательство, совершенное в сети Интернет / М.А. Простосердов // Библиотека криминалиста. — 2013. — № 6 (11). — С. 150-152.
  13. Рыдченко К.Д. Административно-правовое обеспечение информационно-психологической безопасности органами внутренних дел Российской Федерации : дис. ... канд. юрид. наук : 12.00.14 / К.Д. Рыдченко. — Воронеж, 2011. — 308 с.
  14. Симоненко А.В. Оценка криминальной ситуации в вузовской студенческой среде и меры ее коррекции / А.В. Си- моненко, Е.В. Грибанов // Вестник Воронежского института МВД России. — 2015. — № 1. — С. 122-127.
  15. Смагина А.В. Причины распространения экстремизма в России / А.В. Смагина, Д.И. Сопун // Российский следователь. — 2012. — № 8. — С. 33-36.
  16. Сынгаевский Д.В. Мошенничество в глобальной сети Интернет как объект виктимологического исследования / Д.В. Сынгаевский // Современный юрист. — 2013. — № 4. — С. 136-144.
  17. Тропина Т.Л. Борьба с киберпреступностью: возможна ли разработка универсального механизма? / Т.Л. Тропина // Международное правосудие. — 2012. — № 3. — С. 86-95.
  18. Уразаева Г.И. Методологические принципы изучения личности преступника и преступного поведения / Г.И. Уразае- ва // Вестник Казанского юридического института МВД России. — 2014. — № 3 (17). — С. 126-130.
  19. Boyd D. Social Network Sites: Definition, History, and Scholarship / D. Boyd, N. Ellison // Journal of Computer-Mediated Communication. — 2007. — Vol. 13, № 1. — P. 210-230.
  20. Conway M. Terrorism and the Internet: new media — new threat? / M. Conway // Parliamentary Affairs. — 2006. — Vol. 59, № 2. — P. 283.
  21. Goodman M. International Dimensions of Cybercrime / M. Goodman // Cybercrimes: A Multidisciplinary Analysis / S. Ghosh, E. Turrini (eds). — Berlin : Heidelberg, 2010. — 361 p.
  22. Metchik E. A typology of crime on the Internet / E. Metchik // Security Journal. — 1997. — Vol. 9, № 1-3. — P. 27-31.
  23. Whitty M.T. The Scammers Persuasive Techniques Model: Development of a Stage Model to Explain the Online Dating Romance Scam / M.T. Whitty // The British Journal of Criminology. — 2014. — № 53 (4). — P. 665-684.
  24. Yar M. The Novelty of Cybercrime: An Assessment in Light of Routine Activity Theory / M. Yar // European Journal of Criminology. — 2005. — Vol. 2, № 4. — P. 407-427.