Перейти к содержимому

Глава 256: Аспектный анализ тональности для финансов

Введение

Аспектный анализ тональности (Aspect-Based Sentiment Analysis, ABSA) выходит за рамки традиционной классификации тональности на уровне документа, идентифицируя конкретные аспекты (темы, сущности или атрибуты) в тексте и определяя тональность, выраженную по отношению к каждому из них независимо. В финансовых приложениях это различие критически важно: один отчёт о прибылях может выражать позитивную тональность в отношении роста выручки, одновременно передавая негативную тональность относительно растущих расходов. Классификатор на уровне документа усреднил бы эти сигналы, теряя гранулярную информацию, необходимую трейдерам.

Традиционный анализ тональности присваивает единую полярность (позитивная, негативная, нейтральная) всему документу. Для финансовых новостей этого недостаточно. Рассмотрим предложение: «Apple сообщила о рекордной выручке благодаря сильным продажам iPhone, но маржа сократилась из-за проблем с цепочкой поставок.» Модель уровня документа может оценить это как нейтральное или слегка позитивное, но аспектная модель корректно определяет:

  • Выручка → позитивная
  • Продажи iPhone → позитивная
  • Маржа → негативная
  • Цепочка поставок → негативная

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

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

Ключевые концепции

Извлечение аспектов

Извлечение аспектов — первый шаг в конвейере ABSA. Он идентифицирует сущности или темы, являющиеся объектами выражения тональности. В финансовом тексте типичные аспекты включают:

  • Финансовые метрики: выручка, прибыль, маржа, денежный поток, долг
  • Бизнес-сегменты: продукты, услуги, географические регионы
  • Операционные факторы: цепочка поставок, рабочая сила, НИОКР, капитальные затраты
  • Рыночные факторы: спрос, конкуренция, регулирование, макросреда

Подходы к извлечению аспектов:

  1. На основе правил: Предопределённые словари финансовых терминов, сгруппированных по категориям аспектов. Быстрый и интерпретируемый, но хрупкий и специфичный для домена.
  2. На основе частотности: Идентификация часто встречающихся именных групп в финансовом корпусе с последующей кластеризацией по категориям аспектов.
  3. Разметка последовательностей: Обучение модели (CRF, BiLSTM-CRF или на основе BERT) для разметки аспектных терминов в тексте с использованием BIO-тегов.
  4. На основе внимания: Использование весов внимания модели-трансформера для неявной идентификации токенов, соответствующих аспектам.

Классификация тональности аспектов

После извлечения аспектов классификация тональности определяет полярность, выраженную по отношению к каждому аспекту. Ключевая сложность состоит в том, что одно предложение может содержать несколько аспектов с различной полярностью.

Для предложения $s$, содержащего аспектный термин $a$, цель — предсказать полярность тональности $y \in {\text{позитивная}, \text{негативная}, \text{нейтральная}}$.

Модели на основе механизма внимания

Механизмы внимания позволяют модели фокусироваться на словах, наиболее релевантных конкретному аспекту при определении его тональности. Для представления предложения $\mathbf{H} = [\mathbf{h}_1, \mathbf{h}_2, \ldots, \mathbf{h}_n]$ и вложения аспекта $\mathbf{a}$ веса внимания вычисляются как:

$$\alpha_i = \frac{\exp(\mathbf{h}_i^T \mathbf{W}a \mathbf{a})}{\sum{j=1}^{n} \exp(\mathbf{h}_j^T \mathbf{W}_a \mathbf{a})}$$

Аспект-специфичное представление предложения:

$$\mathbf{r} = \sum_{i=1}^{n} \alpha_i \mathbf{h}_i$$

Это представление $\mathbf{r}$ передаётся через классификатор softmax для предсказания полярности тональности.

Подходы на основе BERT

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

$$\text{[CLS]} ; s_1 ; s_2 ; \ldots ; s_n ; \text{[SEP]} ; a_1 ; a_2 ; \ldots ; a_m ; \text{[SEP]}$$

Представление токена [CLS] передаётся через классификационную голову:

$$\hat{y} = \text{softmax}(\mathbf{W}c \cdot \mathbf{h}{\text{[CLS]}} + \mathbf{b}_c)$$

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

Финансовые категории аспектов

В структурированном финансовом анализе аспекты организованы в таксономию:

