Реферат на тему нейронные сети в задачах прогнозирования динамики цен на криптовалютном рынке

Обновлено: 01.07.2024

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

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

Содержание

ПОНЯТИЕ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ

Искусственный нейрон: понятие, особенности структуры……….7
Искусственные нейронные сети: их свойства и классификация..12
Обучение нейронных сетей………………………………………..19
ГЛАВА 2

ПРИМЕНЕНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ

2.1. Особенности применения искусственных нейронных сетей в различных областях……………………………………………………….23

2.2. Применение нейронных сетей в биржевой деятельности………..28

2.3. Ограничения и недостатки, связанные с использованием нейронных сетей на бирже……………………………………………….33

ИССЛЕДОВАНИЕ ДИНАМИКИ ФИНАНСОВЫХ РЫНКОВ НЕЙРОСЕТЕВЫМИ МЕТОДАМИ

Задачи и методы нейросетевого анализа и прогнозов…………. 38
Нейросетевые прогнозы доходностей…………………………….44
ЗАКЛЮЧЕНИЕ………………………………………………………………. 52

Работа содержит 1 файл

Курсовая.doc

2.2. Применение нейронных сетей в биржевой деятельности

Подавляющее большинство задач прогнозирования на основе нейронных сетей так или иначе связаны со сферой бизнеса и финансов. Это – краткосрочные и долгосрочные прогнозы тенденций следующих финансовых рынков:

  • рынков купонных и бескупонных облигаций,
  • фондовых рынков (рынков акций),
  • валютных рынков.

Сюда же можно отнести прогнозы:

  • платежеспособного спроса;
  • продаж и выручки;
  • рисков кредитования;
  • финансирования экономических и инновационных проектов;
  • фьючерсных контрактов и ряд других.

К задачам прогнозирования на бирже можно отнести:

Прогнозирование краткосрочных и долгосрочных тенденций фондового рынка включает следующие этапы.

1. Сбор и хранение статистических данных – возможной исходной информации для прогноза (либо в качестве исходных данных, либо в качестве прогнозируемой величины, либо как и то и другое);

2. Определение для рассматриваемого рынка или инструмента прогнозируемой величины и набора влияющих факторов (причем не всегда могут быть использованы данные, непосредственно хранящиеся в базе данных, зачастую требуется произвести некоторые преобразования данных: например, часто в качестве таких факторов используются относительные изменения величин);

3. Выявление зависимости между прогнозируемой величиной и набором влияющих факторов в виде некоторой функции;

4. Вычисление интересующей величины в соответствии с определенной функцией, значениями влияющих факторов на прогнозируемый момент и видом прогноза (краткосрочный или долгосрочный).

Процедура выполнения краткосрочного прогноза отличается от процедуры долгосрочного на первом и четвертом этапах. В случае краткосрочного прогноза считается, что все участвующие в нем значимые влияющие факторы на прогнозируемую дату известны и хранятся в базе данных. Горизонт краткосрочного прогноза не превышает 3–4 дня. В случае долгосрочного прогноза считается, что значимые влияющие факторы на прогнозируемую дату неизвестны и должны быть указаны ожидаемые значения и погрешности. Соответственно погрешность определения прогнозируемой величины существенно увеличивается (чем дальше горизонт прогноза, тем больше погрешность определения влияющих факторов и вероятность ошибки аналитика). Горизонт долгосрочного прогноза, как правило, превышает 3–4 дня.

  1. Прогнозирование тенденций фондового рынка (рынка акций).

Обязательно учитывается психология конкурирующих трейдеров, для которых важную роль играют ожидания ряда влияющих событий. Например, в 16:00 многие украинские трейдеры внутренне готовы к изменениям тенденции поведения индекса Доу-Джонса на Нью-Йоркской фондовой бирже, которая с учетом сдвига по часовым поясам открывается лишь в 16:30 по киевскому времени.

Фондовый рынок характеризуется также следующими особенностями:

В целом, задача краткосрочного прогноза котировок акций пусть и с

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

