Источники финансовых данных для Excel

КДПВ

На прошлой неделе Microsoft добавили в Excel возможность сразу в программу получать данные по котировкам публичных компаний и курсам.

В сети комментируют, что среди этих данных нет ряда интересных:

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

Новые возможности Excel

Что бы новая функция заработала нужны:

Тестовый шаблон с новой функциональностью можно скачать на соответствующей странице сайта Microsoft.

Финансовые показатели компаний

Уточню, почему копировать в Excel данные вручную с сервисов вроде Google Finance не подходит:

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

Как использовать API описано на gist’е в Github. Чтобы получить данные, надо сформировать GET-запрос с правильными параметрами и заголовками.

Кроме финансовых показателей, в API Morningstar есть данные по котировкам. Сам не использовал - поэтому дополнить особо нечего.

Формат запроса иногда меняется: например, весной 2019 добавился заголовок с Referer. В комментариях обычно описывают изменения. Там же можно найти примеры реализации.

Я использую скрипт в Python (в основном для последующей обработки), но задача, в принципе, тривиально решается через VBA в Excel.

Данные о курсах валют ЦБ РФ

Данные о курсах ЦБ тривиально выгружаются через API Центробанка. Описание приведено на официальном сайте. Альтернативно можно парсить страницу ЦБ с официальными курсами, что может быть проще чем разбираться с XML из API.

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

В интернете можно найти референтные макросы с реализацией алгоритма.

Из плюсов, если реализовать на VBA, то можно сразу сделать удобные пользовательские функции (UDF).

Категории: ExcelFinanceVBA

© 2016–2019 Creative Commons BY-NC-ND 4.0
Powered by Hugo & GitLab

comments powered by Disqus