Блог им. Zmey56

Использование API Fmp Cloud для отбора акций по дивидендам на Nasdaq с помощью Python

    • 21 марта 2021, 20:02
    • |
    • Aleks
  • Еще

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

Что такое дивидендная доходность?

Возьму определение из Википедии. Дивиде́ндная дохо́дность (англ. dividend yield) — это отношение величины годового дивиденда на акцию к цене акции. Данная величина выражается чаще всего в процентах.

Пример

При цене акции ОАО «Лукойл» 1124,37 рублей и дивиденде 28 рублей на акцию дивидендная доходность будет равна:

Использование API Fmp Cloud для отбора акций по дивидендам на Nasdaq с помощью Python
Так же необходимо обратить внимание, что многие растущие компании, такие как для примера Amazon и Yandex, не выплачивают дивиденды, поскольку они реинвестируют всю прибыль в развитие бизнеса. Поэтому дивидендная доходность для этих фирм будет равна нулю.

Расчет дивидендной доходности с помощью Python

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

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

import requests

demo = 'Ваш API CODE'

tickers = requests.get(f'https://fmpcloud.io/api/v3/symbol/available-nasdaq?apikey={demo}')

tickers = tickers.json()
symbols = []
for ticker in tickers:
    symbols.append(ticker['symbol'])
После необходимо пройтись по полученному списку акций и получить финансовую информацию по компании. Так же необходимо понимать, что получаем только последние данные, а не за все время существование компании.

DivYield = {}
for company in symbols:
  try:
    companydata = requests.get(f'https://fmpcloud.io/api/v3/profile/{company}?apikey={demo}')
    companydata = companydata.json()
    latest_Annual_Dividend = companydata[0]['lastDiv']
    price = companydata[0]['price']
    market_Capitalization = companydata[0]['mktCap']
    name = companydata[0]['companyName']
    exchange = companydata[0]['exchange']

    dividend_Yield= latest_Annual_Dividend/price
    DivYield[company] = {}
    DivYield[company]['Dividend_Yield'] = dividend_Yield
    DivYield[company]['latest_Price'] = price
    DivYield[company]['latest_Dividend'] = latest_Annual_Dividend
    DivYield[company]['market_Capit_in_M'] = market_Capitalization/1000000
    DivYield[company]['company_Name'] = name
    DivYield[company]['exchange'] = exchange
  except:
    pass
Сбор данных может занять значительное по продолжительности время. После их можно представить в виде отсортированного DataFrame, где сверху будут акций с высокой дивидендной доходностью.

import pandas as pd
DivYield_dataframe = pd.DataFrame.from_dict(DivYield, orient='index')

DivYield_dataframe = DivYield_dataframe.sort_values(['Dividend_Yield'], ascending=[False])
DivYield_dataframe.head(15)

Использование API Fmp Cloud для отбора акций по дивидендам на Nasdaq с помощью Python

Анализ полученного результата и заключение

Предварительно проведем расчет средней дивидендной доходности по акциям которые платят дивиденды:

meanDivNasdaq = DivYield_dataframe[DivYield_dataframe['Dividend_Yield']>0]['Dividend_Yield'].mean()
print("Средняя дивидендная доходность по рынку Nasdaq равна ", "{:.2%}".format(meanDivNasdaq))
Средняя дивидендная доходность по рынку Nasdaq равна  2.80%

Самой высокой дивидендной доходностью в полученных результатах у акций компании Triumph Bancorp Inc — 21,57%. Но необходимо быть осторожным при выборе компаний по данному показателю, так как он может являться результатом падения цены акций и как следствия ростом дивидендной доходности. Правда не в этом случае. Так же выплата высоких дивидендов может не сохраниться в будущем, тем более если у компании возникнут финансовые проблемы.

Основной смысл в следующем — анализ дивидендной доходности не должен быть единственным критерием. Я для одного из своих портфелей так же смотрю: EPS, EBITDA, FCF, срок выплаты дивидендов, капитализация компании, чистая рентабельность (отношение выручки к прибыли) и коэффициент Net Debt/EBITDA.

Но как говориться — все вышеприведенное не является инвестиционной рекомендацией и выбор остается за каждым самостоятельно.

