Разработка AI-системы сентимент-анализа финансовых новостей

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Разработка AI-системы сентимент-анализа финансовых новостей
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Разработка AI-системы сентимент-анализа финансовых новостей

Финансовый сентимент-анализ отличается от общего: нейтральное в обычном тексте может быть негативным в финансовом контексте. «Снижение темпов роста» — это позитив или негатив? Зависит от ожиданий рынка.

Доменная специфика

Финансовый сентимент не бинарный «хорошо/плохо» — он направленный. «Позитивная новость для компании X» и «позитивная для её конкурентов» — разные вещи. Система должна учитывать:

  • Entity-specific sentiment: позитив для Газпрома не равен позитиву для рынка в целом
  • Финансовые события: санкции, M&A, дивиденды, ставки — каждое имеет специфическую интерпретацию
  • Temporality: «вырос на 5%» vs «упал на 5%» — зависит от базы сравнения

Специализированные модели

FinBERT (ProsusAI): BERT fine-tuned на финансовых текстах Financial PhraseBank. Три класса: positive/negative/neutral. Для английских финансовых новостей — лучший open-source вариант.

Аналоги для русского: нет готовых качественных моделей — нужен fine-tuning ruBERT на русскоязычных финансовых новостях.

Сбор и обработка финансовых новостей

Источники на русском:

  • Коммерсантъ, Ведомости, РБК: RSS-ленты
  • Интерфакс, ТАСС: новостные API
  • Финансовый раздел Telegram-каналов: pyrogram парсинг
  • ru.investing.com: новости по тикерам
async def process_financial_news(url: str, ticker: str) -> SentimentResult:
    article = await fetch_article(url)
    text = f"{article.title}\n{article.text[:2000]}"

    result = await llm.parse(f"""Проанализируй сентимент финансовой новости.
Контекст: новость касается {ticker}

Определи:
1. sentiment: positive/negative/neutral для акции {ticker}
2. magnitude: 0.0-1.0 (насколько сильное событие)
3. event_type: earnings/guidance/M&A/regulatory/macro/other
4. brief_explanation: 1 предложение

Новость: {text}""",
        response_format=SentimentResult
    )
    return result

Агрегация и сигналы

Один материал — слабый сигнал. Агрегация за 24–48 часов по тикеру:

  • Sentiment ratio: (pos - neg) / total
  • Velocity: скорость изменения sentiment за последние 4 часа
  • Volume-weighted sentiment: важные СМИ имеют больший вес

Порог для торгового сигнала: sentiment ratio > 0.6 + velocity > 0.3 → bullish signal. Для использования в алготрейдинге требуется строгий backtesting.

Метрики и бэктестинг

  • Accuracy на размеченном датасете финансовых новостей
  • Корреляция sentiment с последующим движением цены (lag 1–5 дней)
  • Sharpe ratio стратегии на основе sentiment vs buy-and-hold