Найти в Дзене

Научилась получать дивиденды и другие данные с сайта finviz.com в гугл-таблице

Для иностранных акций и российских ГДР

В этой статье расскажу, как получить значение дивиденда с сайта 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:

-2

Далее с помощью функции importhtml импортируем эту html-страницу в таблицу:

(importhtml(CONCATENATE("https://finviz.com/quote.ashx?t=",A2,""),"table",8)

Страница состоит из нескольких блоков, нам нужен блок с таблицей. Поэтому в запросе мы обращаемся к элементу 8 на html-странице, это как раз нужная нам таблица с данными.

Но из этой таблицы нам сейчас нужен только размер дивиденда, он находится во 2 столбце и 7 строке этой таблицы:

-3

Извлекаем это значение с помощью функции INDEX:

index(importhtml(CONCATENATE("https://finviz.com/quote.ashx?t=",A2,""),"table",8),7,2)

При применении формулы на этом этапе значения будут получены в виде *дивиденд*, и посчитать дивдоходность не получится, так как для гугл таблиц такое значение не является числом и будет выдаваться ошибка.

-4

Поэтому еще применим функцию 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),"*")

-5

Таким образом можем получать нужные нам значения по формуле:

split(index(importhtml(CONCATENATE("https://finviz.com/quote.ashx?t=",ЯЧЕЙКА С ТИКЕРОМ,""),"table",8),НОМЕР СТРОКИ,НОМЕР СТОЛБЦА),"*")

Все вышеприведенные формулы есть в моей гугл-таблице, которая доступна для копирования.

Другие полезные функции гугл-таблиц для инвесторов

👍Если статья была вам полезна, поставьте лайк и подпишитесь на канал, чтобы не пропустить ничего важного. Все анонсы статей и небольшие заметки я публикую в телеграм-канале @justcountit.

👩‍💻Если у вас остались вопросы, с радостью отвечу на них в комментариях.

#гугл таблицы #google sheets #google таблицы #инвестиции в акции #американские акции #дивиденды #дивиденды по акциям #иностранные акции #инвестиции в акции

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