Тема: Прогнозирование временных рядов методами машинного обучения
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Постановка задачи 6
Обзор литературы 7
Глава 1. Прогнозирование временных рядов 8
1.1. Методы прогнозирования 8
1.1.1 ARMA 8
1.1.2 ARIMA 8
1.1.3 VAR 9
1.1.4 Wavelet 9
1.1.5 Naive one step 10
1.1.6 Naive multi step 10
1.1.7 Stacking 10
1.2. Оценка качества моделей 11
1.3. Воспроизводимость вычислений 13
1.3.1 Snakemake 13
1.3.2 Описание конвейера 14
Глава 2. Эксперимент 18
2.1. Описание исходных данных 18
2.2. Подготовка данных 18
2.2.1 Этап предобработки raw 18
2.2.2 Этап предобработки interim 19
2.2.3 Этап предобработки processed 19
2.3. Результаты 19
2.4. Моделирование торговли на бирже 23
2.4.1 Постановка задачи 23
2.4.2 Построение моделей классификации 27
2.4.3 Симуляция биржевых торгов 28
Глава 3. Прогнозирование цен биржевых торгов на бирже СПбМТСБ 32
Выводы 35
Список литературы
📖 Введение
Эта задача достаточно изучена для временных рядов, обладающих свойством стационарности - статистическим свойством, при котором основные характеристики ряда остаются неизменными со временем. Стационарные ряды успешно прогнозируются линейными моделями, такими как ARIMA, GARCH, Exponential smoothing и другими. Однако при работе с реальными данными временные ряды зачастую оказываются нестационарными. Такие ряды стараются свести к стационарным и прогнозировать их уже известными методами. В этой работе мы рассмотрим набор методов машинного обучения для прогнозирования временных рядов, не использующих свойство стационарности и применим описанные методы к данным цен биржевых торгов.
Прогнозирование цен биржевых торгов позволяет крупным компаниям принимать стратегические решения, а частным трейдерам совершать выгодные сделки. Цель этой работы - показать эффективность алгоритмов машинного обучения в вопросе прогнозирования цен биржевых торгов. Чтобы показать эффективность алгоритмов, были использованы исторические данные, предоставляемые Yahoo Finance [16], по нескольким финансовым инструментам: цены на акции компании Tesla, цена криптовалюты Bitcoin по отношению к доллару, цена доллара по отношению к евро и др.
Помимо задачи прогнозирования временных рядов, также будет рассмотрен вопрос вопроизводимости вычислений. Исследователи часто сталкиваются с двумя проблемами после завершения исследования.
Во-первых, при разработке методов машинного обучения, исследователь получает положительные результаты в специально настроенном окружении. Повторно настроить такое же окружение бывает просто невозможно и результат исследования невозможно переиспользовать для решения этой же задачи на продуктивном сервере.
Во-вторых, зачастую обнаруживается, что метод, примененный для решения задачи, невозможно использовать для решения похожих задач. Побочная цель этого исследования - обеспечить воспроизводимость пред-ставленного решения. Для этого будут использоваться такой инструмент как Snakemake [6].
✅ Заключение
Подход, связанный с симуляцией биржевых торгов, также дает положительный результат для большинства рядов.
В дальнейшем исследование может получить несколько векторов развития.
Во-первых, могут быть рассмотрены другие прогнозные модели. Например, можно использовать нейросетевые методы, или другие техники построения ансамблей.
Во-вторых, можно глубже исследовать вопрос предобработки исходных данных. Данные можно сглаживать при помощи скользящей средней, медианного фильтра или вейвлет-фильтра. Также можно рассмотреть различные декомпозиции временных рядов, например CEEMDAN [3].
В-третьих, результаты можно значительно улучшить, если обогатить модели внешними данными, которые бы объясняли исходный ряд. Например, акции Tesla связаны с высказываниями основателя компании в Twitter. Можно провести сентимент-анализ сообщений в Twitter, и использовать полученные результаты как экзогенные признаки для модели Stacking.
Что касается моделей классификации, их результаты могут быть улучшены всеми пунктами, перечисленными выше, а также если строить модели, которые совершали бы сделки внутри торговой сессии.



