В этой статье расскажу, как получить значение дивиденда с сайта finviz.com по тикеру акции. Размер дивиденда указан за год (annual).
Для примера я взяла ТОП-10 американских компаний из состава фонда Invesco S&P 500® Top 50 ETF #XLG, который следует индексу S&P500.
5 компаний из этого списка платят дивиденды, 5 не платят — в этом случае вместо числа отображается "-".
Доходность считается в зависимости от текущей цены, которую получаем через функцию GoogleFinance.
Как получить текущие цены на акции в таблицах через функцию Google Finance
Формула получения данных с финвиза выглядит так:
split(index(importhtml(CONCATENATE("https://finviz.com/quote.ashx?t=",A2,""),"table",8),7,2),"*")
Разберемся, из чего состоит формула и как ее использовать для получения других данных из этого источника.
1. Создаем путь к конкретной странице, соответствующей каждому тикеру в столбце А:
CONCATENATE("https://finviz.com/quote.ashx?t=",A2,""),
где А2 - это тикер AAPL, далее А3 это MSFT и тд
Таким образом создается путь вида
https://finviz.com/quote.ashx?t=ТИКЕР
В частном случае для тикера из ячейки А2 импортируем html с адресом https://finviz.com/quote.ashx?t=AAPL
Если указать этот адрес в строке браузера, попадем на страницу с таблицей данных по акциям Apple:
Далее с помощью функции importhtml импортируем эту html-страницу в таблицу:
(importhtml(CONCATENATE("https://finviz.com/quote.ashx?t=",A2,""),"table",8)
Страница состоит из нескольких блоков, нам нужен блок с таблицей. Поэтому в запросе мы обращаемся к элементу 8 на html-странице, это как раз нужная нам таблица с данными.
Но из этой таблицы нам сейчас нужен только размер дивиденда, он находится во 2 столбце и 7 строке этой таблицы:
Извлекаем это значение с помощью функции INDEX:
index(importhtml(CONCATENATE("https://finviz.com/quote.ashx?t=",A2,""),"table",8),7,2)
При применении формулы на этом этапе значения будут получены в виде *дивиденд*, и посчитать дивдоходность не получится, так как для гугл таблиц такое значение не является числом и будет выдаваться ошибка.
Поэтому еще применим функцию SPLIT, чтобы убрать * *, и получаем полностью рабочую формулу:
split(index(importhtml(CONCATENATE("https://finviz.com/quote.ashx?t=",A2,""),"table",8),7,2),"*")
Какие данные еще можно получить из этой html-страницы
Например, получим значение ROE для нашего списка акций
Формула та же самая, только указываем координаты ячейки со значением ROE — 6 строка, 8 столбец, и меняем эти значения в формуле:
split(index(importhtml(CONCATENATE("https://finviz.com/quote.ashx?t=",A2,""),"table",8),6,8),"*")
Таким образом можем получать нужные нам значения по формуле:
split(index(importhtml(CONCATENATE("https://finviz.com/quote.ashx?t=",ЯЧЕЙКА С ТИКЕРОМ,""),"table",8),НОМЕР СТРОКИ,НОМЕР СТОЛБЦА),"*")
Все вышеприведенные формулы есть в моей гугл-таблице, которая доступна для копирования.
Другие полезные функции гугл-таблиц для инвесторов
👍Если статья была вам полезна, поставьте лайк и подпишитесь на канал, чтобы не пропустить ничего важного. Все анонсы статей и небольшие заметки я публикую в телеграм-канале @justcountit.
👩💻Если у вас остались вопросы, с радостью отвечу на них в комментариях.
#гугл таблицы #google sheets #google таблицы #инвестиции в акции #американские акции #дивиденды #дивиденды по акциям #иностранные акции #инвестиции в акции
Ценные бумаги и другие финансовые инструменты, упомянутые в данном обзоре, приведены исключительно в информационных целях; обзор не является инвестиционной идеей, советом, рекомендацией, предложением купить или продать ценные бумаги и другие финансовые инструменты.