Визуализация данных Мосбиржи и не только

от автора

Привет!

Хочу поделиться инструментом для визуализации данных Мосбиржи, Nasdaq, NYSE и AMEX. Графики можно посмотреть на странице finmap.org. Сейчас я занимаюсь этим проектом один, а планов много, например, добавить данные торгов стран Европы, Азии и Латинской Америки. Исходный код опубликован на GitHub. Очень надеюсь, что хабр-эффект всё ещё работает и здесь найдутся те, кто готов присоединиться к разработке. Пожалуйста, расскажите о проекте друзьям и знакомым.

Данные торгов представлены в виде treemap и histogram. В карточке каждой компании отображается краткое описание и новостная лента. В будущем я планирую добавить ленту микроблогов.

treemap, histogram, карточка компании, новостная лента

treemap, histogram, карточка компании, новостная лента

Для Московской биржи ценные бумаги можно сортировать по капитализации, объёму торгов и количеству сделок.

treemap, сортировка по капитализации, объёму торгов и количеству сделок

treemap, сортировка по капитализации, объёму торгов и количеству сделок
histogram, сортировка по капитализации, объёму торгов и количеству сделок

histogram, сортировка по капитализации, объёму торгов и количеству сделок

Сортировка по объёму торгов и количеству сделок позволяет найти самые ликвидные/спекулятивные бумаги. На данный момент на Мосбирже такими бумагами являются инструменты денежного рынка.

Доступна статистика по количеству компаний, представленных на бирже.

Мосбиржа, листинг

Мосбиржа, листинг

Можно перечислить акции в txt файле и использовать этот список как фильтр, например, для кастомизации новостной ленты. На картинке ниже фильтр для компаний из индекса S&P500.

фильтр, компании из S&P 500

фильтр, компании из S&P 500

Ещё одна функция, которая пока находится в зачаточном состоянии — анализ персонального портфеля. Создайте CSV-файл, перечислите в нём тикеры и количество акций. Далее нажмите кнопку 🛄 и выберете созданный CSV-файл. Treemap позволяет увидеть веса отдельных бумаг в портфеле, распределение по странам и секторам. Эта информация может быть использована для принятия решений о диверсификации. Данные обрабатываются на устройстве пользователя, на сервер эта информация не отправляется.

Инвестиционный портфель

Инвестиционный портфель

Архитектура

Раз уж мы на Хабре, несколько слов об архитектуре. На данный момент все затраты на инфраструктуру я покрываю из своего кармана, поэтому моя цель — максимально снизить расходы. В качестве хостинга используется Github Pages, фронтенд написан на javascript, для построения графиков используется библиотека Plotly.js. Применена «резиновая» вёрстка, а также технология Power Web Application, которая позволяет пользоваться веб-сайтом как полноценным приложением даже offline. Для обновления данных используется Github Actions, workflow написаны на bash и python.

Сервис обновления новостной ленты хостится в облаке AWS. Архитектура довольно стандартная, но так как Free Tier ограничен одним EC2 инстансом, я использую несколько бесплатных сервисов, которые разными методами реализуют одну и ту же функциональность. Сделано это для обеспечения отказоустойчивости.

                  User                    ⇓                Cloudfront                    ⇓                 Firewall     (fallback) ⇙       ⇘      (primary)     API Gateway        Application Load Balancer         ⇓                          ⇓     Google News              Target Group                                    ⇓                              EC2 Instance                                    ⇓                               Google News

Кэширование настроено везде, где это возможно: у клиента, в Cloudfront и на стороне backend-сервиса. Сделано это, опять же, с целью уменьшить нагрузку и стоимость инфраструктуры.

Планы на будущее

Сейчас можно посмотреть визуализацию для Московской биржи, NASDAQ, NYSE и AMEX. Этот список будет пополняться. Я планирую добавить нотификации, больше графиков и аналитики, но сначала нужно унифицировать код, данные и довести до паритета функциональность для всех рынков.

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

Буду ждать ваших отзывов и пул реквестов. С новым годом!

Ссылки


ссылка на оригинал статьи https://habr.com/ru/articles/873814/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *