Хелпикс

Главная

Контакты

Случайная статья





ESTIMATION OF STOCK INDEX FORECASTING USING LSTM NEURAL NETWORK



ESTIMATION OF STOCK INDEX FORECASTING USING LSTM NEURAL NETWORK

Abstract

Subject/topic. The study examines the work of the LSTM layer as part of a neural network for predicting the values of the RTS stock index on the next working day.

Goals/tasks. Measuring the effectiveness of implementing scalar regression of neural network architecture using the LSTM layer on the example of forecasting the RTS index.

Methodology. One of the possible basic (naive) solutions is modeled, thus the target efficiency for the created neural network is determined. The simplest neural network solution is being created – a shallow fully connected network, on the example of which the validity of using cross-validation for K blocks is determined. The efficiency of an LSTM network with a shallow fully connected neural network is compared according to the MAE (mean absolute error) metric. A gradual optimization of the chosen architecture is carried out, then the work of the final version of the neural network is analyzed on a test sample, which is compared with the effectiveness of the naive solution.

Results/conclusions. The LSTM network did not show good results - the effectiveness of the naive (basic) forecasting method turned out to be higher. It is concluded that it is better to include LSTM in a stack with other technologies, algorithms and input data. It is suggested that LSTM may be more suitable for binary or multiclass classification than for scalar regression.

Keywords: LSTM, neural network, stock index forecasting, fully connected neural network, recurrent neural network, financial market, machine learning, optimization.

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

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

В данной статье будет проанализирована работа популярного сегодня рекуррентного слоя нейросетевых архитектур – несвёрточного LSTM (long short-term memory). Исследование будет проходить следующим образом: во-первых, будет смоделировано базовое решение – наш бенчмарк эффективности, который нам предстоит преодолеть созданной нейросетью, во-вторых, необходимо создать простейшую нейросеть для решения поставленной задачи прогнозирования, как некий аналог бенчмарка, только в пространстве нейросетей, в-третьих, должна быть скомпилирована сеть хотя бы с одним слоем LSTM, которая по эффективности будет лучше как простейшей нейросети, так и базового решения на валидационной выборке, в-четвёртых, будет воспроизведён точечный прогноз на тестовой выборке, а также подсчитаны основные метрики, в конце же последует вывод по проделанной работе.

Исследование будет проводиться в следующих рамках:

1) Эффективность LSTM будет оценена только со стороны скалярной регрессии;

2) На вход нейросети будут поданы временные ряды дневных цен закрытия индекса РТС, индекса ММВБ, индекса S& P500, склеенного фьючерса на нефть Brent и валютная пара USD/RUB (FOREX) с 11 декабря 2011 года (все ряды нормализованы, среднее и стандартное отклонение для этого, естественно, взяты от тренировочной выборки);

3) Количество последних данных, учитываемых для реализации прогноза – 15 дней, то есть три недели рабочих дней;

4) Горизонт прогнозирования - цена закрытия РТС на завтрашний день;

5) Некоторые решения будут содержать определённые константы (например, число блоков при разбивке по К блокам и т. д. ).

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

Базовое (наивное) решение. Нашим базовым (наивным) решением будет логика, прогнозирующая на следующий день такое значение цены закрытие индекса РТС, которое было сегодня. Логично, что при таком прогнозировании будет наименьший спред между наивным прогнозом и реальной ценой на завтра. Но здесь есть несколько деталей, которые мы обязаны учесть для полноты картины, и для этого нужно прояснить особенности нейросетевых структур, создаваемых нами в следующих пунктах. Дело всё в том, что мы не можем сразу определить варианты обучения моделей «на глаз», потому что количество собранных данных относительно не велико и равняется 2661 дневных закрытий, единственное, мы можем с уверенностью сказать, что временной ряд рыночных цен лучше не перемешивать. Однако остаётся два варианта препроцессинга и обучения: перекрёстная проверка по K блокам (положение валидационных данных в таком случае не будет являться константой) и обучение на обычном срезе главной выборки (здесь уже каждая подвыборка закрепит за собой определённое неизменное положение) [2].

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

Нашей основной метрикой эффективности, которую мы будем отслеживать до конца анализа, будет MAE (mean absolute error, средняя абсолютная ошибка). Так как данные для всех моделей и оценок будут нормализованные, то для репрезентативности MAE лучше «восстанавливать» до исходных единиц измерения индекса РТС, умножая полученную ошибку на среднеквадратичное отклонение тренировочных данных. В статье MAE, не восстановленное до оригинальных единиц, будет только на графиках, в остальных случаях показатель будет представлен уже с поправкой на нормализацию (в долларах).

В изначальном наборе рядов на финальный тест будет приходиться 25%, на валидацию (или контроль/проверку) 25% от оставшихся входных данных (в конкретных индексах, считая, что первое измерение было нулевым: тренинг оканчивается на 1496 дне, а валидация / контроль – на 1995). Перекрёстная проверка по K блокам будет проходить на совмещённой подвыборке «тренинг + валидация», с той целью, чтобы предусмотреть изменение положения контрольных данных. Блоков в проверке будет 4 штуки. Таким образом, MAE базового решения при таком методе проверки составляет 15, 22 доллара США. Теперь вычислим MAE на всём промежутке данных, а также на валидационной выборке (с 1497 дня до 1995), они соответственно раны 15, 18 и 11, 15 долларов. Мы получили диапазон нашего бенчмарка – от 11, 15 до 15, 22 долларов, значит все последующие структуры должны как минимум на валидационной выборке в него попасть.

Простейшее нейросетевое решение. Простейшим решением будет неглубокая сеть (обычный перцептрон) всего с двумя полносвязными слоями (Dense): входной слой (16 нейронов, функция активации – линейный выпрямитель, или полулинейный элемент) и выходной слой (так как мы хотим воспроизвести скалярную регрессию, у нас в этом слое будет 1 нейрон без функции активации); функцией потерь будет выступать MAE, а её оптимизатором – градиентный спуск с импульсом. Мы проведём проверку на 100 эпохах. Эта и дальнейшие реализации будут производиться в Keras[1].

Перекрёстная проверка такой базовой архитектуры по 4 блокам показала, что минимальное значение MAE (считались средние MAE на каждую эпоху по 4 блокам обучения) составило 63, 26 доллара (см. рис. 1). Видно, что переобучение наступило практически мгновенно, и среднее потерь на валидационных выборках начало постепенно увеличиваться сразу с запуска процесса.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.