Индекс УДК 33
Дата публикации: 01.11.2023

Реализация парсинга для мониторинга и анализа цен акций

Implementation of parsing for stock price monitoring and analysis

Буценко Е.В.
Кандидат экономических наук, доцент кафедры бизнес-информатики, Уральского государственного экономического университета

Butsenko E.V.

Candidate of Economic Sciences, Associate Professor of Department of Business Informatics, Ural State University of Economics
Аннотация: В статье рассмотрена автоматизация процесса мониторинга информации о текущих ценах на акции компаний на Московской бирже на основе технологии парсинга данных. При разработке программы использован язык программирования JavaScript. Алгоритм парсинга извлекает 100 лучших по капитализации акций компаний с ММВБ через определенный интервал времени, настроенный пользователем, проводит их анализ и отображает, какие активы следует продать, а какие купить. При этом пользователь совершает все действия самостоятельно, не обращаясь к услугам банков или брокеров. Представленный сервис сбора, обработки и анализа данных в реальном времени может быть полезен не только для фондового рынка, но и для других сфер экономики, т.к. данная технология актуальна в современных условиях хозяйствования.

Abstract: The article discusses the automation of the process of monitoring information about current prices for shares of companies on the Moscow Stock Exchange based on data parsing technology. When developing the program, the JavaScript programming language was used. The parsing algorithm extracts the top 100 stocks of MICEX companies by capitalization after a certain time interval configured by the user, analyzes them and displays which assets should be sold and which ones should be bought. At the same time, the user performs all actions independently, without resorting to the services of banks or brokers. The presented service for collecting, processing and analyzing data in real time can be useful not only for the stock market, but also for other sectors of the economy, because this technology is relevant in modern economic conditions.
Ключевые слова: парсинг, мониторинг, акции, фондовая биржа, ММВБ, JavaScript.

Keywords: parsing, monitoring, stocks, stock exchange, MOEX, JavaScript.


В современном мире изменение цен на рынке ценных бумаг происходит постоянно, что затруднает отслеживание их курса. Одним из решений может стать разработка и создание программной системы мониторинга, которая собирает и преобразует данные котировок акций с Московской биржи (ММВБ) в удобный для пользователя формат, с помощью VS Code 20.10.

Для мониторинга в реальном времени (онлайн) акций, продаваемых на фондовых биржах, и покупаемых частными (физическими) лицами, существуют различные способы и методы, предоставляющие разный функционал [1, 2, 3, 6, 7, 8]. Также существует немало виджетов, обеспечивающих удобное взаимодействие с фондовой биржей. Однако перенасыщения подобных программ на этом рынке нет [5]. Предлагаемый в статье вариант можно использовать пользователям, которые не желают прибегать к услугам банков или брокеров, а стремятся осуществлять покупку/продажу ценных бумаг без посредников, и сами покупать акции на бирже.

Для разработки программы мониторинга и анализа цен на акции выбран язык программирования JavaScript, а в качестве редактора кода Visual Studio Code (CE). Создание программы мониторинга предполагает написание парсера на JavaScript для сбора данных о ценах акций Московской биржи и сохранения их в формате CSV. Для ускорения работы программы имеет смысл сократить список самых популярных акций до ста.

Далее необходимо выбрать сайт для оптимального считывания данных о котировках акций. Например, можно использовать сайты Finrange[1], Финам[2] или открытый программный интерфейс для написания алгоритмов и создания торговых роботов (API) ММВБ. Первый ресурс не предоставляет удобный способ для сбора данных парсером, т.к. требуется постоянно устанавливать фильтры настройки. Второй ресурс не всегда находится в рабочем состоянии. Поэтому использован третий вариант – информационно-статистический сервер Московской Биржи[3], который предоставляет доступ к удобному формату данных, хотя и не имеет приятный внешний вид сайта.

Затем создается текстовый файл с именем index.js, который необходимо открыть в VS Code, а после установить необходимые для дальнейшей работы модули. Для этого в терминале прописывается команда (рис. 1), содержащая следующие параметры:

  • Request – модуль npm (менеджера пакетов JS) для отправки HTTP/HTTPS запросов;
  • Fs – модуль для работы с файловой системой;
  • CreateCsvWriter – модуль npm для создания и записи данных в файлы CSV.

