Влияние новостей
на прибыльность стратегий торговли на биржах. Использование генетических алгоритмов для подбора биржевых индикаторов и LLM для анализа новостного сентимента.

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

Введение

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

В частности, новости могут вызывать краткосрочные колебания цен, и в последние годы все больше внимания уделяется не только самим новостям, но и их сентименту — эмоциональной окраске, которая может повлиять на восприятие информации участниками рынка.
Криптовалюты, такие как Bitcoin (BTC), известны своей высокой волатильностью и чувствительностью к новостному фону. Даже слухи и заявления отдельных компаний могут привести к резким колебаниям цен. В то же время, более традиционные рынки, такие как индекс Московской биржи (IMOEX), менее волатильны, но также подвержены влиянию новостей. Несмотря на меньшую подверженность резким колебаниям, правильное использование новостных данных и сентимента может улучшить точность прогнозов и торговых стратегий даже на более стабильных рынках.

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

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

Цель исследования

Цель исследования заключается в проверке влияния новостей на временные ряды финансовых рынков. Основная задача — определить, как включение сентимента новостей может улучшить предсказательные модели и торговые стратегии.

Используемые данные

В исследовании использованы следующие данные:
  • Цены на Bitcoin (BTC): временные ряды цен, включая открытие, закрытие, минимальные и максимальные значения, а также объём торгов.
  • Цены на Индекс Московской биржи (IMOEX): характеристики аналогично BTC.
  • Новости: спарсены из Telegram-каналов по криптовалютам (для BTC) за 1 год и ключевым новостям с финансовых рынков (для IMOEX) за 2,5 года. Для каждой новости был определён сентимент с помощью модели gpt-4o-mini
  • Предварительно собранные данные были обработаны и обогащены за счёт добавления индикаторов технического анализа и сентимента. Полученный фрейм данных был сохранён и использован для дальнейшего анализа.

Фрагмент датасета по новостям для BTC

Фрагмент итогового датасета для BTC

Фрагмент итогового датасета для BTC (продолжение)

Фрагмент датасета по новостям для IMOEX

Фрагмент итогового датасета для IMOEX

Фрагмент итогового датасета для IMOEX (продолжение)

Поиск оптимальных признаков с помощью генетических алгоритмов

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

Процесс выбора признаков включал следующие этапы:

1. Инициализация популяции:
Начальная популяция представляла собой множество различных комбинаций признаков из нашего набора данных. Каждая комбинация определялась как набор индикаторов, используемых для построения модели.

2. Оценка приспособленности:
Для каждой комбинации признаков рассчитывались показатели эффективности модели, такие как точность (accuracy score) и прибыльность (PnL). Эти показатели служили критерием для оценки "качества" или приспособленности каждой комбинации.

3. Селекция и кроссовер:
На основе вычисленных показателей производился отбор лучших комбинаций (или "индивидов") для создания новой популяции. Кроссовер позволял обмениваться признаками между комбинациями, чтобы создать новые, потенциально более эффективные варианты.

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

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

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

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

Bitcoin:
  • RSI (Relative Strength Index): Индикатор относительной силы, измеряющий скорость и изменение ценовых движений. Используется для оценки условий перекупленности или перепроданности актива. Период обычно рассчитывается на основе 14 периодов. Значения выше 70 могут указывать на перекупленность, ниже 30 — на перепроданность.
  • SMA (Simple Moving Average): Простое скользящее среднее, которое помогает выявить тренды на основе среднего значения цены актива за определённый период. Используется для сглаживания ценовых колебаний.
  • SMA_14: Скользящее среднее за последние 14 периодов, которое помогает в анализе краткосрочных трендов.
  • OBV (On-Balance Volume): Индикатор объёмов, который суммирует объём торгов в зависимости от направления изменения цены. Если цена растёт, объём добавляется к OBV; если падает — вычитается.
  • MFI (Money Flow Index): Индикатор денежного потока, сочетающий цену и объём для оценки давления покупок и продаж. Включает как цену, так и объём, что делает его более комплексным по сравнению с RSI.
  • Histogram (MACD Histogram): Разница между линией MACD и сигнальной линией. Положительное значение гистограммы указывает на бычий тренд, отрицательное — на медвежий.
  • Sentiment: Сентимент новостей, оценивающий эмоциональную окраску новостных сообщений. Диапазон значений — от -2 до 2. Положительный сентимент может указывать на благоприятный информационный фон, отрицательный — на неблагоприятный.

IMOEX (индекс Московской биржи):
  • RSI: Индикатор относительной силы, показывающий условия перекупленности и перепроданности актива.
  • NATR (Normalized Average True Range): Индикатор, оценивающий волатильность рынка.
  • DMI (Directional Movement Index): Индикатор направленного движения, используемый для оценки силы и направления тренда.
  • ADX (Average Directional Index): Индикатор, который помогает оценить силу текущего тренда.
  • MACD_Line и Signal_Line: Комбинация двух индикаторов MACD, позволяющих оценить изменения в скорости тренда. Разница между ними может указывать на развороты тренда.
  • Sentiment: Эмоциональная окраска новостей, которая помогает оценить влияние внешней информации на поведение участников рынка.
