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

SPYM Dividend: Ex-Dividend Dates & Yield
Trailing twelve month payout per share and yield, measured at each ex-dividend dateseries · 2026-10-04 · 12×5Preview: a 12-point series, ending lower. Monthly share volume printed under each symbol, complete months onlyseries · 2026-10-04 · 13×4Preview: a 13-point series, ending higher. SPYM (formerly SPLG) quarterly distributions: declared, ex, record and pay datesseries · 2026-10-04 · 12×6Preview: a 12-point series, ending higher.
Trailing twelve month payout per share and yield, measured at each ex-dividend date

Trailing twelve month payout per share and yield, measured at each ex-dividend date

most recentas of series 12×5read in context →
Trailing twelve month payout per share and yield, measured at each ex-dividend date — 12 rows by 5 columns, computed from US exchange, SIP and OPRA data.
ex_dividend_dateex_date_labelttm_cash_per_shareclose_on_ex_datettm_yield_pct
2023-12-18Dec 18, 20230.804655.531.45
2024-03-18Mar 18, 20240.824160.311.37
2024-06-24Jun 24, 20240.844463.831.32
2024-09-23Sep 23, 20240.8621671.29
2024-12-27Dec 27, 20240.8795701.26
2025-03-28Mar 28, 20250.894665.371.37
2025-06-27Jun 27, 20250.885472.321.22
2025-09-26Sep 26, 20250.907977.851.17
2025-12-26Dec 26, 20250.907481.221.12
2026-03-13Mar 13, 20260.884177.741.14
2026-06-12Jun 12, 20260.909887.061.04
2026-09-11Sep 11, 20260.910689.721.01
the exact SQL behind every number
WITH paid AS
(
    SELECT
        ex_dividend_date AS ex_date,
        max(cash_amount) AS cash_paid
    FROM global_markets.stocks_dividends
    WHERE ticker IN ('SPYM', 'SPLG')
      AND cash_amount > 0
    GROUP BY ex_dividend_date
),
rolling AS
(
    SELECT
        ex_date,
        sum(cash_paid) OVER (ORDER BY ex_date ASC ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) AS ttm_cash,
        count()        OVER (ORDER BY ex_date ASC ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) AS payments_counted
    FROM paid
),
closes AS
(
    SELECT
        date,
        max(close) AS close
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('SPYM', 'SPLG')
      AND date >= toDate('2015-01-01')
    GROUP BY date
),
recent AS
(
    SELECT
        toString(r.ex_date)                                        AS ex_dividend_date,
        formatDateTime(r.ex_date, '%b %e, %Y')                     AS ex_date_label,
        round(r.ttm_cash, 4)                                       AS ttm_cash_per_share,
        round(toFloat64(c.close), 2)                               AS close_on_ex_date,
        round(100 * toFloat64(r.ttm_cash) / toFloat64(c.close), 2) AS ttm_yield_pct
    FROM rolling AS r
    INNER JOIN closes AS c ON c.date = r.ex_date
    WHERE r.payments_counted = 4
    ORDER BY r.ex_date DESC
    LIMIT 12
)
SELECT *
FROM recent
ORDER BY ex_dividend_date
$