Advisors’ Axiom. Инвестиционная платформа с нейросетью для оценки тональности новостей

Заказчик
Росбанк — частный универсальный банк, оказывающий все виды услуг частным и корпоративным клиентам.
Задача
Разработать MVP удобного онлайн-инструмента для управления капиталом для клиентов Росбанка сегмента Premium и Private Banking с возможностью следить за всеми изменениями их портфеля

 



Инвестиционная платформа Advisors’ Axiom — это площадка для совместной работы инвесторов сегмента Premium и Private Banking, инвестиционных консультантов и финансовых экспертов, разработанная ПАО РОСБАНК.

Возможности платформы:

ВО ЧТО ИНВЕСТИРОВАТЬ, КОГДА И ЗАЧЕМ

— Подборки ценных бумаг

— Продуктовый каталог

— Модель сбалансированного инвестиционного портфеля

ТОЛЬКО ВАЖНЫЕ НОВОСТИ

Показывает только те новости, которые могут повлиять на цену активов клиента, и отмечает тональность этого события

РИСК-МЕНЕДЖМЕНТ

Оценка риска портфеля и инвестиционное профилирование

ЗАДАЧА

Необходимо было разработать MVP удобного онлайн-инструмента для управления капиталомдля клиентов Росбанка сегмента Premium и Private Bankingс возможностью следить за всеми изменениями их портфеля, а также мобильное приложение к нему.

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

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

РЕАЛИЗАЦИЯ

Особенности работы с исходными данными

Разнородные исходные данные из различных банковских учетных систем загружаются в БД PostgreSQL.

Загрузка информации, ее способы и оперативность находились под контролем специалистов банка и вне влияния команды разработки.

Способы загрузки информации:

  • Удаление БД и полная загрузка

  • Частичные insert

  • Частичный update

  • Частичный delete

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

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

На примере типовой задачи по расчетам, например, активов из исходных данных:

  • Производится обход списка клиентов в БД и постановка для каждого клиента соответствующей задачи «расчет последней информации по активам» через брокер сообщений, т. е. генерируется множество независимых задач расчета по каждому клиенту.
  •  Контейнеры-консьюмеры производят обработку сообщений из очередей.
  • Увеличение производительности достигается увеличением количества consumer-обработчиков.

База данных в этой схеме является потенциально узким местом, которое на текущий момент не масштабируется.

Однако команда Globus IT считает, что имеется запас производительности БД еще почти на 2 порядка до тех пор, пока эта проблема с объемом данных и производительностью БД действительно возникнет.

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

  • Увеличение ресурсов сервера БД.

  • Улучшение структуры таблиц исходных данных.

  • Разделение БД на чтение и запись.

Однако такую схему нельзя признать удовлетворительной на долгий срок, и тот временной период, который имеется в запасе, требуется использовать для перепроектирования схемы поставки исходных данных в систему.

Язык, фреймворки, эксплуатация

 По требованиям заказчика в качестве языка разработки был выбран python и django — в качестве фреймворка.

Django-админ выполняет роль чернового интерфейса к БД системы для административного персонала.

Система предоставляет restful-API для web-клиентов.

С точки зрения назначения и интерфейса есть два потребителя:

  • менеджер банка,

  • клиент банка.

Поэтому система делится: 

  • на личный кабинет менеджера,

  • личный кабинет клиента.

Функционал API для личного кабинета клиента на 95% основан на API личного кабинета менеджера и представляет собой урезанную версию API.

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

  • личный кабинет менеджера доступен только из сети банка с устройств банка;

  • личный кабинет клиента доступен из сети Интернет.

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

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

  • Админ-панель как технический интерфейс для просмотра и отладки исходных данных. 

  • API для личного кабинета менеджера.

  • API для личного кабинета клиента.

  • Обработчики-консьюмеры задач из очередей.

Админ-панель и API для личного кабинета менеджера объединяются в одном контейнере.

Другие функции выполняются каждая в своем отдельном контейнере.

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

  • Генератор PDF-отчетов (php).

  • Профилирование клиентов (опросник клиентов и расчет риск-рейтинга).

  • Новостной модуль (парсинг и анализ новостей с помощью машинного обучения).

  • Внешнее API для поставщиков услуг.

Взаимодействие между микросервисами и основным функционалом осуществляется через брокер сообщений и restful-API.

Нейросеть для оценки тональности новостей    

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

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

Особое внимание к вопросам безопасности

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



РЕЗУЛЬТАТ

Вeб-версия платформы включает в себя следующее:

  • Представление услуг и продуктов банка в виде единого каталога продуктов (ценные бумаги, счета, депозиты, страхование, доверительное управление и т. п.).

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

  • Расчет доходности активов в денежном и процентном выражениях по различным активам (каждый тип актива может иметь собственную методику расчета).

  • Вывод истории операций по различным активам из разнородных источников данных.

  • История стоимости активов за различные временные периоды.

  • Вывод актуальной рыночной цены и средней цены покупки актива.

  • Различные интерфейсные группировки активов для более удобного предоставления информации.

  • Система анализа портфелей клиентов как для клиентов, так и для их менеджеров. Например: 

    • Изменение портфеля клиента.

    • Изменения ценной бумаги клиента.

    • Концентрация всех активов в одной валюте.

    • Концентрация всех активов в одном продукте.

    • Портфель не соответствует эталонному.

    • И др.

  • Генерация pdf-отчетов по каждому клиенту в ежедневном режиме. 

  • Процесс ребалансировки портфеля клиента (подбор продуктов для клиента, которые могут ребалансировать его портфель в соответствии с риск профилем).

  • Предоставление новостей по продуктам клиента с оценкой их тональности (положительные/отрицательные/нейтральные).

  • Профилирование клиента (опрос и присвоение риск-рейтинга).

  • Формирование заявок на покупки продуктов различных типов.

    Мобильное приложение для инвестирования Premium и Private клиентов состоит из двух частей:

    1. личный кабинет финансового эксперта,

    2. личный кабинет клиента.

    Основные блоки приложения:

    • Динамика портфеля всех клиентов менеджера за год.

    • Лидер роста, падения и выплат по инвестиционному портфелю на текущую дату.

    • Новости по компаниям (положительные/отрицательные/нейтральные).

    • При переходе на конкретную новость можно увидеть, каких клиентов она может заинтересовать.

    • Актуальные продукты, которые доступны к приобретению.

    • Каталог клиентов с фильтрацией по необходимым параметрам.

    • Отчеты с подробным содержанием портфеля клиента.

    • Покупка инвестиционных продуктов.

    • Предложение по ребалансировке портфеля клиента.

      Нейросеть для оценки тональности новостей     

      Приложение с заданным периодом времени автоматически считывает свежие новости из определенного перечня сайтов-источников, умеет получать текст новости по ссылке (URL) на страницу сайта-источника. 

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

      Изображение подбираются для новости автоматически на основе тегов категории компании.

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

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


Перейти на сайт

В карточку агентства

Письмо автору кейса

Пользуйтесь реальным опытом в IT и следите за успехами потенциальных подрядчиков и конкурентов
Подпишитесь на рассылку
Читайте также
Кейсы по теме#Финансы, инвестиции, банки