Глава 256: Аспектный анализ тональности для финансов
Введение
Аспектный анализ тональности (Aspect-Based Sentiment Analysis, ABSA) выходит за рамки традиционной классификации тональности на уровне документа, идентифицируя конкретные аспекты (темы, сущности или атрибуты) в тексте и определяя тональность, выраженную по отношению к каждому из них независимо. В финансовых приложениях это различие критически важно: один отчёт о прибылях может выражать позитивную тональность в отношении роста выручки, одновременно передавая негативную тональность относительно растущих расходов. Классификатор на уровне документа усреднил бы эти сигналы, теряя гранулярную информацию, необходимую трейдерам.
Традиционный анализ тональности присваивает единую полярность (позитивная, негативная, нейтральная) всему документу. Для финансовых новостей этого недостаточно. Рассмотрим предложение: «Apple сообщила о рекордной выручке благодаря сильным продажам iPhone, но маржа сократилась из-за проблем с цепочкой поставок.» Модель уровня документа может оценить это как нейтральное или слегка позитивное, но аспектная модель корректно определяет:
- Выручка → позитивная
- Продажи iPhone → позитивная
- Маржа → негативная
- Цепочка поставок → негативная
Для алгоритмической торговли такая декомпозиция позволяет генерировать более точные сигналы. Портфельный управляющий может взвешивать позиции на основе того, какие аспекты деятельности компании улучшаются или ухудшаются, вместо того чтобы полагаться на грубый агрегированный показатель тональности.
В этой главе представлена полная система аспектного анализа тональности в финансах. Мы рассматриваем теоретические основы, реализуем рабочую систему на Rust и демонстрируем интеграцию сигналов ABSA в торговую стратегию с использованием данных как фондового, так и криптовалютного рынка (Bybit).
Ключевые концепции
Извлечение аспектов
Извлечение аспектов — первый шаг в конвейере ABSA. Он идентифицирует сущности или темы, являющиеся объектами выражения тональности. В финансовом тексте типичные аспекты включают:
- Финансовые метрики: выручка, прибыль, маржа, денежный поток, долг
- Бизнес-сегменты: продукты, услуги, географические регионы
- Операционные факторы: цепочка поставок, рабочая сила, НИОКР, капитальные затраты
- Рыночные факторы: спрос, конкуренция, регулирование, макросреда
Подходы к извлечению аспектов:
- На основе правил: Предопределённые словари финансовых терминов, сгруппированных по категориям аспектов. Быстрый и интерпретируемый, но хрупкий и специфичный для домена.
- На основе частотности: Идентификация часто встречающихся именных групп в финансовом корпусе с последующей кластеризацией по категориям аспектов.
- Разметка последовательностей: Обучение модели (CRF, BiLSTM-CRF или на основе BERT) для разметки аспектных терминов в тексте с использованием BIO-тегов.
- На основе внимания: Использование весов внимания модели-трансформера для неявной идентификации токенов, соответствующих аспектам.
Классификация тональности аспектов
После извлечения аспектов классификация тональности определяет полярность, выраженную по отношению к каждому аспекту. Ключевая сложность состоит в том, что одно предложение может содержать несколько аспектов с различной полярностью.
Для предложения $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) совместно обучает вложения аспектов и классификацию тональности. Она использует структуру автокодировщика:
- Кодировщик: Отображает предложение в пространство аспектов через внимание
- Матрица вложений аспектов: $\mathbf{T} \in \mathbb{R}^{K \times d}$, где $K$ — число аспектов
- Реконструкция: Восстанавливает предложение из взвешенного аспектного представления
Генерация торговых сигналов
Выход ABSA преобразуется в торговые сигналы через несколько этапов:
- Агрегация аспектов: Объединение аспектных оценок для каждой сущности
- Кросс-секционная нормализация: Z-оценка сущностных оценок по всей инвестиционной вселенной
- Сглаживание сигнала: Экспоненциальное скользящее среднее для снижения шума
$$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 обрабатывает стенограммы для извлечения тональности по каждой обсуждаемой теме:
- Подготовленные замечания руководства: Обычно более позитивные (рекламная предвзятость)
- Раздел вопросов и ответов аналитиков: Более информативный, так как аналитики углубляются в конкретные аспекты
- Обнаружение смены тона: Сравнение аспектной тональности между последовательными кварталами
Декомпозиция тональности новостей
Финансовые новостные статьи декомпозируются в аспектные сигналы:
- Аспекты компании: Прогноз выручки, запуск продуктов, изменения в руководстве
- Секторные аспекты: Отраслевые тренды, конкурентная динамика
- Макроаспекты: Регуляторные изменения, экономические индикаторы
Для криптовалютных рынков релевантные аспекты включают:
- Технология: Обновления протокола, аудиты безопасности, улучшения масштабируемости
- Адопция: Институциональный интерес, розничное использование, партнёрства
- Регулирование: Государственная политика, комплаенс бирж, судебные процессы
- Токеномика: Динамика предложения, доходность стейкинга, механизмы сжигания
Построение портфеля
Аспектная тональность позволяет строить более сложные портфельные стратегии:
- Аспектный моментум: Покупка активов с улучшающимися ключевыми аспектами, продажа ухудшающихся
- Аспектная дисперсия: Торговля на расхождении аспектных тональностей
- Кросс-активные аспектные сигналы: Если аспект «цепочка поставок» становится позитивным у нескольких компаний, увеличить вес сектора
Реализация на Rust
Наша реализация на Rust предоставляет полный набор инструментов для аспектного анализа тональности:
AspectExtractor
Структура AspectExtractor использует словарный подход для идентификации финансовых аспектов в тексте. Она поддерживает отображение ключевых слов в категории аспектов и настраиваемые таксономии.
SentimentScorer
SentimentScorer реализует систему оценки тональности на основе лексикона. Для каждого обнаруженного аспекта он исследует окружающий контекст и оценивает тональность с учётом отрицаний и модификаторов интенсивности.
AspectSentimentAnalyzer
AspectSentimentAnalyzer объединяет AspectExtractor и SentimentScorer в единый конвейер для пакетной обработки документов.
TradingSignalGenerator
TradingSignalGenerator преобразует аспектную тональность в торговые сигналы через кросс-секционную нормализацию, экспоненциальное сглаживание и пороговую генерацию сигналов.
BybitClient
Структура BybitClient обеспечивает асинхронный HTTP-доступ к API Bybit V5 для получения рыночных данных криптовалют для бэктестинга стратегий на основе тональности.
Список литературы
- 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.
- Wang, Y., Huang, M., Zhu, X., & Zhao, L. (2016). Attention-based LSTM for Aspect-level Sentiment Classification. Proceedings of EMNLP 2016, 606-615.
- 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.
- 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.
- Araci, D. (2019). FinBERT: Financial Sentiment Analysis with Pre-Trained Language Models. arXiv preprint arXiv:1908.10063.
- 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.
- 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.