STRASMORE/EXPLORE 2,830 QUERIES

index_versions

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 how-to-invest-in-the-dax.

as of ranking 15×4read in context →
index_versions — 15 rows by 4 columns, computed from US exchange, SIP and OPRA data.
yearprice_only_indexdividends_reinvested_indexgap_points
201179.582.22.7
201297.8103.65.8
2013124.3133.59.2
2014110.8121.710.9
2015106.3119.112.8
2016110.2126.316.1
2017137.3160.623.3
2018104.612621.4
2019122.3150.928.6
2020130163.133.1
2021132.5170.838.3
202298.8131.532.7
2023116.7159.242.5
2024126.5176.850.3
2025170.3241.771.4
Rows × columns
15 × 4
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 index_versions, derived from the stored result.
ColumnTypeRangeNotes
year text 15 distinct values (2011, 2012, 2013…)
price_only_index number 79.5 to 170.3 US dollars
dividends_reinvested_index number 82.2 to 241.7
gap_points number 2.7 to 71.4

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
    per_year AS
    (
        SELECT
            toYear(date)                   AS yr,
            argMin(toFloat64(close), date) AS first_close,
            argMax(toFloat64(close), date) AS last_close
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'EWG'
          AND date >= '2011-01-01'
          AND date <  '2026-01-01'
        GROUP BY yr
    ),
    per_year_cash AS
    (
        SELECT
            toYear(ex_date) AS yr,
            sum(cash)       AS cash_per_share
        FROM
        (
            SELECT
                ex_dividend_date            AS ex_date,
                max(toFloat64(cash_amount)) AS cash
            FROM global_markets.stocks_dividends
            WHERE ticker = 'EWG'
              AND ex_dividend_date >= '2011-01-01'
              AND ex_dividend_date <  '2026-01-01'
            GROUP BY ex_dividend_date
        )
        GROUP BY yr
    ),
    yearly AS
    (
        SELECT
            p.yr                                                            AS yr,
            p.last_close / p.first_close                                    AS price_factor,
            (p.last_close + ifNull(c.cash_per_share, 0.0)) / p.first_close  AS reinvested_factor
        FROM per_year AS p
        LEFT JOIN per_year_cash AS c ON c.yr = p.yr
    ),
    paths AS
    (
        SELECT
            arraySort(r -> tupleElement(r, 1), groupArray((yr, price_factor, reinvested_factor))) AS ordered,
            arrayMap(r -> tupleElement(r, 1), ordered)                                            AS years,
            arrayMap(v -> round(100 * exp(v), 1),
                     arrayCumSum(arrayMap(r -> log(tupleElement(r, 2)), ordered)))                AS price_path,
            arrayMap(v -> round(100 * exp(v), 1),
                     arrayCumSum(arrayMap(r -> log(tupleElement(r, 3)), ordered)))                AS reinvested_path
        FROM yearly
    )
SELECT
    toString(tupleElement(pt, 1))                        AS year,
    tupleElement(pt, 2)                                  AS price_only_index,
    tupleElement(pt, 3)                                  AS dividends_reinvested_index,
    round(tupleElement(pt, 3) - tupleElement(pt, 2), 1)  AS gap_points
FROM
(
    SELECT arrayJoin(arrayZip(years, price_path, reinvested_path)) AS pt
    FROM paths
)
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.

More from this analysishow-to-invest-in-the-dax
us_session_clock series 36×3 → distribution_history series 14×4 → Top 25 weekly-options underlyings by distinct contracts traded, with expiration weekdays ranking 25×4 → Annualized volatility vs total return, 25 large caps, calmest to wildest (~2 years) ranking 25×3 → SPY options median spread by expiration date, near-the-money strikes only ranking 25×4 → Stock headlines by ET hour of publication (last 30 days, all days) ranking 24×3 → See all 2,830 queries →