Блог им. trade_execution

Импортируем данные с Finviz.com в Google таблицы

Всем известно, что перед тем как купить те или иные акции, нужно сделать анализ в виде «домашней работы»(это касается среднесрочных и долгосрочных инвесторов). Лично мне в этом нелегком деле помогают скринеры. Как правило finviz.com, stockrow.com и на финишной стадии — платный сервис finbox.com.

Сайты finviz.com и stockrow.com предусматривают платные и бесплатные сервисы. В бесплатном использовании эти сайты хоть и дают некий набор фильтров, но глядя на эти цифры в табличках, складывается такое чувство, что «Смотреть можно, а трогать нельзя». А поскольку это касается моих денег и денег людей, которые мне доверяют, принимать торговое решение, не пощупав эти цифры самому, считаю большой ошибкой в анализе.

Раньше я был верен только Excel, но с недавних пор стал понимать, что хорошей альтернативой являются Google таблицы. Вообще все сервисы Google отлично работают с веб-данными.

В этом посте я расскажу, как можно импортировать данные с сайта finviz.com в Google таблицы.


Открываем Google таблицы

Шаг 1 Прописываем Тикер в любую ячейку

Шаг 2 Прописываем вот такую формулу в любую другую ячейку

=IMPORTHTML(«finviz.com/quote.ashx?t=»&ссылка на ячейку с тикером;«table»;8)

На выходе получается вот такая таблица (Таб. 1)
Импортируем данные с Finviz.com в Google таблицы

Шаг 3 Вытаскиваем нужный нам показатель

Предположим, нас интересует только ROE. Для этого используем формулу для таблиц поиска значения на пересечении строки и столбца =Index (ссылка из Шаг 2; строка; столбец).

Формула для вытаскивания ROE =Index(IMPORTHTML(«finviz.com/quote.ashx?t=»&ссылка на ячейку с тикером;«table»;8);6;8)

Шаг 4 Убираем звездочки *

Обратите внимание, что во всех полях с цифрами присутствует звездочки. Для работы с цифрами звёздочки необходимо удалить.

Формула для удаления звездочек:

=SUBSTITUTE(Index(IMPORTHTML(«finviz.com/quote.ashx?t=»&ссылка на ячейку с тикером;«table»;8);6;8);"*";"")

Шаг 5 (это итоговая формула) Заменяем точки на запятые (. → ,)

Формула для замены точек на запятые:

=SUBSTITUTE(SUBSTITUTE(Index(IMPORTHTML(«finviz.com/quote.ashx?t=»&ссылка на ячейку с тикером;«table»;8);6;8);"*";"");".";",")


Вот готовый пример экспорта со всеми данными по одному тикеру (Таб. 2)

Для снижения нагрузки на Google таблицы рекомендую экспортировать только нужные поля.

Импортируем данные с Finviz.com в Google таблицы

Вот формула для отслеживания дат ближайших отчетностей:=IMPORTHTML(«finviz.com/»;«table»;21)

Еще важная формула для скринера: =IMPORTHTMLfinviz.com/screener.ashx?v=121&f=geo_usa»;«table»;17)

Если вам интересен готовый пример см. ссылку на мою Google таблицу.


Если понравился пост, поставьте ♥ лайк!

Также не забудьте подписаться на мой Telegram-канал: @trade_execution

★90
17 комментариев
Тоже такое пользую, но с других сайтов. Перетаскиваю в одну таблицу интересующие индексы, котировки и новости. Норм тема
avatar
Maxim, а какие сайты используете?
avatar
Trade execution ↝, сейчас испоьзую ru.investing.com/indices/major-indices
quote.rbc.ru/?utm_source=topline.
Новости через импорт RSS формулой importfeed с того же РБК, BBC. А так можно практически с большинства сайтов собрать нужную информацию. Очень удобно все — в одном месте перед глазами
avatar
Ну и плюс свои формулы (например в качестве подсказок, типа если это растёт, а это падает, то покупаем/продаем) и условное форматирование для визуального удобства.
avatar
Maxim, а с фин. отчетностью (таб), удалось понять как вытаскивать?
avatar
Америку не открыли, но за релевантную статью и пользу и, особенно, эксель — лайк.
avatar
Друзья, со временем могут появиться ошибки при загрузке информации. Такое случается когда на сайте finviz номера таблиц меняются из-за того что появились новые или удалили старые. Проблема решается методом подбора, меняем номер в формуле, например было «table»;17, а стало «table»;18
avatar
спс, но я последнее время с опаской смотрю на гугл таблицы, там цены акций некоторые неточные. Хотя, если, как написано, качать цены из финвиза то норм. Обычно я с финвиза качаю в эксель питоном
avatar
broker25, полностью согласен, но нестыковки везде бывают, идеально когда сам строишь мультипликатор
avatar
лучше поиск параметра в таблице, чем фиксированные номера строки и столбца, например
VLOOKUP(«ROE»; L5:M17;2;FALSE)
avatar
broker25, хорошо подмечено, только ROE в кавычках =VLOOKUP(«ROE»; L5:M17;2;FALSE). Но эта формула работает если я всю таб.забираю а потом обрабатываю в google. Моя же формула с помощью Index(_;_) берет точечно один показатель прямо с сайта, это сильно снижает нагрузку на g-таблицы. Но есть над чем подумать, спасибо!
avatar
Супер! Сам использовал только встроенные в гугл таблицы P/E, EPS, beta. Спасибо!
avatar
Спасибо! Вот еще вопрос возник, а как вытащить данные из нижней таблицы, та которая с финансовыми показателями? Там же несколько закладок. Сколько не пытался не смог.
avatar

Павел Куракин,  да, на Finviz income statement | balance sheet | cash flow не так просто вытаскивать, для этого можете попробовать:

=IMPORTHTML(«www.zacks.com/stock/quote/AAPL/income-statement»;«table»;3)

или

=IMPORTHTML(«www.marketwatch.com/investing/stock/aapl/financials/income»;«table»;5)

avatar
Чтобы сохранить файл у себя, на верхней панели настроек выбираем Файл > Создать копию
avatar

Приветствую! 
Этот пост стал отправной точкой, за что хотел поблагодарить за разъяснение на пальцах.
Пошел дальше, смог буквы в цифры перевести, теперь для коэффициентов стала рабочей. Но я столкнулся с тем, что не могу импротировать данные с сайта stockrow.com/. Ни IMPORTHTML, ни IMPORTXML не хотят работать. Если будет не трудно, просьба, дать направление, чтобы копать и найти решение

Господин Ливермор, Привет!
Для stockrow.com этот способ не работает (. Сайт по другому устроен(api). Но там есть кнопка для экспорта в Эксель. Под эту кнопку можно писать скрипт в google sheets. У меня руки так и не дошли. Возможно тут помогут: t.me/google_sheets

теги блога Trade execution ↝

....все тэги



UPDONW
Новый дизайн