Акции с высокой дивидендной доходностью часто являются отличной инвестиционной стратегией для инвесторов, стремящихся получать приток денежных средств каждый год. В данной статье буден создан скрипт на Python для отбора их на бирже NASDAQ.
Что такое дивидендная доходность?
Возьму определение изВикипедии. Дивидендная доходность (англ. dividend yield) это отношение величины годового дивиденда на акцию к цене акции. Данная величина выражается чаще всего в процентах.
Пример
При цене акции ОАО Лукойл 1124,37 рублей и дивиденде 28 рублей на акцию дивидендная доходность будет равна:
Так же необходимо обратить внимание, что многие растущие компании, такие как для примера Amazon и Yandex, не выплачивают дивиденды, поскольку они реинвестируют всю прибыль в развитие бизнеса. Поэтому дивидендная доходность для этих фирм будет равна нулю.
Расчет дивидендной доходности с помощью Python
Расчет дивидендной доходности является простой задачей, которую можно выполнить с помощью финансового API под названием fmpcloud и Python. Этот API предлагает несколько бесплатных запросов в день после регистрации.
Первым делом нужно извлечь список тикеров для всех акций, торгующихся на Nasdaq, по которым собираемся рассчитать дивидендную доходность.
import requestsdemo = 'Ваш 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 pdDivYield_dataframe = pd.DataFrame.from_dict(DivYield, orient='index')DivYield_dataframe = DivYield_dataframe.sort_values(['Dividend_Yield'], ascending=[False])DivYield_dataframe.head(15)
**Анализ полученного результата и заключение**
Предварительно проведем расчет средней дивидендной доходности по акциям которые платят дивиденды:
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.
Но как говориться все вышеприведенное не является инвестиционной рекомендацией и выбор остается за каждым самостоятельно.