STRASMORE/EXPLORE 3,256 QUERIES

The exact quarters behind each buyback 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-10-04, from Dividends vs Buybacks: Shareholder Yield.

as of table 8×5read in context →
The exact quarters behind each buyback yield — 8 rows by 5 columns, computed from US exchange, SIP and OPRA data.
tickerprior_quarter_endrecent_quarter_endshares_prior_millionsshares_recent_millions
AAPL2024-12-282025-12-271515114810
CSCO2025-01-252026-01-2440053984
CVX2024-12-312025-12-3118171856
HD2025-08-032026-08-02994996
JNJ2024-12-292025-12-2824292429
KO2025-06-272026-07-0343154313
MSFT2024-12-312025-12-3174687460
PEP2025-06-142026-06-1313731369
Rows × columns
8 × 5
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 The exact quarters behind each buyback yield, derived from the stored result.
ColumnTypeRangeNotes
ticker text 8 distinct values (AAPL, CSCO, CVX…)
prior_quarter_end date 2024-12-28 to 2025-08-03
recent_quarter_end date 2025-12-27 to 2026-08-02
shares_prior_millions number 994 to 15,151 count
shares_recent_millions number 996 to 14,810 count

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
quarters AS
(
    SELECT
        arrayJoin(tickers) AS ticker,
        period_end,
        argMax(toFloat64(diluted_shares_outstanding), filing_date) AS shares
    FROM global_markets.stocks_income_statements
    WHERE timeframe = 'quarterly'
      AND diluted_shares_outstanding > 0
      AND period_end > today() - 800
      AND hasAny(tickers, ['AAPL', 'MSFT', 'KO', 'PEP', 'CVX', 'CSCO', 'HD', 'JNJ'])
    GROUP BY ticker, period_end
    HAVING ticker IN ('AAPL', 'MSFT', 'KO', 'PEP', 'CVX', 'CSCO', 'HD', 'JNJ')
),
latest AS
(
    SELECT
        ticker,
        max(period_end)               AS recent_period,
        argMax(shares, period_end)    AS shares_recent
    FROM quarters
    GROUP BY ticker
    HAVING recent_period > today() - 400
),
share_pairs AS
(
    SELECT
        r.ticker                                                                       AS ticker,
        any(r.recent_period)                                                           AS recent_period,
        any(r.shares_recent)                                                           AS shares_recent,
        argMin(q.period_end, abs(dateDiff('day', q.period_end, r.recent_period - 365))) AS prior_period,
        argMin(q.shares, abs(dateDiff('day', q.period_end, r.recent_period - 365)))     AS shares_prior
    FROM latest AS r
    INNER JOIN quarters AS q ON q.ticker = r.ticker
    WHERE q.period_end BETWEEN r.recent_period - 400 AND r.recent_period - 330
    GROUP BY r.ticker
)
SELECT
    ticker,
    toString(prior_period)        AS prior_quarter_end,
    toString(recent_period)       AS recent_quarter_end,
    round(shares_prior / 1e6, 0)  AS shares_prior_millions,
    round(shares_recent / 1e6, 0) AS shares_recent_millions
FROM share_pairs
ORDER BY ticker
⌘/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 analysisDividends vs Buybacks: Shareholder Yield
AAPL diluted share count, every reported quarter since 2021 series 20×3 → Dividend yield, buyback yield and total shareholder yield ranking 8×4 → Share of net income already committed to the dividend ranking 8×2 → Days to cover at each short interest settlement, AAPL against KO table 35×3 → One quarterly dividend on 1,000 shares, at a qualified rate versus an ordinary rate table 8×6 → Share of reported AAPL volume marked short, by session series 64×3 → See all 3,256 queries →