Учет инвестиций в гугл-таблицах №4 — забираем дивиденды иностранных акций с сайта Finviz

В прошлой статье мы разобрали способ забирать данные по дивидендам российских компаний с сервиса Доход. Сегодня на очереди иностранные акции. В качестве донора будем использовать сайт Finviz.

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

Итак, поехали.

Получаем дивиденды в таблицы гугл

Извлекаем дивиденды

Формула для получения дивидендов выглядит следующим образом:

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

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


ШАГ 1.

На сайте Finviz у каждой ценной бумаги есть своя отдельная страница.

Так для Coca-Cola адрес страницы будет таким: https://finviz.com/quote.ashx?t=co

А например для Pepsi: https://finviz.com/quote.ashx?t=pep (в конце адреса прописывается тикер бумаги).

Используя формулу:  CONCATENATE("https://finviz.com/quote.ashx?t=",B3,"") - мы создаем путь к нужной странице, где

B3 - это адрес ячейки с тикером из нашей таблицы. В данном случае B3=AAPL, B4=MSFT и так далее.

На странице каждой компании - Finviz  прописывает данные с основными пузомерками. Мы будем выдергивать нужную нам инфу с нее.

Pepsi
Пузомерки Pepsi с Finviz

ШАГ 2.

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

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

Из всей таблицы нам нужно только инфа по дивидендам. Она находится в седьмой строчке / второго столбца. Размер дивов указан за последние 12 месяцев.

Получаем данные по дивидендам

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

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


ШАГ 3.

Полученные значения будут в неприятном виде - со звездочками по краям.

Учет дивов в таблицах

Все бы ничего, но итоговые данные не являются числом. И с этими ячейками не получится проводить арифметические действия: вычислить дивидендную доходность, общий размер дивидендов в зависимости от количества акций в портфеле и т.д. и т.п.

Поэтому немного усовершенствуем формулу, добавив функцию SPLIT, которая убирает все звездочки (* *).

В итоге получаем следующую рабочую формулу для извлечения дивидендов:

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

Получаем дивидендную доходность акций

У нас есть два варианта: первый и второй.

Первый способ - "плагиатор". По аналогии с получением размера дивидендов - используем ту же формулу, изменив в ней адрес нужной нам ячейки на 8,2 (восьмая строчка, второй столбец):

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

Дивидендная доходность - таблица
Получаем дивидендную доходность акций

Второй способ называется "математический гений". У нас есть данные по размеру дивидендов на акцию и текущие котировки. Делим одно на другое и получаем .... дивидендную доходность.

Другие полезные фишки

Все что есть в таблице Finviz можно выдернуть себе в Google Sheets. Коэффициенты P/E, P/B, P/S, ROE, ROA, EPS. Капитализация компании, количество акций в обращении, размер долга и даже текущее положение цены акций относительно максимума-минимума за год и скользящих средних (показывает насколько выше или ниже находится цена). И много другой полезной и бесполезной хрени.

В формуле меняем только адрес строки-столбца на нужный. Получаем что-то похожее ...

Коэффициенты акций в гугл таблицах
Пузомерки акций в гугл таблицах из Finviz

А как же ETF?

Все вышеприведенные формулы работают и для биржевых фондов (ETF). Естественно российских среди них нет. Правда Finviz предлагает довольно скудную информацию по фондам: в основном связанную с дивидендами и техническим анализом.

Вот так выглядит таблица на примере ETF VOO на индекс S&P500. Кроме дивов по фундаменталу ничего нет.

Инфа по VOO
Доступные данные по ETF VOO

Практическое применение

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

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

Учет инвестиций в гугл-таблицах №4 - забираем дивиденды иностранных акций с сайта Finviz

Готовый шаблон

Файл-шаблон с прописанными формулами доступен по ссылке (только просмотр). Для редактирования его нужно сохранить себе: в меню "Файл" выбираем "Сохранить копию".

Удачных инвестиций!

Оцените статью
Записки инвестора
Добавить комментарий

  1. Alex

    Вот это круто. Спасибо большое. Я тут разбирался с fxfa, дай думаю, у Максима его мнение посмотрю, а тут статья не хуже. Ну и про fxfa тоже интересно)

    Ответить
    1. Максим (vse-dengy) автор

      Завтра постараюсь «осилить» статью про FXFA

      Ответить
  2. Виктория

    Добрый вечер! Не получается редактировать последнюю таблицу со своими данными. В меню Файл нет надписи «Сохранить копию». Есть только «Создать копию», но копию предлагает создать в какие-то чужие папки, ракетостроение, например и другие, которых у меня никогда не было.
    Еще в одной из ваших статей была таблица «GoogleFinance — котировки акций», в ней я смогла внести мои акции, но после сохранения никакие новые уже не получается добавить, цена автоматически не прописывается.
    Я что-то делаю не так?

    Ответить
  3. Алексей

    «Оцените статью» — пять звёзд, без вариантов!
    Спасибо, детальная проработка.
    Отличный урок по Гугл-таблицам 🙂

    Ответить
  4. Юрий

    У меня выскакивает ошибка: «Синтаксическая ошибка в формуле.»

    Ответить
    1. Максим (vse-dengy) автор

      проверил — все работает нормально

      Ответить
    2. ff

      Формулы могут не работать из-за различия в локалях

      Ответить
  5. Аноним

    Спасибо огромное. Очень интересно и понятно.

    Ответить
  6. Лидия

    В примере в таблице no data 🙁
    Похоже что-то сломалось…

    Ответить
    1. Максим (vse-dengy) автор

      Спасибо! Почини У финвиз были перестановки в отображаемых данных ….

      Ответить
  7. Аноним

    Спасибо, все круто!!!

    Ответить
  8. Павел

    Снова перестали отображаться дивиденды, видимо на сайте опять структуру поменяли 🙁

    Ответить
  9. Kira

    и в моей, и вашей таблице выдает одну и ту же ошибку

    Значение параметра Параметр 3 в функции INDEX равно 4. Оно должно входить в диапазон от 0 до 1 включительно.

    Ответить
  10. Kira

    Нашла в чём проблема. Нужно в формуле вместо 7 поставить 9 — изменился порядковый номер таблицы:

    split(index(importhtml(CONCATENATE(«https://finviz.com/quote.ashx?t=»,B3,»»),»table»,9),7,2),»*»)

    Ответить
    1. Павел

      Кира, а как вы определили порядковый номер (которые типа 9, но опять не работает) на странице Финвиза?

      Ответить
    2. Alex

      10

      Ответить
  11. Татьяна

    Благодарю за подробное описание каждой детали!!!!

    Ответить