КатегорияАспектыПримеры фраз
ПрибыльностьВыручка, Маржа, EPS«выручка выросла на 15%», «сжатие маржи»
РостРост продаж, Рост пользователей, Доля рынка«ускоряющийся рост», «рост доли рынка»
РискДолг, Леверидж, Волатильность«уровень долга вызывает беспокойство», «снижение левериджа»
ОперацииЦепочка поставок, Эффективность, Капзатраты«цепочка поставок нормализовалась», «увеличение капзатрат»
ОценкаP/E, Целевая цена, Справедливая стоимость«торгуется с премией», «привлекательная оценка»
МакроПроцентные ставки, Инфляция, ВВП«влияние повышения ставок», «инфляционные встречные ветры»

Система оценки тональности

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

$$\text{Score}(a) = P(\text{позитивная} | a) - P(\text{негативная} | a)$$

Результат — оценка в диапазоне $[-1, 1]$:

  • $+1$: сильная позитивная тональность к аспекту $a$
  • $0$: нейтральная или смешанная тональность
  • $-1$: сильная негативная тональность к аспекту $a$

Агрегированная тональность для сущности по всем её аспектам использует взвешенное усреднение:

$$S_{\text{entity}} = \frac{\sum_{a \in A} w_a \cdot \text{Score}(a)}{\sum_{a \in A} w_a}$$

где $w_a$ — вес важности аспекта $a$.

Подходы машинного обучения

Извлечение аспектных терминов с разметкой последовательностей

Извлечение аспектов моделируется как задача разметки последовательностей с использованием BIO-тегов. Для входных токенов ${x_1, x_2, \ldots, x_n}$ каждому токену присваивается метка из ${B\text{-}ASP, I\text{-}ASP, O}$.

Модель BiLSTM-CRF сначала кодирует последовательность:

$$\overrightarrow{\mathbf{h}}_t = \text{LSTM}_f(\mathbf{x}t, \overrightarrow{\mathbf{h}}{t-1})$$ $$\overleftarrow{\mathbf{h}}_t = \text{LSTM}_b(\mathbf{x}t, \overleftarrow{\mathbf{h}}{t+1})$$ $$\mathbf{h}_t = [\overrightarrow{\mathbf{h}}_t ; \overleftarrow{\mathbf{h}}_t]$$

Слой CRF моделирует зависимости между метками:

$$P(\mathbf{y} | \mathbf{x}) = \frac{\exp\left(\sum_{t=1}^{n} \phi(y_{t-1}, y_t, \mathbf{h}t)\right)}{\sum{\mathbf{y}’} \exp\left(\sum_{t=1}^{n} \phi(y’_{t-1}, y’_t, \mathbf{h}_t)\right)}$$

Мульти-аспектная тональность с сетями внимания

Модель ABAE (Attention-based Aspect Extraction) совместно обучает вложения аспектов и классификацию тональности. Она использует структуру автокодировщика:

  1. Кодировщик: Отображает предложение в пространство аспектов через внимание
  2. Матрица вложений аспектов: $\mathbf{T} \in \mathbb{R}^{K \times d}$, где $K$ — число аспектов
  3. Реконструкция: Восстанавливает предложение из взвешенного аспектного представления

Генерация торговых сигналов

Выход ABSA преобразуется в торговые сигналы через несколько этапов:

  1. Агрегация аспектов: Объединение аспектных оценок для каждой сущности
  2. Кросс-секционная нормализация: Z-оценка сущностных оценок по всей инвестиционной вселенной
  3. Сглаживание сигнала: Экспоненциальное скользящее среднее для снижения шума

$$z_{i,t} = \frac{S_{i,t} - \mu_t}{\sigma_t}$$

$$\tilde{z}{i,t} = \lambda \cdot z{i,t} + (1 - \lambda) \cdot \tilde{z}_{i,t-1}$$

где $\lambda$ — коэффициент сглаживания (обычно 0.1–0.3 для дневных сигналов).

Конструирование признаков

Предобработка текста для финансового ABSA

Финансовый текст требует специализированной предобработки:

  • Нормализация тикеров: Приведение $AAPL, AAPL, Apple Inc. к каноническому виду
  • Обработка чисел: Сохранение финансовых показателей («выручка $2.3 млрд» → аспект: выручка, величина: 2.3 млрд)
  • Обнаружение отрицания: «не оправдала ожиданий» должно инвертировать полярность для аспекта «ожидания»
  • Обработка сравнений: «маржа улучшилась, но ниже аналогов» содержит как абсолютную, так и относительную тональность

Лексикон аспектной тональности