4.6К | ★12
8 комментариев
Спасибо!
Только начинаю знакомство с американским рынком и как раз подумывал выбрать дивидендные компании, а тут еще и с Питоном интересное упражнение.
avatar
Доходность, ваще-та, определяется из расчета "%% годовых".
Это означает, что в формуле про дивы Лукойла не хватает коэффициента приведения к году, а точнее — к периоду получения денег.
Правильный расчет покажет, что, если указанная в формуле цена продержится до дня, скажем, отстоящего 1 месяц до даты выплаты, а фактическое поступление денег Вам на счет — через 1 месяц от начала выплат, то процентная ставка дивидендной доходности равна 2,49%/2*12 = 14,94% годовых.
Вот что считать нужно! Тогда будет понятно, какая цена должна быть в какой день до даты выплаты. Отсюда легко будет понятно, покупать ли бумагу или продавать.
avatar
Eugene Bright, а поподробнее можно про логику расчета? ).
Хочу, например, купить акцию Черкизово для дивидендов. Как мне определить, брать ее или нет?
Врач-бондиатОр, когда-то (помнится, в 1996 году), сдавая экзамен на Аттестат МФ 1-й категории, я уяснил, что считать доходность инвестиции нужно именно так, как я написал выше, т.е. с учетом предполагаемого срока получения дохода.
Для акций Черкизова, в частности (хотя это справедливо для всех купонов, дивидендов, дисконтных доходов и т.п. без учета НДФЛ), нужно посчитать так:

Д, %% годовых = (ЦенаПродажи — ЦенаПокупки + ОценкаДивиденда)/ЦенаПокупки*12мес/СрокИнвестиции*100%
Отсюда можно посчитать дивгэп, кстати.

Если продажа не предусмотрена, то из числителя убираем (ЦенаПродажи — ЦенаПокупки).

Я не слежу за этим эмитентом и поэтому не знаю ни текущей цены, ни сумму предполагаемых дивидендов, ни порядка (даты отсечки под дивы, сроки выплат), поэтому не могу посчитать, извините.
avatar
Eugene Bright, а когда продавать можно? Ведь дивидендный гэп может в теории и через год закрыться? Или это риск инвестора?
Врач-бондиатОр, зачем ждать год?
Если Вы считаете, что текущая доходность Вашего портфеля составляет ХХХ% годовых, и это — очень хорошо, то берете её, подставляете в формулу доходности и получаете соотношение цен «покупки/продажи». Дело в том, что большинство желает хапнуть с рынка всё и поэтому не получает ничего. Вы же можете определить комфортную разницу между покупкой и продажей, дающую удовлетворительную доходность. Ну, а всё, что сверх того, — Ваша премия.
Распространенный расчет дивгэпа (цена — дивиденд) — это самая грубая оценка. В реальности на рынке крупные игроки забирают годовую доходность. Ведь именно её можно сравнить и с доходностью депозитов, и с доходностью госбумаг.
avatar
у автора похоже формула текущей доходности облигации
Не обращайте внимания на критику. Дивидендную доходность Вы определяете правильно. Ее не надо приводить к годовым величинам, как здесь рекомендуют. С другой стороны, ожидаемая доходность от инвестиции, о которой здесь пишут, может быть гораздо полезнее пни принятии решени. Высокая див.доходность сама по себе не означает высокую привлекательность инвестиции и отбирать акции в портфель только по этому критерию неразумно.
avatar

Читайте на SMART-LAB:
Фото
ПАО «АПРИ» расширяет географию присутствия: старт продаж во Владивостоке
ПАО «АПРИ» расширяет географию присутствия: старт продаж во Владивостоке ЖК «ТвояПривилегия» на острове Русский отражает...
Фото
«Дом.РФ» — интересный фининститут с потенциалом роста
Аналитики «Финама» добавили в покрытие бумаги «Дом.РФ». Эксперты положительно оценивают перспективы бизнеса эмитента, одного из ключевых...
Фото
12 марта Группа Ренессанс страхование опубликует МСФО за 2025 год
Напоминаем, что 12 марта 2026 года RENI опубликует МСФО Группы за 2025 год, а также проведет День инвестора, чтобы рассказать о ситуации на...
Фото
Гендиректор Инарктики продал свои акции компании. Что это может значить?
Вечером в пятницу (6 марта ) вышел сущфакт о том, что Соснов Илья Геннадьевич, гендиректор Инарктики, продал свои акции компании. В нашем...

теги блога Aleks

....все тэги



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