Рисунок 1 –  Установка модулей для создания программы мониторинга акций

Весь код для запуска программы должен быть включен в один файл, поэтому нужно использовать команду require() для импорта модулей request, fs и createCsvWriter [4].

Request используется для получения данных с веб-страницы. Обычно этот модуль применяют для отправки запросов на удаленный сервер. В данном случае он используется для отправки HTTP-запросов на сервер с акциями на Московской бирже.

Модуль Fs необходим для создания, чтения, записи и управления файлами на компьютере. В данном случае он используется для записи данных в файл формата CSV.

Модуль CreateCsvWriter используется для создания файлов CSV. Он позволяет записывать данные в таблицу и сохранять ее в данном формате. В рассматриваемом проекте модуль используется для записи актуальных данных о ценах на акции Московской биржи в файл CSV.

Далее в программе задаются переменные, связанные с установленными ранее модулями (рис. 2).

Рисунок 2 – Определение переменных для связи с установленными модулями

После определения переменных создается объект, отвечающий за запись данных в формате CSV (рис. 3).

Рисунок 3 – Cоздание файла сsv

Для получения данных о ценах на акции и сохранение их в формате CSV создана функция getData() (рис. 4).

Рисунок 4 – Парсинг данных с проверкой на ошибку и отбором 100
лучших (растущих) акций

Заключительным этапом разработки программы является запрос, совершаемый один раз в двенадцать часов, что позволяет провести сравнение цен на акции в первой и второй половине дня (рис. 5).

Рисунок 5 – Реализация запроса один раз в 12 часов

Результаты работы программы мониторинга и анализа цен на акции с ММВБ показан на рис. 6 и 7.

Рисунок 6 – Результат выполнения запроса на сбор данных о ценах на акции

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

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

Рисунок 7 – Итоговые данные о ценах на акции

[1] Сервис по анализу акций для частных инвесторов – https://finrange.com/ru

[2] Инвестиционная компания «ФИНАМ» – https://www.finam.ru/

[3] Сайт ПАО «Московская Биржа ММВБ-РТС» – https://www.moex.com

Библиографический список

1. Башарина О.Ю., Баранова Н.М., Ларин С.Н. Разработка и апробация цифровой модели принятия эффективных инвестиционных решений для формирования стратегий развития экономических субъектов // Экономический анализ: теория и практика. 2023. Т. 22. № 9 (540). С. 1699-1724.
2. Биржевой навигатор. Фондовые биржи России – площадки, которые функционируют в настоящее время [Электронный ресурс] Режим доступа: https://stock-list.ru/russian-stock-exchanges.html. Дата обращения 10.05.2023.
3. Буценко Е.В. Информационно-аналитическая система мониторинга рынка акций и валют / Урал - драйвер неоиндустриального и инновационного развития России. М-лы III Урал. эконом. форума. Екатеринбург, 2021. С. 75-79.
4. Официальный сайт документации Node JS [Электронный ресурс]. – Режим доступа: https://nodejs.org/ru/docs. Дата обращения: 10.05.2023.
5. Гурбанназаров А.О. Современный рынок ценных бумаг // Вестник науки. 2023. №2 (59). URL: https://cyberleninka.ru/article/n/sovremennyy-rynok-tsennyh-bumag. Дата обращения: 10.05.2023.
6. Раменская, Л. А. Взаимодействие цифровых платформ с ключевыми заинтересованными сторонами: контент-анализ / Л. А. Раменская // Управленец. – 2021. – Т. 12, № 5. – С. 96-106. – DOI 10.29141/2218-5003-2021-12-5-7. – EDN XCHFOL.
7. Летягина, Е. Н. Нейросетевое моделирование региональных инновационных экосистем / Е. Н. Летягина, В. И. Перова // Journal of New Economy. – 2021. – Т. 22, № 1. – С. 71-89. – DOI 10.29141/2658-5081-2021-22-1-4. – EDN HVNWFQ.
8. Иваненко, А. Р. Возможности использования динамического ценообразования в сфере ритейла / А. Р. Иваненко, Е. Г. Калабина // e-FORUM. – 2021. – Т. 5, № 2(15). – EDN SVXYZJ.