{"slug":"how-to-invest-in-the-dax","qid":"index_versions","label":"index_versions","post_title":"how-to-invest-in-the-dax","post_url":"/blog/how-to-invest-in-the-dax#q-index_versions","columns":["year","price_only_index","dividends_reinvested_index","gap_points"],"rows":[{"year":"2011","price_only_index":79.5,"dividends_reinvested_index":82.2,"gap_points":2.7},{"year":"2012","price_only_index":97.8,"dividends_reinvested_index":103.6,"gap_points":5.8},{"year":"2013","price_only_index":124.3,"dividends_reinvested_index":133.5,"gap_points":9.2},{"year":"2014","price_only_index":110.8,"dividends_reinvested_index":121.7,"gap_points":10.9},{"year":"2015","price_only_index":106.3,"dividends_reinvested_index":119.1,"gap_points":12.8},{"year":"2016","price_only_index":110.2,"dividends_reinvested_index":126.3,"gap_points":16.1},{"year":"2017","price_only_index":137.3,"dividends_reinvested_index":160.6,"gap_points":23.3},{"year":"2018","price_only_index":104.6,"dividends_reinvested_index":126,"gap_points":21.4},{"year":"2019","price_only_index":122.3,"dividends_reinvested_index":150.9,"gap_points":28.6},{"year":"2020","price_only_index":130,"dividends_reinvested_index":163.1,"gap_points":33.1},{"year":"2021","price_only_index":132.5,"dividends_reinvested_index":170.8,"gap_points":38.3},{"year":"2022","price_only_index":98.8,"dividends_reinvested_index":131.5,"gap_points":32.7},{"year":"2023","price_only_index":116.7,"dividends_reinvested_index":159.2,"gap_points":42.5},{"year":"2024","price_only_index":126.5,"dividends_reinvested_index":176.8,"gap_points":50.3},{"year":"2025","price_only_index":170.3,"dividends_reinvested_index":241.7,"gap_points":71.4}],"shape":"ranking","sql":"WITH\n    per_year AS\n    (\n        SELECT\n            toYear(date)                   AS yr,\n            argMin(toFloat64(close), date) AS first_close,\n            argMax(toFloat64(close), date) AS last_close\n        FROM global_markets.stocks_daily_aggs\n        WHERE ticker = 'EWG'\n          AND date >= '2011-01-01'\n          AND date <  '2026-01-01'\n        GROUP BY yr\n    ),\n    per_year_cash AS\n    (\n        SELECT\n            toYear(ex_date) AS yr,\n            sum(cash)       AS cash_per_share\n        FROM\n        (\n            SELECT\n                ex_dividend_date            AS ex_date,\n                max(toFloat64(cash_amount)) AS cash\n            FROM global_markets.stocks_dividends\n            WHERE ticker = 'EWG'\n              AND ex_dividend_date >= '2011-01-01'\n              AND ex_dividend_date <  '2026-01-01'\n            GROUP BY ex_dividend_date\n        )\n        GROUP BY yr\n    ),\n    yearly AS\n    (\n        SELECT\n            p.yr                                                            AS yr,\n            p.last_close / p.first_close                                    AS price_factor,\n            (p.last_close + ifNull(c.cash_per_share, 0.0)) / p.first_close  AS reinvested_factor\n        FROM per_year AS p\n        LEFT JOIN per_year_cash AS c ON c.yr = p.yr\n    ),\n    paths AS\n    (\n        SELECT\n            arraySort(r -> tupleElement(r, 1), groupArray((yr, price_factor, reinvested_factor))) AS ordered,\n            arrayMap(r -> tupleElement(r, 1), ordered)                                            AS years,\n            arrayMap(v -> round(100 * exp(v), 1),\n                     arrayCumSum(arrayMap(r -> log(tupleElement(r, 2)), ordered)))                AS price_path,\n            arrayMap(v -> round(100 * exp(v), 1),\n                     arrayCumSum(arrayMap(r -> log(tupleElement(r, 3)), ordered)))                AS reinvested_path\n        FROM yearly\n    )\nSELECT\n    toString(tupleElement(pt, 1))                        AS year,\n    tupleElement(pt, 2)                                  AS price_only_index,\n    tupleElement(pt, 3)                                  AS dividends_reinvested_index,\n    round(tupleElement(pt, 3) - tupleElement(pt, 2), 1)  AS gap_points\nFROM\n(\n    SELECT arrayJoin(arrayZip(years, price_path, reinvested_path)) AS pt\n    FROM paths\n)\nORDER BY year","computed_at":"2026-09-30T16:10:25.658872+00:00","elapsed":0.489701395}