STRASMORE/EXPLORE 2,170 QUERIES

Trailing twelve-month yield and indicated yield, same funds, same day

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-08-22, from SEC 30-Day Yield vs Distribution Yield.

as of ranking 6×4read in context →
Trailing twelve-month yield and indicated yield, same funds, same day — 6 rows by 4 columns, computed from US exchange, SIP and OPRA data.
fundttm_distribution_yield_pctindicated_yield_pctgap_pct
JEPI7.917.590.31
VYM2.22.380.17
SCHD32.890.11
TLT4.744.820.08
QQQ0.420.450.03
SPY0.980.990.01
Rows × columns
6 × 4
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 Trailing twelve-month yield and indicated yield, same funds, same day, derived from the stored result.
ColumnTypeRangeNotes
fund text 6 distinct values (JEPI, QQQ, SCHD…)
ttm_distribution_yield_pct number 0.42 to 7.91 percent
indicated_yield_pct number 0.45 to 7.59 percent
gap_pct number 0.01 to 0.31 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.

the exact SQL behind every number
WITH
    px AS
    (
        SELECT
            ticker,
            argMax(toFloat64(close), date) AS last_close
        FROM global_markets.stocks_daily_aggs
        WHERE ticker IN ('SPY', 'SCHD', 'VYM', 'QQQ', 'TLT', 'JEPI')
          AND date >= today() - 30
        GROUP BY ticker
    ),
    paid AS
    (
        SELECT
            fund_ticker       AS ticker,
            sum(cash)         AS ttm_cash,
            argMax(cash, exd) AS latest_cash,
            argMax(freq, exd) AS pays_per_year
        FROM
        (
            SELECT
                any(ticker)                 AS fund_ticker,
                any(toFloat64(cash_amount)) AS cash,
                any(ex_dividend_date)       AS exd,
                any(toUInt16(frequency))    AS freq
            FROM global_markets.stocks_dividends
            WHERE ticker IN ('SPY', 'SCHD', 'VYM', 'QQQ', 'TLT', 'JEPI')
              AND ex_dividend_date > today() - 365
              AND ex_dividend_date <= today()
              AND toUInt16(frequency) > 0
            GROUP BY id
        )
        GROUP BY fund_ticker
    )
SELECT
    p.ticker                                                       AS fund,
    round((100 * p.ttm_cash) / x.last_close, 2)                    AS ttm_distribution_yield_pct,
    round((100 * p.latest_cash * p.pays_per_year) / x.last_close, 2) AS indicated_yield_pct,
    round(abs(((100 * p.latest_cash * p.pays_per_year) / x.last_close)
              - ((100 * p.ttm_cash) / x.last_close)), 2)           AS gap_pct
FROM paid AS p
INNER JOIN px AS x ON x.ticker = p.ticker
ORDER BY gap_pct DESC, fund ASC

Run your own version of this

The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.

More from this analysisSEC 30-Day Yield vs Distribution Yield
Two years of regular distributions: how many, and how variable ranking 6×3 The market rate backdrop: 3-month and 10-year Treasury yields series 53×4 One bond fund, two distribution yields, month by month series 37×4 Latest dividend yield: index heavyweights beside dividend-screen staples ranking 12×4 Quarterly distributions per share: SCHD and VOO, 2025 Q1 through 2026 Q2 ranking 6×3 SCHD and VOO annualized dividend yield: twelve month-ends through July 2026 series 12×5 See all 2,170 queries →