Большинство других API дают устаревшие годовые / квартальные финансовые отношения. Вместо этого мы получаем ежедневно обновляемые данные от FinViz.

Фундаментальный анализ

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

Фундаментальный анализ (FA) - это метод измерения внутренней стоимости ценной бумаги путем изучения связанных экономических и финансовых факторов.

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

Выше приведено определение фундаментального анализа, процитированное из Определения Investopedia.

Финансовые коэффициенты

Если вы знакомы с фундаментальным анализом, вы также слышали о полезности финансовых коэффициентов, таких как отношение цены к прибыли (P / E), отношение цены к балансовой стоимости (P / B), соотношение цена / прибыль / рост (PEG) при оценке компании, а также такие отношения, как отношение долга к собственному капиталу. (D / E) при определении финансового состояния компании. Не стесняйтесь узнать больше об этом по ссылке ниже.



5 обязательных показателей для стоимостных инвесторов
Хотя нет« правильного способа
для анализа акций, стоимостные инвесторы обращаются к финансовым коэффициентам, чтобы помочь проанализировать… www.investopedia.com »



Разве не было бы хорошо иметь возможность получить эти соотношения ваших любимых акций на Python без необходимости просматривать веб-сайты за веб-сайтами?

Однако большинство API дает устаревшие годовые / квартальные финансовые отношения.

Очень популярным API для получения финансовой отчетности является API-интерфейс Financial Modeling Prep (ссылка ниже), однако он дает устаревшие годовые / квартальные финансовые отношения (см. Красную стрелку на снимке экрана ниже).



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

Пошаговое руководство по анализу актуальных финансовых показателей из FinViz с использованием Python

Да, здесь мы получаем актуальные коэффициенты.

1. Импортируйте библиотеки

Сначала мы импортируем библиотеки, которые нам нужны для хранения данных. BeautifulSoup необходим для анализа данных из FinViz, в то время как запросы необходимы для получения данных.

2. Функции для получения и анализа данных

Далее мы пишем функции для получения и анализа данных с сайта FinViz. Здесь приведен пример веб-сайта, показывающего финансовые коэффициенты для AAPL.



Ниже приведены функции, необходимые для синтаксического анализа html со страницы выше, чтобы получить коэффициенты из таблиц на странице. В основном соотношения находятся внутри HTML-таблиц с атрибутом класса ‘snapshot-td2’. Пожалуйста, обратитесь к документации BeautifulSoup, чтобы узнать больше.

3. Перечислите тикеры акций и другие коэффициенты / показатели, которые вас интересуют.

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

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

4. Инициализируйте фрейм данных Pandas и сохраните в нем данные из FinViz.

Результирующий DataFrame показан ниже. Требуется дополнительная работа, поскольку значения распознаются как строки. Это связано с отсутствием значений, помеченных как «-», а также символов «%». Нам нужно преобразовать все в числовые данные, прежде чем проводить какой-либо анализ.

5. Дальнейший синтаксический анализ данных по числовым типам.

Мы удаляем «%» и превращаем все в числовые данные, в результате чего получаем следующий результат.

Мы сделали! Давайте отфильтруем желаемые компании.

Фильтр для желаемых компаний

Это примеры того, что вы можете делать с данными.

Фильтр для компаний с низкой оценкой, например, P / E ‹15 и P / B‹ 1

Дополнительный фильтр для компаний, продемонстрировавших рентабельность EPS Q / Q ›10%

Здесь мы выполняем фильтрацию по вышеуказанным критериям.

Руководство, имеющее значительную долю участия в бизнесе, т.е. владеет инсайдером ›30%

Также было бы хорошо отсеять компании, в которых инсайдеры имеют существенную долю владения. Это необходимо для того, чтобы интересы менеджмента совпадали с интересами акционеров. Я отдельно отсеял эти компании здесь.

Я надеюсь, что вы найдете это полезным. Весь код доступен в этой записной книжке Python в моем репозитории GitHub. Конечно, теперь вам решать, что делать с этими данными!

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