Доменно-специфичный лексикон сопоставляет финансовые термины с полярностью тональности:

ТерминАспектПолярностьИнтенсивность
превысила прогнозыПрибыльПозитивная0.8
сжатие маржиПрибыльностьНегативная-0.7
ускоряющийся ростРостПозитивная0.9
нарушение ковенантовРискНегативная-0.95
прогноз повышенПрогнозПозитивная0.85
сокращение персоналаОперацииНегативная-0.6

Применения

Анализ конференц-звонков по результатам

Конференц-звонки содержат богатую аспектную информацию о тональности. Система ABSA обрабатывает стенограммы для извлечения тональности по каждой обсуждаемой теме:

  1. Подготовленные замечания руководства: Обычно более позитивные (рекламная предвзятость)
  2. Раздел вопросов и ответов аналитиков: Более информативный, так как аналитики углубляются в конкретные аспекты
  3. Обнаружение смены тона: Сравнение аспектной тональности между последовательными кварталами

Декомпозиция тональности новостей

Финансовые новостные статьи декомпозируются в аспектные сигналы:

  • Аспекты компании: Прогноз выручки, запуск продуктов, изменения в руководстве
  • Секторные аспекты: Отраслевые тренды, конкурентная динамика
  • Макроаспекты: Регуляторные изменения, экономические индикаторы

Для криптовалютных рынков релевантные аспекты включают:

  • Технология: Обновления протокола, аудиты безопасности, улучшения масштабируемости
  • Адопция: Институциональный интерес, розничное использование, партнёрства
  • Регулирование: Государственная политика, комплаенс бирж, судебные процессы
  • Токеномика: Динамика предложения, доходность стейкинга, механизмы сжигания

Построение портфеля

Аспектная тональность позволяет строить более сложные портфельные стратегии:

  1. Аспектный моментум: Покупка активов с улучшающимися ключевыми аспектами, продажа ухудшающихся
  2. Аспектная дисперсия: Торговля на расхождении аспектных тональностей
  3. Кросс-активные аспектные сигналы: Если аспект «цепочка поставок» становится позитивным у нескольких компаний, увеличить вес сектора

Реализация на Rust

Наша реализация на Rust предоставляет полный набор инструментов для аспектного анализа тональности:

AspectExtractor

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

SentimentScorer

SentimentScorer реализует систему оценки тональности на основе лексикона. Для каждого обнаруженного аспекта он исследует окружающий контекст и оценивает тональность с учётом отрицаний и модификаторов интенсивности.

AspectSentimentAnalyzer

AspectSentimentAnalyzer объединяет AspectExtractor и SentimentScorer в единый конвейер для пакетной обработки документов.

TradingSignalGenerator

TradingSignalGenerator преобразует аспектную тональность в торговые сигналы через кросс-секционную нормализацию, экспоненциальное сглаживание и пороговую генерацию сигналов.

BybitClient

Структура BybitClient обеспечивает асинхронный HTTP-доступ к API Bybit V5 для получения рыночных данных криптовалют для бэктестинга стратегий на основе тональности.

Список литературы

  1. Pontiki, M., Galanis, D., Pavlopoulos, J., Papageorgiou, H., Androutsopoulos, I., & Manandhar, S. (2014). SemEval-2014 Task 4: Aspect Based Sentiment Analysis. Proceedings of SemEval 2014, 27-35.
  2. Wang, Y., Huang, M., Zhu, X., & Zhao, L. (2016). Attention-based LSTM for Aspect-level Sentiment Classification. Proceedings of EMNLP 2016, 606-615.
  3. He, R., Lee, W. S., Ng, H. T., & Dahlmeier, D. (2017). An Unsupervised Neural Attention Model for Aspect Extraction. Proceedings of ACL 2017, 388-397.
  4. Sun, C., Huang, L., & Qiu, X. (2019). Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence. Proceedings of NAACL-HLT 2019, 380-385.
  5. Araci, D. (2019). FinBERT: Financial Sentiment Analysis with Pre-Trained Language Models. arXiv preprint arXiv:1908.10063.
  6. Xu, H., Liu, B., Shu, L., & Yu, P. S. (2019). BERT Post-Training for Review Reading Comprehension and Aspect-based Sentiment Analysis. Proceedings of NAACL-HLT 2019, 2324-2335.
  7. Loughran, T., & McDonald, B. (2011). When is a Liability Not a Liability? Textual Analysis, Dictionaries, and 10-Ks. The Journal of Finance, 66(1), 35-65.