ttm_yield
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-09-30, from spy-dividend-for-korean-investors.
| ex_date | quarter_label | ttm_yield_pct |
|---|---|---|
| 2018-12-21 | Dec 2018 | 2.12 |
| 2019-03-15 | Mar 2019 | 1.86 |
| 2019-06-21 | Jun 2019 | 1.84 |
| 2019-09-20 | Sep 2019 | 1.84 |
| 2019-12-20 | Dec 2019 | 1.75 |
| 2020-03-20 | Mar 2020 | 2.53 |
| 2020-06-19 | Jun 2020 | 1.86 |
| 2020-09-18 | Sep 2020 | 1.72 |
| 2020-12-18 | Dec 2020 | 1.54 |
| 2021-03-19 | Mar 2021 | 1.43 |
| 2021-06-18 | Jun 2021 | 1.34 |
| 2021-09-17 | Sep 2021 | 1.28 |
| 2021-12-17 | Dec 2021 | 1.24 |
| 2022-03-18 | Mar 2022 | 1.31 |
| 2022-06-17 | Jun 2022 | 1.64 |
| 2022-09-16 | Sep 2022 | 1.6 |
| 2022-12-16 | Dec 2022 | 1.65 |
| 2023-03-17 | Mar 2023 | 1.66 |
| 2023-06-16 | Jun 2023 | 1.48 |
| 2023-09-15 | Sep 2023 | 1.47 |
| 2023-12-15 | Dec 2023 | 1.41 |
| 2024-03-15 | Mar 2024 | 1.32 |
| 2024-06-21 | Jun 2024 | 1.26 |
| 2024-09-20 | Sep 2024 | 1.23 |
| 2024-12-20 | Dec 2024 | 1.2 |
| 2025-03-21 | Mar 2025 | 1.27 |
| 2025-06-20 | Jun 2025 | 1.21 |
| 2025-09-19 | Sep 2025 | 1.09 |
| 2025-12-19 | Dec 2025 | 1.07 |
| 2026-03-20 | Mar 2026 | 1.14 |
| 2026-06-18 | Jun 2026 | 1.01 |
| 2026-09-18 | Sep 2026 | 1 |
- Rows × columns
- 32 × 3
- Period covered
- to
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
ex_date |
date | 2018-12-21 to 2026-09-18 | |
quarter_label |
text | 32 distinct values (Dec 2018, Dec 2019, Dec 2020…) | |
ttm_yield_pct |
number | 1 to 2.53 | percent |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
Run it yourself
This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.
WITH dist AS
(
SELECT
ex_dividend_date AS ex_date,
max(cash_amount) AS cash
FROM global_markets.stocks_dividends
WHERE ticker = 'SPY'
AND ex_dividend_date >= '2018-01-01'
AND ex_dividend_date <= today()
GROUP BY ex_dividend_date
),
ttm AS
(
SELECT
ex_date,
toFloat64(sum(cash) 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 quarters_in_window
FROM dist
)
SELECT
toString(t.ex_date) AS ex_date,
formatDateTime(t.ex_date, '%b %Y') AS quarter_label,
round(100 * t.ttm_cash / toFloat64(a.close), 2) AS ttm_yield_pct
FROM ttm AS t
INNER JOIN
(
SELECT date, max(close) AS close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2018-01-01'
GROUP BY date
) AS a ON a.date = t.ex_date
WHERE t.quarters_in_window = 4
ORDER BY t.ex_date
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.