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

2,767 answered market questions

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

What Stocks Are in the DAX 40?
SAP's US line: price move vs dividend contribution by yearranking · 2026-09-26 · 10×4Preview: 10 ranked values, largest first. Dividend dates per year: SAP's US line vs Coca-Colaranking · 2026-09-26 · 10×3Preview: 10 ranked values, largest first. How a 15% weight cap bites in a market-cap-weighted basketranking · 2026-09-26 · 8×4Preview: 8 ranked values, largest first.
SAP's US line: price move vs dividend contribution by year

SAP's US line: price move vs dividend contribution by year

most recentas of ranking 10×4read in context →
SAP's US line: price move vs dividend contribution by year — 10 rows by 4 columns, computed from US exchange, SIP and OPRA data.
yearprice_return_pctdividend_pcttotal_return_pct
201612.041.6913.74
201730.21.5931.79
2018-11.421.47-9.95
201935.11.6936.79
2020-4.691.27-3.43
20218.411.7510.16
2022-27.021.84-25.18
202348.672.1550.82
202463.911.5965.5
2025-0.091.081
the exact SQL behind every number
WITH yearly AS
(
    SELECT
        toYear(date)                   AS fiscal_y,
        argMin(toFloat64(close), date) AS first_close,
        argMax(toFloat64(close), date) AS last_close
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SAP'
      AND date >= '2016-01-01'
      AND date <  '2026-01-01'
    GROUP BY fiscal_y
),
cash AS
(
    SELECT
        toYear(ex_dividend_date)    AS fiscal_y,
        sum(toFloat64(cash_amount)) AS dividends
    FROM global_markets.stocks_dividends
    WHERE ticker = 'SAP'
      AND ex_dividend_date >= '2016-01-01'
      AND ex_dividend_date <  '2026-01-01'
    GROUP BY fiscal_y
)
SELECT
    toString(y.fiscal_y)                                                         AS year,
    round(100 * (y.last_close - y.first_close) / y.first_close, 2)               AS price_return_pct,
    round(100 * c.dividends / y.first_close, 2)                                  AS dividend_pct,
    round(100 * (y.last_close - y.first_close + c.dividends) / y.first_close, 2) AS total_return_pct
FROM yearly AS y
LEFT JOIN cash AS c ON c.fiscal_y = y.fiscal_y
ORDER BY year
$