STRASMORE/EXPLORE 2,830 QUERIES

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.

as of series 32×3read in context →
ttm_yield — 32 rows by 3 columns, computed from US exchange, SIP and OPRA data.
ex_datequarter_labelttm_yield_pct
2018-12-21Dec 20182.12
2019-03-15Mar 20191.86
2019-06-21Jun 20191.84
2019-09-20Sep 20191.84
2019-12-20Dec 20191.75
2020-03-20Mar 20202.53
2020-06-19Jun 20201.86
2020-09-18Sep 20201.72
2020-12-18Dec 20201.54
2021-03-19Mar 20211.43
2021-06-18Jun 20211.34
2021-09-17Sep 20211.28
2021-12-17Dec 20211.24
2022-03-18Mar 20221.31
2022-06-17Jun 20221.64
2022-09-16Sep 20221.6
2022-12-16Dec 20221.65
2023-03-17Mar 20231.66
2023-06-16Jun 20231.48
2023-09-15Sep 20231.47
2023-12-15Dec 20231.41
2024-03-15Mar 20241.32
2024-06-21Jun 20241.26
2024-09-20Sep 20241.23
2024-12-20Dec 20241.2
2025-03-21Mar 20251.27
2025-06-20Jun 20251.21
2025-09-19Sep 20251.09
2025-12-19Dec 20251.07
2026-03-20Mar 20261.14
2026-06-18Jun 20261.01
2026-09-18Sep 20261
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
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for ttm_yield, derived from the stored result.
ColumnTypeRangeNotes
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
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisspy-dividend-for-korean-investors
payment_lag series 31×4 → session_clock series 18×3 → distribution_cycle series 15×5 → The 2s10s spread by month, full history series 604×5 → One SPY $600 LEAPS call's price over two years (expired Jan 16 2026) series 470×2 → The 5s30s spread month by month, with both legs series 241×4 → See all 2,830 queries →