Добавлен: 29.06.2023
Просмотров: 33
Скачиваний: 2
СОДЕРЖАНИЕ
ГЛАВА 1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРИМЕНЕНИЯ НЕЙРОННЫХ СЕТЕЙ В ЭКОНОМИКЕ
1.1 Анализ существующих решений в прогнозировании котировок
ГЛАВА 2. ПРОГРАММНЫЕ КОМПЛЕКСЫ ДЛЯ АВТОМАТИЧЕСКОЙ ТОРГОВЛИ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ
2.2 Проектирование программного комплекса
2.3 Проектирование UML-диаграммы пользователя системы
ВВЕДЕНИЕ
Ещё с момента появления первого компьютера людей не оставляла мысль сотворить искусственный интеллект: программу-робота, разумно мыслящего, подобно человеку.
На момент 2016 года искусственный интеллект, то, что называется им – искусственная нейронная сеть – используется уже в большинстве отраслей: создают специальных роботов, которые учатся ходить всё лучше и лучше, потому что нейронная сеть обучается, анализируя происходящее вокруг; погода уже давно прогнозируется нейронной сетью, постоянно обучающейся на новейших данных погоды; трейдеры на бирже стараются использовать нейронные сети, чтобы заработать. Всё это является реальностью, в которой человечество живёт в настоящий момент. Однако использование нейронной сети на рынке акций, фьючерсов или иностранной валюты не так радужно, как представляют некоторые трейдеры. Такие рынки огромны и зависимы друг от друга, одни инструменты коррелируют с другими, рынок взаимно эффективен за счёт хеджирования рисков трейдерами. Данный отчёт представляет собой описание стадий проекта, основной целью которого является проектирование приложения с движком из нейронной сети, способной найти скрытые зависимости одних инструментов от других и спрогнозировать движение цены.
Целью данной работы является применение нейронных сетей в экономике, для достижения поставленной цели, были выделены следующие задачи:
- рассмотреть анализ существующих решений в прогнозировании котировок;
- изучить программные комплексы для автоматической торговли на основе нейронных сетей.
Объект исследования – нейронные сети.
Предмет исследования - применение нейронных сетей в экономике.
Структура работы состоит из введения, основной части, заключения и списка литературы.
Теоретической и методологической базой данной работы послужили труды российских и зарубежных авторов в области экономики, материалы периодических изданий и сети Интернет.
ГЛАВА 1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРИМЕНЕНИЯ НЕЙРОННЫХ СЕТЕЙ В ЭКОНОМИКЕ
1.1 Анализ существующих решений в прогнозировании котировок
За всё время существования рынка его участники всегда хотели совершать выгодные сделки. Для совершения такой сделки на срочном рынке иностранной валюты надо знать, куда пойдет цена на интересующую валютную пару. А правильное прогнозирование поведения валюты коррелирует с большой прибылью после хороших сделок. Существует две основные школы анализа рынка: технический и фундаментальный анализы.
Данная отрасль анализа финансовых инструментов очень распространена среди профессиональных трейдеров. Игроки, использующие фундаментальный анализ, считают, что цена зависит от множества факторов: от различных политических, экономических событий, политики государств, ситуации на рынке. Если рассматривать такой инструмент как акции, то стоит заметить, что политика компании, публично выпускающей свои акции, общее мнение о ней, различные действия, порой, влияют на цену моментально. Если задумываться, какие образом использовать фундаментальный анализ в программном комплексе, то сразу же вспоминается компания Hyde Park Global Investments LLC: за больше, чем 10 лет работы, они смогли создать полноценный искусственный интеллект, прогнозирующий цены финансовых инструментов: их система использует сложные алгоритмические уравнения для определения тренда на рынке, специальный модуль их программного комплекса распознает содержимое новостей в интернете. Последний модуль есть их интерпретация фундаментального анализа. Они до сих пор приглашают только научных сотрудников и программистов и отказывают профессиональным трейдерам. Это компания, занимающаяся научной деятельностью, которая смогла создать полноценный комплекс для прогнозирования!
1.2 Технический анализ
Технический анализ также является одной из основных школ анализа. Основная идея технического анализа – в текущую цену инструмента заложены все ожидания. Поэтому не имеет смысла читать новости, волатильность и изменение цены будет, в основном, зависеть от психологии масс. Технический анализ заключает в себе прогнозирование вероятного изменения цен на основе закономерностей, замечаемых трейдерами на графиках. Достаточно много типов графиков было придумано для технического анализа: с помощью обычного линейного графика цены можно вычислить закономерность изменения цены (рис. 1).
Рис. 1 Изменение котировки валютной вары EURUSD
Свечной график позволяет использовать одновременно данные открытых сделок на данный момент, а также данные первой и последней закрытой цен (Рис. 2).
Рис. 2: Свечной график для валютной пары EURUSD
Также трейдеры используют информацию об объеме завершенных сделок на данный момент.
1.3 Роботы-советники и игроки
Данный тип роботов широко распространен среди трейдеров на данный момент. Основной задачей роботов-советников является технический анализ определённых инструментов с целью собственного прогнозирования. Как правило, анализ внутри робота ведется постоянно с момента его запуска трейдером. Как только робот «предполагает», что сейчас – благоприятное время для проведения какой-либо сделки, он предлагает её трейдеру. Последний, в свою очередь, принимает решение самостоятельно, обычно, проводя собственный технический анализ и сверяя свои результаты с результатами робота-советника.
В настоящее время типов роботов-игроков стало заметно больше в сравнении с пятью годами ранее. Образовались две основные группы таких роботов:
- Роботы с техническим анализом;
- Роботы с алгоритмической составляющей.
В роботов из первой группы закладывают серьёзную математику для вычисления восходящих и нисходящих трендов, состояния «коридора» для инструмента. Функции для вычисления технических индикаторов также используются в таких роботах. От советников же они отличаются тем, что пользователю такого робота не нужно сидеть и контролировать программу, она самостоятельно выставляет ордера для инструментов. Как правило, в роботах-игроках также используется стоп-модуль для страховки рисков на случай, если робот неправильно распознает сигналы на рынке и начнет продавать всё, когда нужно покупать или наоборот. Достаточно много случаев зарегистрировано с ранними версиями роботов, не имеющих стоп-модули: трейдеры могли потерять все акции, фьючерсы за несколько часов, пока робот не продаст всё, что есть.
Роботы с алгоритмической составляющей гораздо проще по своей структуре, нежели роботы из первой группы. Как правило, это высокочастотные роботы, способные совершить несколько тысяч сделок за минуту. Такие роботы покупают и сразу же продают, как только цена инструмента изменилась даже 1 пипс. Работа среднечастотных (роботы, способные сделать несколько десятков сделок за минуту) не так сложна: если простой анализ параметров инструмента «предсказывает», что цена будет выше – робот покупает, или если цена будет ниже – продает. У таких роботов также присутствует стоп-модуль для страховки.
ГЛАВА 2. ПРОГРАММНЫЕ КОМПЛЕКСЫ ДЛЯ АВТОМАТИЧЕСКОЙ ТОРГОВЛИ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ
С середины 00-х годов XXI века трейдеры стали задумываться над использованием нейронных сетей в трейдинге. Однако к настоящему моменту значительного успеха добилась только одна компания, о которой автор упоминал ранее: Hyde Park Global. В большинстве случаев трейдерами использовалось обучение с учителем, так как нейронной сети на вход подавали временные ряды исторических данных. Основная роль нейронной сети было запоминание большинства повторяющихся сценариев с изменением цены, чтобы в дальнейшем нейронная сеть могла сразу распознать тот или иной сценарий. Однако простое обучение с помощью временных рядов с ценами было, видимо, недостаточным условием, чтобы нейронная сеть корректно прогнозировала котировки инструментов. В следующем поколении трейдеры добавили объем совершенных сделок вкупе с котировками. Такой шаг повысил вероятность корректного прогноза (теперь 15 % прогнозов сбывались), однако для того, чтобы использовать такой программный комплекс в действии, в реальной торговле, необходимо добиваться 70% и выше вероятности, что сеть правильно спрогнозирует поведение финансового инструмента.
2.1 Резюме
Две основные школы анализа определили основной набор инструментов, которые используют трейдеры. А именно:
- Анализ графиков вручную;
- Специальные роботы с техническим анализом внутри;
- Программные комплексы с движком из нейронной сети (используется сейчас крайне редко);
- Фундаментальный анализ вручную (чтение новостей, корреляционный анализ нескольких событий и др.).
Также стоит заметить, что, так как разработка качественного комплекса на основе нейронной сети – очень сложная задача, то, после ряда провалившихся попыток, трейдеры переключились на разработку не качественного приложения, а быстрого. Поэтому сейчас основной тренд на рынке – использование высокочастотных приложений-скальперов. Трейдеров, использующих такие приложения, называют так же.
У алгоритмических программ существует большой минус: на рынке их становится всё больше, а значит они начинают торговать друг против друга. Когда процент роботов на рынке превысит 80 %, исследователи предсказывают, что рынок станет максимально эффективным, и торговля через роботов станет неустойчивой. Результаты таких предсказаний уже можно наблюдать на рынке.
Подводя итог, автором доклада был выбран способ прогнозирования с помощью нейронной сети, потому как он недостаточно изучен. В других же областях прогнозирование с помощью нейронной сети позволяет добиться существенно лучших результатов в сравнении со сложными алгоритмами в движке.
План проектирования:
- Выбор источника данных;
- Проектирование UML-диаграммы объектов;
- Проектирование UML-диаграммы пользователя системы;
- Описание проектирования Http-клиента;
- Резюме проектирования остальных обработчиков;
- Обучение.
2.2 Проектирование программного комплекса
Ещё на этапе анализа для оперативного сбора данных в России была выбрана Московская биржа. Для России это единый источник всех ордеров по всем рынкам. Для первого года разработки (этап проектирования и тестирования программного комплекса) понадобится платная подписка для доступа к бирже по Http-протоколу.
Разрабатываемый программный комплекс должен выполнять следующие функции:
- Отображать текущую цену на выбранный финансовый инструмент;
- Отображать графики японских свечей, баров и тиковый график;
- Отображать текущие ордера, стоящие в очереди выполнения («Стакан»);
- Хранить часть данных для дальнейшей обработки;
- Выполнять анализ котировок с помощью полученных данных;
Диаграмма объектов представлена ниже, на рис. 3.
Рис. 3 Диаграмма объектов для программного комплекса
Было решено разделить программный комплекс на две основные части: ядро и интерфейс, тем самым позволяя масштабировать архитектуру комплекса со временем. Данные для интерфейса передает ядро, как только последние будут получены из локального хранилища или с сервера Московской биржи.
Ядро использует 6 основных обработчиков. Обработчик «Загрузчик данных с биржи» на данной стадии является Http-клиентом, самостоятельно разработанным без дополнительных библиотек. «Обработчик данных с биржи» анализирует содержимое сообщения. Используя Http-канал передачи данных с биржи, можно использовать различные «упаковки» для данных: json, xml, html, xls. Обработчик данных анализирует полученные данные в json: такой формат позволяет упаковывать достаточно много данных в меньшие по размеру файлы в сравнении с другими представленными расширениями.