Инновационные подходы к прогнозированию цен на финансовые активы: большие языковые модели и современные алгоритмы

Автор статьи, участник AI-Лаборатории УИИ Венин Иван Михайлович

Введение

Прогнозирование цен на финансовые активы является критически важной задачей в сфере финансов. Для достижения наилучших результатов используются различные методы машинного обучения и статистические модели. В данной статье представлены результаты трёх моих экспериментов по прогнозированию цен на акции Газпрома. Для каждого эксперимента применялись следующие алгоритмы: LLMTime с языковой моделью openai/gpt-4o, Auto SARIMAX из библиотеки auto-ts и NeuralProphet.

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

  • LLMTime с языковой моделью openai/gpt-4o: использует возможности больших языковых моделей (LLM) для предсказания временных рядов без предварительного обучения. Это позволяет эффективно моделировать сложные мультимодальные распределения и учитывать отсутствующие данные.

  • Auto SARIMAX: статистический метод, который хорошо подходит для временных рядов с сезонностью и трендами. Автоматическая настройка параметров модели позволяет находить наилучшие настройки для конкретных данных.

  • NeuralProphet: современная модель, основанная на глубоких нейронных сетях, которая сочетает в себе возможности Prophet и Neural Networks. Она позволяет моделировать сложные временные ряды и учитывать различные влияющие факторы.

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

Эксперимент 1: Применение алгоритма LLMTime

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

Описание метода
Для первого эксперимента использовался алгоритм LLMTime с моделью openai/gpt-4o. В основе подхода лежит преобразование временных рядов в строку числовых цифр и рассмотрение предсказания временных рядов как задачи предсказания следующего токена в тексте. Это позволяет использовать мощные предобученные модели и вероятностные возможности, такие как оценка правдоподобия и выборка.

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

Функция для предсказания:

График цены и предсказания первой модели (LLMTime)

close price
LLMTime (gpt-4o)

График автокорреляции № 1 (LLMTime)

Объяснение автокорреляции

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

Эксперимент 2: Применение модели Auto SARIMAX

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

Описание метода
Auto SARIMAX (Seasonal AutoRegressive Integrated Moving Average with eXogenous factors) — это статистический метод, который автоматически настраивает параметры модели для временных рядов с сезонностью и трендами. Этот подход хорошо подходит для данных с явно выраженными сезонными компонентами и трендами. Модель SARIMAX учитывает автокорреляцию, сезонные эффекты и экзогенные факторы, что делает её мощным инструментом для анализа временных рядов.

Реализация
В реализации использовался Auto SARIMAX из библиотеки auto-ts, который автоматизирует процесс подбора параметров модели, что значительно упрощает настройку и улучшает качество предсказаний.

Функция для предсказания:

График цены и предсказания второй модели (auto_SARIMAX)

close price
auto_SARIMAX

График автокорреляции № 2 (Auto SARIMAX)

Объяснение автокорреляции

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

Эксперимент 3: Применение модели NeuralProphet

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

Описание метода
NeuralProphet — это современная модель для прогнозирования временных рядов, объединяющая возможности Facebook* Prophet и нейронных сетей. Построенная на PyTorch, NeuralProphet использует как традиционные подходы к анализу временных рядов, так и методы глубокого обучения. Это позволяет эффективно моделировать сложные временные ряды и учитывать различные влияющие факторы, такие как тренды, сезонные компоненты и экзогенные переменные.

Реализация
В реализации использовалась библиотека NeuralProphet, которая объединяет возможности Prophet и AR-Net, что позволяет построить интерпретируемую модель временного ряда с использованием нейронных сетей.

Запуск нескольких моделей и выбор лучшей:

График цены и предсказания третьей модели (NeuralProphet)

close price
NeuralProphet

График автокорреляции № 3 (NeuralProphet)

Объяснение автокорреляции

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

Обобщение результатов

Результаты предсказаний

Комментарии к таблице

В таблице приведены фактические цены акций Газпрома и прогнозы, сделанные тремя различными моделями на пять дней. Модель Auto SARIMAX показывает наибольшую точность в предсказаниях, тогда как LLMTime и NeuralProphet также демонстрируют хорошие результаты, но с небольшими отклонениями. Это указывает на то, что все три модели способны улавливать основные тренды временного ряда, однако точность каждой модели может варьироваться в зависимости от специфики данных.

Метрики моделей

Комментарии к метрикам

Метрики моделей показывают, что Auto SARIMAX имеет наименьшие значения RMSE (среднеквадратичной ошибки), MAE (средней абсолютной ошибки) и MAPE (средней абсолютной процентной ошибки), что указывает на её превосходство в точности предсказаний. NeuralProphet и LLMTime также показывают хорошие результаты, однако несколько уступают Auto SARIMAX по всем метрикам.

График цены и предсказания всех моделей

Комментарии к графику

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

Выводы

Результаты эксперимента показали, что все три модели успешно справились с задачей прогнозирования цен на акции Газпрома. Модель Auto SARIMAX продемонстрировала наилучшую производительность по всем метрикам. Тем не менее, эти значения не являются вполне корректными, так как график автокорреляции показывает наличие зависимости между предсказанными и реальными значениями, особенно заметную в самом начале. Это указывает на тенденцию алгоритма предсказывать то, что было несколько шагов назад.

Анализ автокорреляции (ACF) выявил, что модели Auto SARIMAX и NeuralProphet демонстрируют значительные автокорреляции, особенно на первом шаге, что свидетельствует о наличии паттернов в ошибках предсказания. Это означает, что модели имеют склонность к запаздывающим предсказаниям и могут не полностью учитывать все аспекты временной структуры данных. В частности, модели могут недооценивать изменения тренда или сезонности, что приводит к последовательным ошибкам.

Для более точного прогнозирования может потребоваться дополнительная настройка параметров моделей или использование дополнительных признаков (features) для учёта всех аспектов временной динамики данных. Потенциальным решением также может быть увеличение периода для предсказания, пропускание первых значений и продолжение экспериментов.

Модель NeuralProphet проявила себя достойно, подтверждая инновационность подхода, который позволяет моделировать сложные временные ряды, принимая во внимание разнообразные факторы, влияющие на данные. Что касается алгоритма из библиотеки LLMTime, он также показал хорошие результаты и лучшие параметры по автокорреляции, что подтверждает потенциал использования больших языковых моделей (LLM) для анализа временных рядов.

Заключение

Выбор модели для анализа временных рядов должен основываться на специфике задачи, характеристиках данных и доступных вычислительных ресурсах. Каждая из рассмотренных моделей имеет свои преимущества и ограничения, которые необходимо учитывать при их практическом применении. Эксперименты показали, что модель Auto SARIMAX продемонстрировала наилучшую производительность по основным метрикам. Тем не менее, модели NeuralProphet и LLMTime также оказались весьма эффективными и способны учитывать сложные временные зависимости.

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

Полезные ссылки

* - организация Meta запрещена в РФ как нежелательная
Made on
Tilda