liveBook · Manning

Dividend payout frequency

As explained in Investing for Programmers

Dividend payout frequency is the number or schedule of dividend distributions made during a year.

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

How Investing for Programmers covers it

How deep it goes
Defines common schedules and demonstrates annual resampling and payout counting, but does not develop frequency-specific risk analysis.
Examples
Uses a $1 annual payout split into four $0.25 quarterly distributions and a pandas dividend-history calculation.
What it assumes
Assumes familiarity with basic dividend metrics and requires dated dividend records for calculating observed frequency.
What you can do after
Apply it via pandas by resampling dividend records and counting distributions per year.
How it connects
Connects payout frequency with annual payout, dividend yield, dividend growth, dividend growth rate, and payout ratio.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Investing for Programmers. The section links point to the parts of the book it draws on.