17.06.2024

Прогноз цены акций (среднее значение OHLC) на следующие 90 дней с использованием LSTM

1 минута чтение

На протяжении веков люди пробовали разные методы прогнозирования цен на фондовом рынке, хотя зная, что на цены влияет множество факторов, и что бы они ни делали, маловероятно, что прогнозируемые цены достаточно точны, чтобы на них основывать свои инвестиционные решения. Следуя по стопам, вот моя попытка спрогнозировать цены на акции на следующие 90 дней исключительно на основе данных за предыдущие дни.
Начнем с импорта соответствующих библиотек и загрузки образца набора данных: Исторические данные ABBV (сентябрь 2018 г. — октябрь 2021 г.)

Затем мы объединяем цену закрытия, открытия, максимум и минимум в один столбец, беря их среднее значение для каждой записи.
Затем нам нужно преобразовать данные обучения и тестирования в форму, в которой данные предыдущего дня используются для прогнозирования данных следующего дня. Это делает следующая функция с step_size = 1:
Ниже приводится спецификация модели: (2 сложенных слоя LSTM с одним плотным слоем).
model = Последовательность
Затем мы компилируем модель и делаем прогнозы отдельно для данных поездов и тестов:

Просто взглянув на приведенный выше график, мы можем увидеть, что модель предсказывает довольно хорошие значения среднего OHLC наряду с низкими значениями RMSE. Итак, следующим шагом будет использование этой модели для прогнозирования на 90 дней после последнего прогноза.
Для этого мы определяем новую модель, обучаем ее на всем доступном наборе данных и используем ее для прогнозирования следующего значения. Получив это новое значение, мы добавляем его в набор данных и переобучаем модель на старом + новом наборе данных. Таким образом, мы продолжаем итерацию, пока не получим все прогнозы на 90 дней. Ниже приводится реализация: