Как я маркетдату агрегировал. Визуализация данных Nasdaq, LSE и MOEX
- четверг, 27 февраля 2025 г. в 00:00:07
В предыдущей статье я рассказал о finmap.org - инструменте визуализации данных Мосбиржи и американских площадок. Спасибо хабравчанам за отзывы и предложения. Отдельная благодарность за донаты, вы помогаете покрыть расходы на AWS. Благодаря вашим идеям, в finmap.org появилась строка поиска по тикеру, а в portfolio можно отобразить американские ETF.
Для каждого сектора можно посмотреть количество ценных бумаг, которые в него входят.
Помимо MOEX, Nasdaq, NYSE и AMEX я добавил данные торгов Лондонской биржи. Датафайлы приведены к общему формату, это сильно упростило разработку. Отображение исторических данных в виде гистограммы теперь доступно для всех площадок.
В ближайшее время я планирую добавить ещё несколько площадок. Моя цель - агрегировать на finmap.org как можно больше данных. Пожалуйста, напишите в комментариях какие биржи/страны вы хотели бы видеть?
Многие спрашивали как агрегируются данные. Для Мосбиржи я использую MOEX ISS, для всех американских площадок - Nasdaq API, для Лондонской биржи - api.londonstockexchange.com.
Для автоматизации используется Github Actions. Workflow вызывает curl, который через API забирает данные в виде Json, далее Json процессится с помощью jq. Никакого больше python. Jq выполняется быстрее и предустановлен в большинстве linux-дистрибутивов, нет необходимости поднимать виртуальное окружение, устанавливать зависимости. Код опубликован здесь:
Данные для построения histogram обновляются раз в сутки:
Курс рубля я беру с Мосбиржи, других валют - Frankfurter API:
Данные о стоимости нефти берутся из U.S. Energy Information Administration:
В следующем обновлении я добавлю как минимум ещё одну площадку. Репозиторий будет разделён, чтобы сократить время выполнения workflows и сделать их запуск более управляемым.
Это все новости на данный момент. Пожалуйста, напишите в комментариях что думаете о проекте, что хотели бы видеть. Звёздочки в github и плюсы в карму приветствуются, заранее спасибо!
Исходный код: https://github.com/finmap‑org/finmap‑org
Сообщить о багах, оставить предложения: Github Issues
Поддержать проект рублём: Boosty