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

Глава 259: Мультимодальный NLP для трейдинга

Введение

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

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

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

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

Модальности на финансовых рынках

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

  • Текст: Новостные статьи, транскрипты звонков по итогам квартала, документы SEC, публикации в социальных сетях, аналитические отчёты. Текст передаёт семантический смысл, тональность и прогностические утверждения.
  • Изображения: Графики японских свечей, паттерны технического анализа, тепловые карты корреляционных матриц, визуализации глубины книги заявок. Изображения кодируют пространственные паттерны, которые сложно выразить числами.
  • Аудио: Записи звонков по итогам квартала, интервью с руководителями, речи центральных банков. Аудио несёт паралингвистические признаки — тон, паузы, ударения — которые теряются в текстовых транскриптах.
  • Структурированные данные: Ценовые временные ряды, профили объёма, снимки книги заявок, фундаментальные коэффициенты. Структурированные данные обеспечивают количественную основу любой торговой системы.

Каждая модальность имеет собственную архитектуру кодировщика. Текст использует трансформерные модели (BERT, FinBERT), изображения — сверточные сети или визуальные трансформеры (ViT), аудио — кодировщики мел-спектрограмм или wav2vec, а структурированные данные — временные модели (LSTM, TCN) или простые многослойные перцептроны.

Стратегии слияния

Центральная задача в мультимодальном обучении — как объединить представления из разных модальностей. Существуют три основные стратегии:

Раннее слияние (Early Fusion)

Раннее слияние конкатенирует сырые или слабо обработанные признаки из всех модальностей в единый входной вектор перед подачей в общую модель:

$$\mathbf{z} = f(\text{concat}(\mathbf{x}{\text{text}}, \mathbf{x}{\text{image}}, \mathbf{x}{\text{audio}}, \mathbf{x}{\text{num}}))$$

Преимущества: Модель может обучаться межмодальным взаимодействиям с самого начала. Недостатки: Разные модальности имеют очень разные масштабы, размерности и статистические свойства. Модель должна научиться работать с этой неоднородностью, что может быть затруднительно.

Позднее слияние (Late Fusion)

Позднее слияние обрабатывает каждую модальность независимо через собственный кодировщик, а затем объединяет финальные представления:

$$\mathbf{h}i = f_i(\mathbf{x}i) \quad \text{для каждой модальности } i$$ $$\hat{y} = g(\mathbf{h}{\text{text}}, \mathbf{h}{\text{image}}, \mathbf{h}{\text{audio}}, \mathbf{h}{\text{num}})$$

Функция объединения $g$ может быть конкатенацией с последующим линейным слоем, поэлементным сложением или обученным механизмом внимания.

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

Кросс-аттеншн слияние (Cross-Attention Fusion)

Кросс-аттеншн слияние позволяет модальностям обращать внимание друг на друга на промежуточных слоях, обеспечивая богатые межмодальные взаимодействия:

$$\text{CrossAttn}(\mathbf{Q}_i, \mathbf{K}_j, \mathbf{V}_j) = \text{softmax}\left(\frac{\mathbf{Q}_i \mathbf{K}_j^T}{\sqrt{d_k}}\right) \mathbf{V}_j$$

где запросы поступают из модальности $i$, а ключи/значения — из модальности $j$. Это позволяет текстовым токенам обращать внимание на соответствующие области изображения, или аудио-кадрам — на конкретные слова в транскрипте.

Преимущества: Фиксирует детальные межмодальные взаимодействия на нескольких уровнях. Недостатки: Вычислительно затратно. Квадратичная сложность от суммарной длины последовательностей.

Выравнивание тональности и изображения

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

Текстовый сигналГрафический сигналИнтерпретация
Позитивные новостиВосходящий тренд подтверждёнСильный бычий сигнал (согласованность)
Позитивные новостиНисходящий трендВозможный разворот или новость уже заложена в цену
Негативные новостиНисходящий тренд подтверждёнСильный медвежий сигнал (согласованность)
Негативные новостиВосходящий трендРынок не согласен с нарративом

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

Финансовые модели в стиле CLIP

Contrastive Language-Image Pre-training (CLIP) обучает общее пространство эмбеддингов, где текст и изображения можно напрямую сравнивать. В финансах эту архитектуру можно адаптировать для выравнивания:

  • Новостных заголовков с соответствующими ценовыми графиками
  • Транскриптов звонков по итогам квартала с визуализациями финансовой отчётности
  • Тональности социальных сетей с изображениями глубины книги заявок

Цель обучения — максимизация косинусного сходства между совпадающими парами текст-изображение при минимизации сходства для несовпадающих пар:

$$\mathcal{L} = -\frac{1}{N} \sum_{i=1}^{N} \left[ \log \frac{\exp(\text{sim}(\mathbf{t}_i, \mathbf{v}i) / \tau)}{\sum{j=1}^{N} \exp(\text{sim}(\mathbf{t}_i, \mathbf{v}_j) / \tau)} \right]$$

где $\text{sim}(\mathbf{t}, \mathbf{v}) = \frac{\mathbf{t} \cdot \mathbf{v}}{|\mathbf{t}||\mathbf{v}|}$ — косинусное сходство, а $\tau$ — параметр температуры.

Методы машинного обучения

Мультимодальный трансформер

Мультимодальный трансформер обрабатывает токены из всех модальностей через единую трансформерную архитектуру. Каждый токен помечается эмбеддингом модальности (аналогично сегментным эмбеддингам в BERT), чтобы модель знала, к какой модальности относится каждый токен:

$$\mathbf{e}_i = \mathbf{x}_i + \mathbf{p}_i + \mathbf{m}_i$$

где $\mathbf{x}_i$ — эмбеддинг токена, $\mathbf{p}_i$ — позиционный эмбеддинг, а $\mathbf{m}_i$ — эмбеддинг модальности. Полная последовательность затем обрабатывается стандартными слоями трансформера с само-вниманием.

Стробируемый мультимодальный блок (GMU)

Gated Multimodal Unit (GMU) обучается динамически взвешивать вклад различных модальностей:

$$\mathbf{h}{\text{text}} = \tanh(\mathbf{W}t \mathbf{x}{\text{text}})$$ $$\mathbf{h}{\text{visual}} = \tanh(\mathbf{W}v \mathbf{x}{\text{visual}})$$ $$\mathbf{z} = \sigma(\mathbf{W}z [\mathbf{x}{\text{text}}; \mathbf{x}{\text{visual}}])$$ $$\mathbf{h} = \mathbf{z} \odot \mathbf{h}{\text{text}} + (1 - \mathbf{z}) \odot \mathbf{h}_{\text{visual}}$$

Строб $\mathbf{z}$ обучается тому, когда полагаться больше на текстовую, а когда на визуальную информацию. В финансовом контексте это ценно: в период публикации квартальных отчётов может доминировать текст; при техническом пробое уровня — визуальные паттерны.

Мультимодальный классификатор тональности

Для торговых приложений практичный подход объединяет:

  1. Текстовый кодировщик: FinBERT или аналогичная модель извлекает эмбеддинги тональности из новостей/социальных сетей
  2. Числовой кодировщик: Многослойный перцептрон обрабатывает доходности цен, коэффициенты объёма и признаки волатильности
  3. Визуальный кодировщик: Сверточная нейронная сеть обрабатывает изображения свечных графиков или тепловых карт книги заявок
  4. Слой слияния: Позднее слияние с обученными весами внимания объединяет все модальности
  5. Классификационная голова: Предсказывает направление рынка (вверх/вниз/нейтрально) или выводит непрерывный сигнал

Слияние на основе внимания обучает веса $\alpha_i$ для каждой модальности:

$$\alpha_i = \frac{\exp(\mathbf{w}^T \mathbf{h}_i)}{\sum_j \exp(\mathbf{w}^T \mathbf{h}j)}$$ $$\mathbf{h}{\text{fused}} = \sum_i \alpha_i \mathbf{h}_i$$

Инженерия признаков

Текстовые признаки

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

  • Оценки тональности: Полярность (положительная/отрицательная/нейтральная) из FinBERT или доменно-специфических моделей
  • Счётчики именованных сущностей: Количество упоминаний компаний, отраслевых ссылок, макроэкономических индикаторов
  • Язык неопределённости: Частота слов-хеджей («возможно», «мог бы», «неопределённо»)
  • Доля прогностических высказываний: Доля предложений, содержащих будущее время или ориентированный на будущее язык
  • Оценка новизны: Насколько текущий текст отличается от недавнего исторического текста (измеряется расстоянием между эмбеддингами)

Визуальные признаки

Визуальные признаки, извлекаемые из финансовых графиков:

  • Направление тренда: Определяется с помощью распознавания паттернов японских свечей
  • Уровни поддержки/сопротивления: Выявляются по кластеризации цен на изображениях графиков
  • Форма профиля объёма: Визуальное распределение объёма по ценовым уровням
  • Распознавание паттернов: Голова и плечи, двойные вершины/впадины, флаги, клинья

Аудио-признаки

Аудио-признаки из квартальных звонков и выступлений:

  • Вариация высоты тона: Стандартное отклонение основной частоты — большая вариативность указывает на стресс или волнение
  • Темп речи: Слов в минуту — более медленная речь может указывать на осторожное хеджирование
  • Частота пауз: Количество и продолжительность пауз — больше пауз свидетельствует о неопределённости
  • Голосовая энергия: Среднеквадратическая энергия аудиосигнала — низкая энергия может указывать на отсутствие уверенности