Примером прогнозирования тенденций фондового рынка может служить нейросетевая система (компания Alela Corp.), предназначенная для прогноза изменения биржевых индексов Dow Jones, S&P500 и Merval. На сайте компании можно бесплатно воспользоваться прогнозом изменения данных индексов и, используя его в качестве дополнительной информации, убедиться, что доля верных прогнозов составляет не менее 80,0 %.

Японские компании, оперирующие на рынке ценных бумаг, также широко применяют нейронные сети (компания Mitsubishi). Для входа нейронной сети использовалась информация о деловой активности нескольких организаций, полученная за 33 года, включая также оборот, предыдущую стоимость акций, уровни дохода и т.д. Данная нейронная сеть самообучалась на реальных примерах и показала высокую точность прогнозирования, а также быстродействие. Общая результативность прогноза по сравнению с системами, использующими стандартные статистические подходы, улучшилась на 19,0 %.

2.3. Ограничения и недостатки, связанные с использованием нейронных сетей на бирже

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

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

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

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

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

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

1.6. Проблемы развития нейронных сетей

Рассмотрим ряд проблем, стоящих сегодня на пути широкого распространения нейросетевых технологий.

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

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

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

5. Таким образом, существует опасность, что нейросетевые технологии начнут продаваться и покупаться раньше, чем придет их время, обещая потребительские и функциональные возможности, которые пока невозможно достигнуть. Если это произойдет, то технология в целом может пострадать от потери кредита доверия и вернется к периоду невостребованности семидесятых годов.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 29.06.2018
Размер файла 1,0 M

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Прогнозирование котировок валют с использованием нейронных сетей

Зашеловский Арсений Евгеньевич, бакалавр, студент

Лясин Дмитрий Николаевич, кандидат наук, доцент, доцент

Объектом исследования выступает процесс прогнозирования. Существует множество методов прогнозирования. Самыми популярными и наиболее используемыми являются методы экспертных оценок, фактографические методы, моделирование и пр. Метод экспертных оценок -- является обоснованным и аргументированным суждение одного или группы экспертов о перспективах развития наблюдаемого объекта (данный метод часто имеет применение в экономике). Фактографические методы являются экстраполяцией, заключающейся в изучении тенденций прошлого и проецирование этих тенденций в будущее. Моделированием является построение уменьшенной копии (модели) объекта и проведение над построенной моделью ряда экспериментов, получение результатов, на основе которых делают заключение о оригинальном объекте.

С появлением искусственных нейронных сетей (ИНС) появился еще один способ прогнозирования -- прогнозирование с использованием нейронной сети. ИНС появились в конце первой половины 1900-х годов. В 1943 году были разработаны У. МакКаллоком и У. Питтсем первые математические модели нейронных сетей, послужившие основой для развития в этом направлении.

Актуальность прогнозирования объясняется тем, что знание прогноза в различных областях помогает в управлении в рассматриваемой области. Например, знание экономических прогнозов является одним из факторов успешного развития бизнеса, развития экономики предприятия, организации, государства и т.д. Осведомленность о прогнозах погоды упрощает ведение сельскохозяйственной деятельности.

Искусственная нейронная сеть в том виде, в котором она существует в настоящее время, способна успешна решать четыре рода задач:

распознавание образов (видео, фото, аудио и др.);

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

neuro shell traider;

Matlab, deductor и statistica являются мощными инструментами, задачи которых не ограничиваются одной лишь возможностью работы с нейронными сетями. Они направлены на большой спектр задач, и для работы с этими системами необходимы определенные знания, навыки, умения и опыт работы с этими (или подобными) системами. Необходимость опыта, знаний, навыков и умений можно отнести к минусам.

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

