Автоматический импорт стоимости акций в Microsoft Excel
В данном руководстве мы рассмотрим получение стоимости ценных бумаг на Московской бирже в Microsoft Excel. Чтобы разобраться в материале вам нужно уметь вводить и редактировать формулы, т.е. знания чуть выше минимальных.
Итоговый результат будет выглядеть примерно так, выделенные красным значения подставляются автоматически с помощью API Московской биржи:
Шаблон формулы выглядит так:
Под каждую ценную бумагу формула должна быть отредактирована.
XXX — тип ценной бумаги:
- bonds — облигации
- shares — российские ценные бумаги за исключением облигаций
- foreignshares — иностранные ценные бумаги
YYY — идентификатор режима торгов.
ZZZ — тикер (код) ценной бумаги. Важно понимать, что тикер это не ISIN, хотя иногда они и совпадают. Если вы будете вставлять в формулу ISIN, то иногда она не будет работать.
Теперь давайте разбираться, где брать YYY и ZZZ для нашей формулы.
Их можно найти на сайте Московской биржи — moex.com. На примере ниже приведены данные для акций Газпрома.
Также можно узнать нужные нам данные через запрос к API. Введите а адресную строку браузера:
В качестве поискового запроса можно использовать ISIN, тикер, название и т.п. Рекомендуем использовать именно ISIN, т.к. введя запрос по типу «Газпром» можно получить более одного результата.
secid="GAZP" — тикер, ZZZ для нашей формулы
primary_boardid="TQBR" — идентификатор режима торгов, YYY для нашей формулы.
В итоге формула будет выглядеть так:
Обратите внимание, что в формуле тикер нужно писать в кавычках, а другие две переменные без.
Для удобства тикер можно вынести в отдельную ячейку, в нашем примере это B2. В этом случае использовать кавычки не нужно, т.е. вместо "GAZP" пишем B2, а в ячейку B2 вводим GAZP уже без кавычек.
Известные проблемы:
- формула может не работать в очень старых версиях Excel
- поисковый запрос к API может некорректно отображаться (белый экран) в браузере Firefox
Оставьте комментарий, если данный материал был полезен. Так мы поймём, что тема вам интересна и по возможности будем её дополнять и развивать.