Эти признаки представляют собой комбинацию традиционных технических индикаторов и новостного сентимента, что позволяет более комплексно анализировать рынок и делать более обоснованные торговые решения.

Построил матрицы корреляций, из которых видно, что у новостного сентимента отсутствует корреляция со значениями индикаторов. И это очень позитивно, что подтверждает важные аспекты моей гипотезы. Новости - являются отличительным и значимым признаком моего датасета.

Матрица корреляции для BTC

Матрица корреляции для IMOEX

Модели и методы

Для оценки влияния новостей на цены Bitcoin (BTC) и индекс Московской биржи (IMOEX) использовались две модели машинного обучения: Decision Tree и Random Forest. Эти модели были выбраны за их простоту и интерпретируемость. Далее будут представлены результаты Decision Tree для ВТС и Random Forest для IMOEX.

1. Обучение и предсказание:
  • Модели обучались на исторических данных с использованием предобработанных признаков, включая индикаторы и сентимент.
  • Оценка точности предсказаний проводилась с использованием метрики accuracy score.
  • Прогнозы использовались для генерации торговых сигналов (покупка/продажа).

2. Анализ стратегии:
  • На основе предсказаний моделей генерировались торговые сигналы, которые применялись к историческим данным для оценки прибыльности.
  • Оценка стратегии проводилась на основе геометрических доходностей, что позволяло определить общую прибыльность подхода.

Decision Tree для ВТС.

В рамках первого эксперимента выполнены следующие действия:

  1. Сбор и анализ данных:
  • Спарсены новости и определён сентимент каждой новости.
  • Получены биржевые данные по BTC, проведена их предобработка, включая добавление индикаторов и сентимента.
  • Собранные данные использованы для обучения моделей.

2. Построение и тестирование моделей:
  • Создан бот с использованием генетических алгоритмов, оптимизирующий выбор признаков для модели.
  • Проведено тестирование стратегий на исторических данных BTC.
  • Лучшие результаты были достигнуты при включении сентимента новостей.

3. Результаты работы бота:
  • Бот с набором индикаторов и сентимента достиг PnL 2.6362
  • и точности 51.85%. Это значит, что в данной торговой стратегии
  • депозит с 1 (100%) увеличился до 2,6362 (263%).
  • Важно! Торговая стратегия не учитывает комиссии. И цель эксперимента проверить исключительно только влияние новостей!
  • Эксперименты показали, что исключение сентимента приводит к значительному снижению PnL, подтверждая важность этого параметра.

График цены BTC на тестовом периоде

Вычисления метрики №1

График доходности стратегии (BTC)

Убираем из датасета признак сентимента и вычисляем доходность …

Вычисления метрики №2

График доходности стратегии (BTC, без сентимента)

Random Forest для IMOEX

Аналогично первого эксперимента выполнены:

  1. Сбор и анализ данных:
  • Спарсены новости и определён сентимент каждой новости.
  • Получены биржевые данные по IMOEX, проведена их предобработка, включая добавление индикаторов и сентимента.
  • Собранные данные использованы для обучения моделей.

2. Построение и тестирование моделей:
  • Создан бот с использованием генетических алгоритмов, оптимизирующий выбор признаков для модели машинного обучения.
  • Проведено тестирование стратегий на исторических данных IMOEX.
  • Лучшие результаты были достигнуты при включении сентимента новостей.

3. Результаты работы бота:
  • Бот с набором индикаторов и сентимента достиг PnL 1.4219 и точности 52.44%. Это значит, что в данной торговой стратегии депозит с 1 (100%) увеличился до 1,4219 (142%).
Важно! Торговая стратегия не учитывает комиссии. И цель эксперимента проверить исключительно только влияние новостей!
  • Эксперименты показали, что исключение сентимента приводит к значительному снижению PnL, подтверждая важность этого параметра.

График цены IMOEX на тестовом периоде

Вычисления метрики №1

График доходности стратегии (IMOEX)

Убираем из датасета признак сентимента и вычисляем доходность …

Вычисления метрики №2

График доходности стратегии (IMOEX, без сентимента)

Итоги

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

Построенные матрицы корреляций для лучших моделей показали отсутствие корреляции между сентиментом и традиционными финансовыми индикаторами, такими как RSI, SMA, MACD и другими. Это указывает на то, что сентимент является независимым фактором, который оказывает уникальное влияние на рыночные движения. Его учет позволяет моделям учитывать аспекты рынка, которые не охватываются традиционными техническими индикаторами.

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

Эксперимент с индексом Московской биржи (IMOEX), менее волатильным активом, также продемонстрировал, что включение сентимента может улучшить результаты, хотя эффект был выражен менее значительно. Тем не менее, это указывает на то, что эмоциональный аспект новостей важен не только для волатильных активов, но и для более стабильных рынков.

Таким образом, сентимент новостей является ценным и независимым источником информации, который можно эффективно использовать для улучшения торговых стратегий. Особенно это актуально для рынков с высокой волатильностью, таких как криптовалюты, но также имеет значение для традиционных фондовых индексов. Учет сентимента может стать мощным инструментом для повышения эффективности моделей машинного обучения, применяемых для анализа финансовых рынков.
Made on
Tilda