STRASMORE/EXPLORE 2,830 QUERIES

ko_by_year

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 us-dividend-yield-for-chinese-investors.

as of table 7×5read in context →
ko_by_year — 7 rows by 5 columns, computed from US exchange, SIP and OPRA data.
yeardps_usdgross_yield_pctnet_yield_10_pctnet_yield_30_pct
20191.62.892.62.02
20201.642.992.692.09
20211.682.842.551.99
20221.762.772.491.94
20231.843.122.812.19
20241.943.122.82.18
20252.042.922.632.04
Rows × columns
7 × 5
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 ko_by_year, derived from the stored result.
ColumnTypeRangeNotes
year text 7 distinct values (2019, 2020, 2021…)
dps_usd number 1.6 to 2.04 US dollars
gross_yield_pct number 2.77 to 3.12 percent
net_yield_10_pct number 2.49 to 2.81 percent
net_yield_30_pct number 1.94 to 2.19 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.

SELECT
    toString(y.year)                                        AS year,
    round(y.dps_usd, 4)                                     AS dps_usd,
    round(100 * y.dps_usd / p.year_close, 2)                AS gross_yield_pct,
    round(100 * y.dps_usd * 0.90 / p.year_close, 2)         AS net_yield_10_pct,
    round(100 * y.dps_usd * 0.70 / p.year_close, 2)         AS net_yield_30_pct
FROM
(
    SELECT
        toYear(ex_dividend_date)         AS year,
        toFloat64(sum(amount))           AS dps_usd
    FROM
    (
        SELECT
            id,
            ex_dividend_date,
            any(cash_amount) AS amount
        FROM global_markets.stocks_dividends
        WHERE ticker = 'KO'
          AND ex_dividend_date >= '2019-01-01'
          AND ex_dividend_date <  toStartOfYear(today())
        GROUP BY id, ex_dividend_date
    )
    GROUP BY year
) AS y
INNER JOIN
(
    SELECT
        toYear(date)                   AS year,
        toFloat64(argMax(close, date)) AS year_close
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'KO'
      AND date >= '2019-01-01'
      AND date <  toStartOfYear(today())
    GROUP BY year
) AS p ON p.year = y.year
ORDER BY year
⌘/Ctrl + Enter

Work with this data in your AI assistant

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