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

SCHD vs VOO: Why the Dividend Yields Differ
SCHD and VOO annualized dividend yield: twelve month-ends through July 2026series · 2026-08-22 · 12×5Preview: a 12-point series, ending lower. Quarterly distributions per share: SCHD and VOO, 2025 Q1 through 2026 Q2ranking · 2026-08-22 · 6×3Preview: 6 ranked values, smallest first. Latest dividend yield: index heavyweights beside dividend-screen staplesranking · 2026-08-22 · 12×4Preview: 12 ranked values, largest first. Trailing twelve-month distribution yield: dividend funds beside the S&P 500 trackertable · 2026-08-22 · 7×5
SCHD and VOO annualized dividend yield: twelve month-ends through July 2026

SCHD and VOO annualized dividend yield: twelve month-ends through July 2026

most recentas of series 12×5read in context →
SCHD and VOO annualized dividend yield: twelve month-ends through July 2026 — 12 rows by 5 columns, computed from US exchange, SIP and OPRA data.
monthmonth_labelschd_yield_pctvoo_yield_pctgap_pct
2025-08August 20253.731.182.55
2025-09September 20253.821.142.68
2025-10October 20253.91.112.79
2025-11November 20253.781.112.67
2025-12December 20254.051.132.92
2026-01January 20263.731.112.62
2026-02February 20263.51.122.38
2026-03March 20263.351.252.1
2026-04April 20263.21.132.07
2026-05May 20263.161.082.09
2026-06June 20263.191.142.04
2026-07July 20263.021.141.88
the exact SQL behind every number
WITH px AS (
    SELECT ticker,
           toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) AS month_start,
           argMax(close, window_start) AS price,
           max(toDate(toTimeZone(window_start, 'America/New_York'))) AS last_day
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SCHD', 'VOO')
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2025-08-01')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, month_start
),
dv AS (
    SELECT ticker, ex_dividend_date, cash_amount
    FROM global_markets.stocks_dividends
    WHERE ticker IN ('SCHD', 'VOO')
      AND cash_amount > 0
      AND ex_dividend_date >= toDate('2024-12-01')
),
latest AS (
    SELECT px.ticker AS ticker,
           px.month_start AS month_start,
           any(px.price) AS price,
           argMax(dv.cash_amount, dv.ex_dividend_date) AS latest_payment
    FROM px, dv
    WHERE px.ticker = dv.ticker
      AND dv.ex_dividend_date <= px.last_day
    GROUP BY px.ticker, px.month_start
)
SELECT formatDateTime(month_start, '%Y-%m') AS month,
       formatDateTimeInJodaSyntax(month_start, 'MMMM yyyy') AS month_label,
       round(sumIf(latest_payment * 4 / price * 100, ticker = 'SCHD'), 2) AS schd_yield_pct,
       round(sumIf(latest_payment * 4 / price * 100, ticker = 'VOO'), 2) AS voo_yield_pct,
       round(sumIf(latest_payment * 4 / price * 100, ticker = 'SCHD')
             - sumIf(latest_payment * 4 / price * 100, ticker = 'VOO'), 2) AS gap_pct
FROM latest
GROUP BY month_start
ORDER BY month_start
$