Кросс-модальные признаки

Признаки, производные от взаимодействия между модальностями:

  • Расхождение тональности и цены: Разница между оценкой тональности текста и недавним ценовым моментумом
  • Оценка согласованности текста и графика: Косинусное сходство между текстовым эмбеддингом и эмбеддингом изображения графика в общем пространстве
  • Согласованность аудио и текста: Соответствуют ли голосовые признаки (уверенный тон) текстовому содержанию (позитивный язык)

Применения

Анализ квартальных звонков

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

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

Исследование Цин и Яня (2019) показало, что добавление аудио-признаков к текстовым моделям улучшило точность прогнозирования сюрпризов в отчётности на 5–8%.

Слияние новостей и графиков

Когда поступает срочный новостной заголовок, мультимодальная система может:

  1. Закодировать текст заголовка для извлечения тональности и сущностей
  2. Одновременно закодировать текущий ценовой график как изображение
  3. Вычислить согласованность между текстовой тональностью и визуальным трендом
  4. Сгенерировать торговый сигнал, учитывающий как содержание новостей, так и текущее техническое состояние рынка

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

Мультимодальные сигналы из социальных сетей

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

  • Анализировать текст на предмет тональности и торговых намерений
  • Анализировать встроенные изображения графиков на предмет технических паттернов
  • Сопоставлять визуальные свидетельства с текстовыми утверждениями
  • Взвешивать сигнал с учётом исторической точности источника

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

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

TextEncoder

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

NumericalEncoder

Структура NumericalEncoder обрабатывает структурированные рыночные данные (доходности цен, коэффициенты объёма, волатильность) через однослойную нейронную сеть с настраиваемыми размерностями. Она нормализует входные данные с помощью z-оценки стандартизации и выводит эмбеддинг фиксированной размерности, пригодный для слияния с другими модальностями.

VisualFeatureExtractor

Структура VisualFeatureExtractor извлекает визуальные признаки из данных японских свечей. Она вычисляет направление тренда, соотношения тела и тени, статистику профиля объёма и индикаторы паттернов (паттерны поглощения, обнаружение доджи). Эти признаки суммируют визуальный облик ценового графика в числовой форме.

MultimodalFusion

Структура MultimodalFusion реализует позднее слияние на основе внимания. Она принимает эмбеддинги от текстового, числового и визуального кодировщиков, вычисляет обученные веса внимания для каждой модальности и производит объединённое представление. Веса внимания интерпретируемы — они показывают, какую модальность модель считает наиболее информативной в данный момент.

TradingSignalGenerator

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

BybitClient

Структура BybitClient предоставляет асинхронный HTTP-доступ к API Bybit V5. Она получает данные kline (японские свечи) из конечной точки /v5/market/kline и снимки книги заявок из конечной точки /v5/market/orderbook. Клиент обрабатывает разбор ответов и обработку ошибок.

Интеграция с API Bybit

Реализация подключается к REST API Bybit V5 для получения рыночных данных в реальном времени для числовой и визуальной модальностей:

  • Конечная точка kline (/v5/market/kline): Предоставляет OHLCV данные японских свечей с настраиваемыми интервалами. Используется для извлечения визуальных признаков и числового кодирования.
  • Конечная точка книги заявок (/v5/market/orderbook): Предоставляет снимок текущей книги лимитных заявок. Используется для вычисления признаков на основе глубины рынка.

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

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

  1. Xu, P., Zhu, X., & Clifton, D. A. (2023). Multimodal learning with transformers: A survey. IEEE Transactions on Pattern Analysis and Machine Intelligence, 45(10), 12113-12132.
  2. Qin, Y., & Yang, Y. (2019). What you say and how you say it matters: Predicting stock volatility using verbal and vocal cues. Proceedings of the 57th Annual Meeting of the ACL, 390-401.
  3. Radford, A., Kim, J. W., Hallacy, C., et al. (2021). Learning transferable visual models from natural language supervision. Proceedings of ICML, 8748-8763.
  4. Arevalo, J., Solorio, T., Montes-y-Gomez, M., & Gonzalez, F. A. (2017). Gated multimodal units for information fusion. arXiv preprint arXiv:1702.01992.
  5. Yang, L., Ng, T. L., Smyth, B., & Dong, R. (2020). HTML: Hierarchical transformer-based multi-task learning for volatility prediction. Proceedings of The Web Conference, 1066-1072.
  6. Sawhney, R., Agarwal, S., Wadhwa, A., Derr, T., & Shah, R. R. (2022). Stock selection via spatiotemporal hypergraph attention network: A learning to rank approach. Proceedings of AAAI, 2128-2135.