{"slug":"monthly-dividend-stocks","qid":"cadence_bands","label":"Recurring cash payments per ticker over the trailing year - where the monthly band sits","post_title":"Monthly Dividend Stocks: The Full List","post_url":"/blog/monthly-dividend-stocks#q-cadence_bands","columns":["bucket","tickers","labelled_monthly","company_filings"],"rows":[{"bucket":"One a year","tickers":3984,"labelled_monthly":93,"company_filings":29},{"bucket":"Two a year","tickers":2428,"labelled_monthly":38,"company_filings":47},{"bucket":"Three to six a year","tickers":4431,"labelled_monthly":174,"company_filings":1474},{"bucket":"Seven to nine a year","tickers":153,"labelled_monthly":149,"company_filings":5},{"bucket":"Ten to fourteen a year","tickers":1569,"labelled_monthly":1562,"company_filings":34},{"bucket":"Fifteen to thirty-nine a year","tickers":72,"labelled_monthly":0,"company_filings":0},{"bucket":"Forty or more a year","tickers":113,"labelled_monthly":0,"company_filings":0}],"shape":"ranking","sql":"WITH payers AS (\n    SELECT ticker,\n           count() AS payments_12m,\n           argMax(frequency, ex_dividend_date) AS freq_flag\n    FROM global_markets.stocks_dividends\n    WHERE ex_dividend_date > today() - 365\n      AND ex_dividend_date <= today()\n      AND cash_amount > 0\n      AND distribution_type = 'recurring'\n      AND ticker NOT IN ('SPCX')\n    GROUP BY ticker\n),\nfilers AS (\n    SELECT ticker\n    FROM global_markets.stocks_ratios\n    GROUP BY ticker\n    HAVING argMax(market_cap, date) > 0\n)\nSELECT multiIf(payments_12m = 1, 'One a year',\n               payments_12m = 2, 'Two a year',\n               payments_12m BETWEEN 3 AND 6, 'Three to six a year',\n               payments_12m BETWEEN 7 AND 9, 'Seven to nine a year',\n               payments_12m BETWEEN 10 AND 14, 'Ten to fourteen a year',\n               payments_12m BETWEEN 15 AND 39, 'Fifteen to thirty-nine a year',\n               'Forty or more a year') AS bucket,\n       count() AS tickers,\n       countIf(freq_flag = 12) AS labelled_monthly,\n       countIf(ticker IN (SELECT ticker FROM filers)) AS company_filings\nFROM payers\nGROUP BY bucket\nORDER BY min(payments_12m)","computed_at":"2026-08-22T04:16:47.590296+00:00","elapsed":0.057032153}