Dividend payout frequency measures how often a company distributes dividends during a year. Common schedules are monthly, quarterly, semi-annually, annually, or irregularly. section 5.1
Converting annual payouts
A $1 annual payout per share becomes $0.25 per quarter when distributed quarterly, assuming equal yearly payments. Frequency should be read alongside annual payout, yield, growth, and payout ratio rather than treated as a quality signal by itself. section 5.1
Listing 5.1 Calculating dividend growth
def calc_div_growth_rate (stock):
try:
dividends = stock.dividends
if dividends.empty:
return None, None
dividends_by_year = dividends.resample('YE').sum() #1
if len(dividends_by_year) > 1: #2
first_year = dividends_by_year.index[0].year #2
last_year = dividends_by_year.index[-1].year #2
first_dividend = dividends_by_year.iloc[0] #2
last_dividend = dividends_by_year.iloc[-1] #2
num_years = last_year - first_year #2
cagr = ((last_dividend / first_dividend) #2
** (1 / num_years)) - 1 #2
else: #2
cagr = None
payouts_per_year = dividends.resample('YE').
count().mean() #3
if payouts_per_year > 3.5: #3
payout_frequency = "Quarterly" #3
elif payouts_per_year > 1.5: #3
payout_frequency = "Semi-Annual" #3
elif payouts_per_year > 0.5: #3
payout_frequency = "Annual" #3
else: #3
payout_frequency = "Irregular"
return cagr, payout_frequency
except Exception as e:
print(f"Error processing {stock}: {e}")
return None, None
The calculation listing shows how to resample dividend records by year, count payouts, and derive an average payouts-per-year measure. section 5.1
