Введение 4
Постановка задачи 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
Список литературы
Прогнозирование временных рядов играет важную роль в задачах экономики, финансов, прогнозировании погоды, анализе электроэнергии и прочих [4].
Эта задача достаточно изучена для временных рядов, обладающих свойством стационарности - статистическим свойством, при котором основные характеристики ряда остаются неизменными со временем. Стационарные ряды успешно прогнозируются линейными моделями, такими как ARIMA, GARCH, Exponential smoothing и другими. Однако при работе с реальными данными временные ряды зачастую оказываются нестационарными. Такие ряды стараются свести к стационарным и прогнозировать их уже известными методами. В этой работе мы рассмотрим набор методов машинного обучения для прогнозирования временных рядов, не использующих свойство стационарности и применим описанные методы к данным цен биржевых торгов.
Прогнозирование цен биржевых торгов позволяет крупным компаниям принимать стратегические решения, а частным трейдерам совершать выгодные сделки. Цель этой работы - показать эффективность алгоритмов машинного обучения в вопросе прогнозирования цен биржевых торгов. Чтобы показать эффективность алгоритмов, были использованы исторические данные, предоставляемые Yahoo Finance [16], по нескольким финансовым инструментам: цены на акции компании Tesla, цена криптовалюты Bitcoin по отношению к доллару, цена доллара по отношению к евро и др.
Помимо задачи прогнозирования временных рядов, также будет рассмотрен вопрос вопроизводимости вычислений. Исследователи часто сталкиваются с двумя проблемами после завершения исследования.
Во-первых, при разработке методов машинного обучения, исследователь получает положительные результаты в специально настроенном окружении. Повторно настроить такое же окружение бывает просто невозможно и результат исследования невозможно переиспользовать для решения этой же задачи на продуктивном сервере.
Во-вторых, зачастую обнаруживается, что метод, примененный для решения задачи, невозможно использовать для решения похожих задач. Побочная цель этого исследования - обеспечить воспроизводимость пред-ставленного решения. Для этого будут использоваться такой инструмент как Snakemake [6].
Таким образом, использованные методы прогнозирования в некоторых случаях дают прогноз лучше, чем наивное или случайное предсказание. Учитывая высокую волатильность рынков, этот результат является значимым. Использованные подходы прогнозирования универсальны и их можно применять для предсказания любых других временных рядов, например, в задачах прогнозирования погоды, городских пробок и различных экономических показателей. Полученные результаты можно улучшить, если учитывать внешние факторы, объясняющие исходный ряд.
Подход, связанный с симуляцией биржевых торгов, также дает положительный результат для большинства рядов.
В дальнейшем исследование может получить несколько векторов развития.
Во-первых, могут быть рассмотрены другие прогнозные модели. Например, можно использовать нейросетевые методы, или другие техники построения ансамблей.
Во-вторых, можно глубже исследовать вопрос предобработки исходных данных. Данные можно сглаживать при помощи скользящей средней, медианного фильтра или вейвлет-фильтра. Также можно рассмотреть различные декомпозиции временных рядов, например CEEMDAN [3].
В-третьих, результаты можно значительно улучшить, если обогатить модели внешними данными, которые бы объясняли исходный ряд. Например, акции Tesla связаны с высказываниями основателя компании в Twitter. Можно провести сентимент-анализ сообщений в Twitter, и использовать полученные результаты как экзогенные признаки для модели Stacking.
Что касается моделей классификации, их результаты могут быть улучшены всеми пунктами, перечисленными выше, а также если строить модели, которые совершали бы сделки внутри торговой сессии.
[1] Apache Airflow. URL:https : / /airflow . apache . org/ (дата обр. 04.05.2021).
[2] G.E.P. Box, G.M. Jenkins и WISCONSIN UNIV MADISON Dept. of STATISTICS. Time Series Analysis: Forecasting and Control. Holden- Day series in time series analysis and digital processing. Holden-Day, 1970. ISBN: 9780816210947. URL:https://books.google.ru/books?id=5BVfnXaq03oC.
[3] Jian Cao, Zhi Li и Jian Li. “Financial time series forecasting model based on CEEMDAN and LSTM”. В: Physica A: Statistical Mechanics and its Applications 519 (2019), с. 127—139. ISSN: 0378-4371. DOI:https://doi . org / 10. 1016/j . physa . 2018 . 11.061. URL:https : / / www .sciencedirect.com/science/article/pii/S0378437118314985.
[4] Jan G. De Gooijer и Rob J. Hyndman. “ 25 years of time series forecasting”. В: International Journal of Forecasting 22.3 (2006). Twenty five years of forecasting, с. 443—473. ISSN: 0169-2070. DOI:https://doi.org/10.1016/j.ijforecast.2006.01.001. URL:https://www.sciencedirect. com/science/article/pii/S0169207006000021.
[5] Felix Gers, Douglas Eck и Jurgen Schmidhuber. “Applying LSTM to Time Series Predictable through Time-Window Approaches”. В: авг. 2001, с. 669— 676. ISBN: 978-3-540-42486-4. DOI:10.1007/3-540-44668-0_93.
[6] Johannes Koster и Sven Rahmann. “Snakemake—a scalable bioinformatics workflow engine”. В: Bioinformatics 28.19 (авг. 2012), с. 2520—2522. ISSN: 1367-4803. DOI:10.1093/bioinformatics/bts480. eprint:https://academic . oup . com/bioinformatics/article-pdf/28/19/2520/819790/bts480.pdf. URL:https://doi.org/10.1093/bioinformatics/ bts480.
[7] A Lapedes и R Farber. “ Nonlinear signal processing using neural networks: Prediction and system modelling”. В: (июнь 1987). URL:https://www.osti.gov/biblio/5470451.
[8] Gregory R. Lee и др. “PyWavelets: A Python package for wavelet analysis”. В: Journal of Open Source Software 4.36 (2019), с. 1237. DOI:10.21105/joss.01237. URL:https://doi.org/10.21105/joss.01237.
[9] Xueheng Qiu и др. “Ensemble deep learning for regression and time series forecasting”. В: 2014 IEEE Symposium on Computational Intelligence in Ensemble Learning (CIEL). 2014, с. 1—6. DOI:10.1109/CIEL.2014.7015739.
[10] Matheus Henrique Dal Molin Ribeiro и Leandro dos Santos Coelho. “Ensemble approach based on bagging, boosting and stacking for short-term prediction
in agribusiness time series”. В: Applied Soft Computing 86 (2020), с. 105837. ISSN: 1568-4946. DOI:https : //doi . org/ 10 . 1016/j . asoc . 2019 .
105837. URL:https://www.sciencedirect.com/science/article/pii/S1568494619306180.
[11] Sima Siami-Namini, Neda Tavakoli и Akbar Siami Namin. “A Comparison of ARIMA and LSTM in Forecasting Time Series”. В: 2018 17th IEEE International Conference on Machine Learning and Applications (ICMLA). 2018, с. 1394—1401. DOI:10.1109/ICMLA.2018.00227.
[12] spotify/luigi: Luigi is a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in. URL:https://github.com/spotify/luigi (дата обр. 04.05.2021).
[13] Martin Sundermeyer, Ralf Schluter и Hermann Ney. “LSTM Neural Networks for Language Modeling”. В: сент. 2012.
[14] Fei Wang и др. “Wavelet Decomposition and Convolutional LSTM Networks Based Improved Deep Learning Model for Solar Irradiance Forecasting”.
В: Applied Sciences 8.8 (2018). ISSN: 2076-3417. DOI:10.3390/app8081286. URL:https://www.mdpi.com/2076-3417/8/8/1286.
[15] Peter R. Winters. “Forecasting Sales by Exponentially Weighted Moving Averages”. В: Management Science 6.3 (1960), с. 324—342. ISSN: 00251909, 15265501. URL:http://www.jstor.org/stable/2627346.
[16] Yahoo Finance [Электронный ресурс].URL:https://finance.yahoo.com/ (дата обр. 04.05.2021).
[17] АО СПбМТСБ, Санкт-Петербургская Международная Товарно-сырьевая Биржа.URL:https://spimex.com/ (дата обр. 04.05.2021).
[18] Носко В.П. Эконометрика. Введение в регрессионный анализ временных рядов. Т. 312 страниц. 2004. ISBN: 5-94010-322-7.
[19] Магнус Я. Р., Катышев П. К. и Пересецкий А. А. Эконометрика. Начальный курс. 2004.
[20] Ковалев С.С. “Прогнозирование средневзвешенной цены торгов нефтепродуктами на бирже классическими методами анализа временных рядов.” В: Процессы управления и устойчивость. №51. (2020).