STRASMORE/EXPLORE 2,170 QUERIES 22Y EQUITIES · 12Y OPTIONS

2,170 answered market questions

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

SEC 30-Day Yield vs Distribution Yield
Trailing twelve-month yield and indicated yield, same funds, same dayranking · 2026-08-22 · 6×4Preview: 6 ranked values, largest first. One bond fund, two distribution yields, month by monthseries · 2026-08-22 · 37×4Preview: a 16-point series, ending higher. The market rate backdrop: 3-month and 10-year Treasury yieldsseries · 2026-08-22 · 53×4Preview: a 16-point series, ending higher. Two years of regular distributions: how many, and how variableranking · 2026-08-22 · 6×3Preview: 6 ranked values, largest first.
Trailing twelve-month yield and indicated yield, same funds, same day

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

most recentas 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
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
$