В таблице ниже приведено сравнение рассматриваемых программных аналогов по пятибалльной шкале, где 5 -- высший балл, и 0 -- низший балл. Некоторые критерии (поддержка разработчиком, например, может быть оценена только баллами 0 или 5, где 5 -- поддерживается в настоящее время, 0 -- не поддерживается. Необходимо заметить, что данные оценки глубоко субъективны и являются видением автора данной статьи.


25.02.2021 | Егор Сергеев, г. Нижний Новгород | 1

За всеми архитектурами нейронных сетей уследить сложно, поэтому выбираем одну из самых популярных — Gated recurrent units (GRU). По сути, это разновидность архитектуры LSTM. Они были разработаны для того, чтобы запоминать отдельные зависимости в неких последовательностях (во времени, если брать наш случай). Также они часто используются в задачах анализа текста. GRU была изучена сравнительно недавно в 2014 году в статье “Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling”. (ссылка)

Для данной задачи сформируем некий бейзлайн, который в дальнейшем можно улучшать до бесконечности, но мы разберем только некоторые моменты, чтобы не увеличивать размер данной статьи. Начнем! Данные о курсе Биткоина берем в открытых источниках, допустим, тут (ссылка)

Стоит отметить, что GRU уже реализовано в Keras, поэтому остается только импортировать нужные библиотеки.

Загружаем наш датасет, приводим дату к Datetime формату, а строковые цены к float, далее строим график зависимости курса биткоина от времени.


Разделим данные на тренировочную и тестовую выборку, нормализуем данные в масштабе от 0 до 1.

Пройдемся по временному ряду так называемым “окном” в 2 месяца. То есть наше предсказание будет выдавать курс на 61 день.

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

Обучим нашу тестовую модель на 1000 эпох, минимизировать будем MSE, от переобучения добавим дропаут, а также установим размер батча равным 16 (если сделать его больше, то прогнозы будут более консервативны и линия предсказания может получиться очень плавной). Keras удобен тем, что мы как конструктор можем последовательно укладывать нужные слои по очереди, а в конце собрать ее в одну нужную модель для дальнейшей работы.

Преобразуем тестовые данные.

Далее сделаем свои предсказания и построим график на последние пару месяцев.


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

Нарисуем финальный график.


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


Справедливости ради стоит отметить, что автор вдохновившей меня статьи не исключает возможности увеличения прогностической точности нейросети, если учесть все множество отмеченных факторов. Тем не менее, в упомянутой статье рассуждения об их природе сводятся к пределу детализации — к человеку. А именно, к учету состояния (психического, психологического, физиологического, финансового и т.д.) каждого конкретного участника рынка. Этооо… дорого. Дорого настолько, что неразумно.

Для тех, кто хочет сразу перейти к делу и поэкспериментировать самостоятельно — весь код и данные содержатся на GitHub вот тут.

Начнем

  1. Данные о биржевых торгах;
  2. Данные об активности в биткоин-сети;
  3. Преобразованный поток тематических новостей;
  4. TensorFlow + Keras — one love.

Пункт 3 — предмет для описания в ближайшем будущем, а вот со всем остальным мы поработаем сейчас.

Поиск данных

В чистом виде информацию об объеме выходов на каждый конкретный день мне найти не удалось, но не беда. Настойчивый поиск по теме привел на ресурс MIT, где инженеры кропотливо собирали детальную информацию по блокчейну биткойна в различных разрезах. Сам ресурс тут.

Из всего представленного перечня датасетов, нам понадобятся:

  • bh.dat.gz — содержит хэш-суммы блоков. Формат: идентификатор блока (blockID), хэш-сумма (hash), временная метка записи блока в блокчейн (block_timestamp), количество транзакций в блоке (n_txs);
  • tx.dat.xz — содержит информацию о транзакциях. Формат: идентификатор транзакции (txID), идентификатор блока, в который записана транзакция (blockID), количество входов (n_inputs), количество выходов (n_outputs);
  • txout.dat.xz —содержит информацию о выходах для каждой транзакции. Формат: идентификатор транзакции (txID), порядковый номер (output_seq), идентификатор адреса, куда отправляется выход (addrID), объем отправленных монет (sum).

Сопоставим данные файлов друг с другом следующим образом:

Получаем недостающие данные следующим образом:

Теперь объединяем полученные датасеты, и мы готовы к этапу предварительной обработки информации.

Data pre-processing

Первое, что бросается в глаза, это формат данных нашего биржевого датасета.


Кроме того, что данные приведены в текстовом формате, выгрузка совсем некстати содержит запятые и разнородные ‘K’, и ‘M’ в значениях объемов, что не дает конвертировать данные во float-формат стандартными методами. Дотошное гугление рыночных данных с пристрастием не дало результатов такого же широкого временного диапазона. Что ж. Регулярные выражения Python, дайте мне силы!


Посмотрим на хвост полученного нами датафрейма.


267 элементов датасета не содержат информации о динамике изменения стоимости. Удалим их повышения общей информативности данных ради.

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

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

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

Для предстоящей оценки эффективности модели, тренированной только на биржевых данных, пока что извлечем из датасета информацию об объемах выходов транзакций. Так же, за ненадобностью в процессе обучения и прогнозирования, извлечем даты.

Делим датасет на тренировочную и тестовую выборки и извлекаем зависимую переменную — цену закрытия:

Полученные данные нормализуем.

Теперь проверим насколько эффектным будет обычный многослойный перцептрон, если ему скормить только лишь биржевые данные.

Тестирование нейронной сети

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


PrintDot() — коллбэк отвечающий за вывод красивых точек в процессе обучения модели. Позаимствовал его из официальной документации по TensorFlow. Очень уж он мне понравился. Выглядит он незамысловато:

Задача его — рисовать точки, отражая эпохи.
Что ж, запустим тренировку нашей модели и посмотрим на результат.


Проверим эффективность модели на тестовой выборке.

Результат: 506/506 — 0s — loss: 36201.9241 — mae: 66.5216 — mse: 36201.9219

MSE в 45430.1133 долларов оставляет нас со среднеквадратическим отклонением в 190.27 долларов. Многовато.

Теперь проведем обучение и тестирование сети на данных, содержащих выходы транзакций.


Результат: 506/506 — 0s — loss: 24382.0926 — mae: 48.5508 — mse: 24382.0918

MSE в 24382.0918 долларов значит, что среднеквадратическое отклонение сократилось до 156.15 долларов, что, конечно, не сказка, но улучшение налицо.

Момент истины. Произведем прогнозирование и нарисуем как соотносятся предсказанные значения цен закрытия с реальными ценами.


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

Выводы

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

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

Об обоих по отдельности

Более понятную информацию по этому поводу можно найти в других источниках, а пока разберёмся в понятии криптовалюты. В первую очередь — это цифровой актив, средство обмена, использующее криптографические методы для защиты финансовых транзакций. С их помощью контролируется создание новых денежных единиц и проверка передач активов.

Существует 2 типа алгоритмов онлайн-торговли. Они характеризуются различными скоростями, показателями оборота, инструментами электронного рынка. Хотя не существует единого определения высокочастотной (High-frequency, HFT) и низкочастотной (Low-frequency, LFT), торговли принято различать по скорости соединения. Моргание человеческого глаза длится от 300 до 400 миллисекунд. За это время при HFT проходит около 400 заказов, поскольку обмен данных настроен только с одним сервером. Но для криптовалют централизованная система не подходит, так как требует новейшего и быстрого обеспечения, которое доступно не всем. LFT не требует особого оборудования, не привязывается к одному серверу, потому она и стала основой крипто-рынка. Процесс управляется децентрализованно и хаотично, в чём и состоит его главное преимущество.

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

Данные

C:\Users\Z370-1\Desktop\Дашина часть компуктера\1_Ljg1DR-iyfL5PNw7I2nn9A.jpg

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

C:\Users\Z370-1\Desktop\Дашина часть компуктера\1_8eq9kvy4b95yRP2Cx5t4LA.jpg

Для прогнозирования LSTM было предоставлено три действия:

— купля (зеленая точка)

— продажа (красная точка)

— ожидание (синяя линия)

Например, вы хотите купить криптовалюту на этапе нижней зелёной точки, потому что знаете, что после этого минимума цена вырастет до красной точки, и валюту можно будет выгодно продать.

Результат

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

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

Вам также может понравиться


Компиляция майнера xmrig-nvidia в Linux для видеокарт, поддерживающих старые версии CUDA


21 марта, 2021

О технологии многопотоковых вычислений CUDA в видеокартах компании Nvidia


1 апреля, 2020

Читайте также: