STRASMORE/EXPLORE 3,022 QUERIES 22Y EQUITIES · 12Y OPTIONS

3,022 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

PG Dividend 2026: Dates, History and Yield
PG trailing twelve-month dividend yield against the month-end share priceseries · 2026-10-04 · 22×3Preview: a 16-point series, ending higher. Every PG quarterly rate increase since 2017, and the size of each stepseries · 2026-10-04 · 10×6Preview: a 10-point series, roughly flat. Every declared 2026 PG dividend: declaration, ex date, record date, paymentseries · 2026-10-04 · 3×7Preview: a 3-point series, ending higher. PG dividend timeline by quarter: declaration to ex date, ex date to paymentranking · 2026-10-04 · 9×4Preview: 9 ranked values, largest first. PG dividends per share by calendar year, and the year-over-year stepranking · 2026-10-04 · 14×4Preview: 14 ranked values, smallest first.
PG trailing twelve-month dividend yield against the month-end share price

PG trailing twelve-month dividend yield against the month-end share price

most recentas of series 22×3read in context →
PG trailing twelve-month dividend yield against the month-end share price — 22 rows by 3 columns, computed from US exchange, SIP and OPRA data.
monthmonth_end_closettm_yield_pct
2025-01-01165.992.43
2025-02-01173.842.32
2025-03-01170.422.36
2025-04-01162.572.51
2025-05-01169.892.4
2025-06-01159.322.56
2025-07-01150.472.74
2025-08-01157.042.63
2025-09-01153.652.69
2025-10-01150.372.78
2025-11-01148.162.82
2025-12-01143.312.91
2026-01-01151.772.79
2026-02-01167.22.53
2026-03-01144.442.93
2026-04-01147.092.9
2026-05-01143.562.97
2026-06-01146.642.9
2026-07-01144.492.97
2026-08-01145.122.96
2026-09-01145.282.95
2026-10-01144.912.96
the exact SQL behind every number
WITH px AS
(
    SELECT
        toStartOfMonth(date)           AS month,
        max(date)                      AS last_session,
        argMax(toFloat64(close), date) AS month_end_close
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'PG'
      AND date >= '2025-01-01'
    GROUP BY month
),
divs AS
(
    SELECT
        ex_dividend_date,
        max(toFloat64(cash_amount)) AS amt
    FROM global_markets.stocks_dividends
    WHERE ticker = 'PG'
      AND ex_dividend_date >= '2023-12-01'
    GROUP BY ex_dividend_date
)
SELECT
    toString(p.month)                                AS month,
    round(p.month_end_close, 2)                      AS month_end_close,
    round(100 * sum(d.amt) / p.month_end_close, 2)   AS ttm_yield_pct
FROM px AS p
CROSS JOIN divs AS d
WHERE d.ex_dividend_date <= p.last_session
  AND d.ex_dividend_date >  subtractYears(p.last_session, 1)
GROUP BY p.month, p.month_end_close
ORDER BY p.month
$