{"slug":"when-equal-weight-beats-optimization","qid":"trailing_mean_flip","label":"A rolling one year mean return, the number an optimizer would be fed","post_title":"When Equal Weight Beats Optimization","post_url":"/blog/when-equal-weight-beats-optimization#q-trailing_mean_flip","columns":["month","spy_trailing_mean_pct","ko_trailing_mean_pct"],"rows":[{"month":"2017-01-01","spy_trailing_mean_pct":17.7,"ko_trailing_mean_pct":-0.4},{"month":"2017-02-01","spy_trailing_mean_pct":20.7,"ko_trailing_mean_pct":-3.3},{"month":"2017-03-01","spy_trailing_mean_pct":16.1,"ko_trailing_mean_pct":-5.9},{"month":"2017-04-01","spy_trailing_mean_pct":13.2,"ko_trailing_mean_pct":-5.4},{"month":"2017-05-01","spy_trailing_mean_pct":15.2,"ko_trailing_mean_pct":-1},{"month":"2017-06-01","spy_trailing_mean_pct":15.9,"ko_trailing_mean_pct":1.6},{"month":"2017-07-01","spy_trailing_mean_pct":13.6,"ko_trailing_mean_pct":0.1},{"month":"2017-08-01","spy_trailing_mean_pct":12.3,"ko_trailing_mean_pct":5},{"month":"2017-09-01","spy_trailing_mean_pct":14.7,"ko_trailing_mean_pct":7.7},{"month":"2017-10-01","spy_trailing_mean_pct":17.8,"ko_trailing_mean_pct":9.6},{"month":"2017-11-01","spy_trailing_mean_pct":18.2,"ko_trailing_mean_pct":10.8},{"month":"2017-12-01","spy_trailing_mean_pct":17.2,"ko_trailing_mean_pct":10.8},{"month":"2018-01-01","spy_trailing_mean_pct":20.6,"ko_trailing_mean_pct":12.6},{"month":"2018-02-01","spy_trailing_mean_pct":15.3,"ko_trailing_mean_pct":7.5},{"month":"2018-03-01","spy_trailing_mean_pct":13.7,"ko_trailing_mean_pct":3.8},{"month":"2018-04-01","spy_trailing_mean_pct":12.4,"ko_trailing_mean_pct":2.8},{"month":"2018-05-01","spy_trailing_mean_pct":12.8,"ko_trailing_mean_pct":-3.5},{"month":"2018-06-01","spy_trailing_mean_pct":13.1,"ko_trailing_mean_pct":-3.3},{"month":"2018-07-01","spy_trailing_mean_pct":13.8,"ko_trailing_mean_pct":1.3},{"month":"2018-08-01","spy_trailing_mean_pct":15.9,"ko_trailing_mean_pct":1.6},{"month":"2018-09-01","spy_trailing_mean_pct":16.1,"ko_trailing_mean_pct":1},{"month":"2018-10-01","spy_trailing_mean_pct":9.4,"ko_trailing_mean_pct":1.2},{"month":"2018-11-01","spy_trailing_mean_pct":5.9,"ko_trailing_mean_pct":7.9},{"month":"2018-12-01","spy_trailing_mean_pct":-2.4,"ko_trailing_mean_pct":6.4},{"month":"2019-01-01","spy_trailing_mean_pct":-5,"ko_trailing_mean_pct":2.6},{"month":"2019-02-01","spy_trailing_mean_pct":3.1,"ko_trailing_mean_pct":6.9},{"month":"2019-03-01","spy_trailing_mean_pct":4.8,"ko_trailing_mean_pct":6.5},{"month":"2019-04-01","spy_trailing_mean_pct":10.2,"ko_trailing_mean_pct":8.9},{"month":"2019-05-01","spy_trailing_mean_pct":6.7,"ko_trailing_mean_pct":15.7},{"month":"2019-06-01","spy_trailing_mean_pct":6,"ko_trailing_mean_pct":17.5},{"month":"2019-07-01","spy_trailing_mean_pct":8.4,"ko_trailing_mean_pct":16.9},{"month":"2019-08-01","spy_trailing_mean_pct":2.9,"ko_trailing_mean_pct":16.9},{"month":"2019-09-01","spy_trailing_mean_pct":4.1,"ko_trailing_mean_pct":19.1},{"month":"2019-10-01","spy_trailing_mean_pct":7.8,"ko_trailing_mean_pct":17.5},{"month":"2019-11-01","spy_trailing_mean_pct":14.4,"ko_trailing_mean_pct":8.8},{"month":"2019-12-01","spy_trailing_mean_pct":21.7,"ko_trailing_mean_pct":13.2},{"month":"2020-01-01","spy_trailing_mean_pct":23.6,"ko_trailing_mean_pct":19},{"month":"2020-02-01","spy_trailing_mean_pct":18,"ko_trailing_mean_pct":23.1},{"month":"2020-03-01","spy_trailing_mean_pct":-3.4,"ko_trailing_mean_pct":5.6},{"month":"2020-04-01","spy_trailing_mean_pct":-0.5,"ko_trailing_mean_pct":2.6},{"month":"2020-05-01","spy_trailing_mean_pct":7.2,"ko_trailing_mean_pct":-2.4},{"month":"2020-06-01","spy_trailing_mean_pct":12.4,"ko_trailing_mean_pct":-4.1},{"month":"2020-07-01","spy_trailing_mean_pct":12.2,"ko_trailing_mean_pct":-6.6},{"month":"2020-08-01","spy_trailing_mean_pct":21.1,"ko_trailing_mean_pct":-6.1},{"month":"2020-09-01","spy_trailing_mean_pct":17.4,"ko_trailing_mean_pct":-3.3},{"month":"2020-10-01","spy_trailing_mean_pct":19.2,"ko_trailing_mean_pct":-2.4},{"month":"2020-11-01","spy_trailing_mean_pct":18.9,"ko_trailing_mean_pct":4.3},{"month":"2020-12-01","spy_trailing_mean_pct":20.6,"ko_trailing_mean_pct":3.9},{"month":"2021-01-01","spy_trailing_mean_pct":20.1,"ko_trailing_mean_pct":-6.6},{"month":"2021-02-01","spy_trailing_mean_pct":22.2,"ko_trailing_mean_pct":-10.5},{"month":"2021-03-01","spy_trailing_mean_pct":42.6,"ko_trailing_mean_pct":12.4},{"month":"2021-04-01","spy_trailing_mean_pct":42.4,"ko_trailing_mean_pct":17.3},{"month":"2021-05-01","spy_trailing_mean_pct":37.1,"ko_trailing_mean_pct":21.1},{"month":"2021-06-01","spy_trailing_mean_pct":32.3,"ko_trailing_mean_pct":18.8},{"month":"2021-07-01","spy_trailing_mean_pct":32,"ko_trailing_mean_pct":20},{"month":"2021-08-01","spy_trailing_mean_pct":28.5,"ko_trailing_mean_pct":18.3},{"month":"2021-09-01","spy_trailing_mean_pct":28.8,"ko_trailing_mean_pct":11},{"month":"2021-10-01","spy_trailing_mean_pct":27.3,"ko_trailing_mean_pct":10.1},{"month":"2021-11-01","spy_trailing_mean_pct":28.5,"ko_trailing_mean_pct":8.4},{"month":"2021-12-01","spy_trailing_mean_pct":24.3,"ko_trailing_mean_pct":7.6},{"month":"2022-01-01","spy_trailing_mean_pct":19.5,"ko_trailing_mean_pct":20.8},{"month":"2022-02-01","spy_trailing_mean_pct":14,"ko_trailing_mean_pct":21.7},{"month":"2022-03-01","spy_trailing_mean_pct":12.5,"ko_trailing_mean_pct":17.6},{"month":"2022-04-01","spy_trailing_mean_pct":6.8,"ko_trailing_mean_pct":19.6},{"month":"2022-05-01","spy_trailing_mean_pct":-1.6,"ko_trailing_mean_pct":17},{"month":"2022-06-01","spy_trailing_mean_pct":-6.6,"ko_trailing_mean_pct":13.3},{"month":"2022-07-01","spy_trailing_mean_pct":-8.9,"ko_trailing_mean_pct":13.7},{"month":"2022-08-01","spy_trailing_mean_pct":-4.7,"ko_trailing_mean_pct":13.8},{"month":"2022-09-01","spy_trailing_mean_pct":-12.1,"ko_trailing_mean_pct":10.3},{"month":"2022-10-01","spy_trailing_mean_pct":-15.4,"ko_trailing_mean_pct":6.1},{"month":"2022-11-01","spy_trailing_mean_pct":-14.7,"ko_trailing_mean_pct":10.8},{"month":"2022-12-01","spy_trailing_mean_pct":-14.8,"ko_trailing_mean_pct":13.4},{"month":"2023-01-01","spy_trailing_mean_pct":-11.7,"ko_trailing_mean_pct":3.6},{"month":"2023-02-01","spy_trailing_mean_pct":-5.6,"ko_trailing_mean_pct":-0.4},{"month":"2023-03-01","spy_trailing_mean_pct":-7.2,"ko_trailing_mean_pct":1.4},{"month":"2023-04-01","spy_trailing_mean_pct":-4.2,"ko_trailing_mean_pct":0.2},{"month":"2023-05-01","spy_trailing_mean_pct":4.7,"ko_trailing_mean_pct":-0.6},{"month":"2023-06-01","spy_trailing_mean_pct":12.5,"ko_trailing_mean_pct":-0.5},{"month":"2023-07-01","spy_trailing_mean_pct":16.5,"ko_trailing_mean_pct":-1.2},{"month":"2023-08-01","spy_trailing_mean_pct":8.5,"ko_trailing_mean_pct":-4},{"month":"2023-09-01","spy_trailing_mean_pct":14.4,"ko_trailing_mean_pct":-2.9},{"month":"2023-10-01","spy_trailing_mean_pct":15.4,"ko_trailing_mean_pct":-2.6},{"month":"2023-11-01","spy_trailing_mean_pct":14.3,"ko_trailing_mean_pct":-4.5},{"month":"2023-12-01","spy_trailing_mean_pct":18.6,"ko_trailing_mean_pct":-7},{"month":"2024-01-01","spy_trailing_mean_pct":20.6,"ko_trailing_mean_pct":-2.1},{"month":"2024-02-01","spy_trailing_mean_pct":21.4,"ko_trailing_mean_pct":1.1},{"month":"2024-03-01","spy_trailing_mean_pct":27.5,"ko_trailing_mean_pct":1},{"month":"2024-04-01","spy_trailing_mean_pct":22.4,"ko_trailing_mean_pct":-4.3},{"month":"2024-05-01","spy_trailing_mean_pct":24,"ko_trailing_mean_pct":0.8},{"month":"2024-06-01","spy_trailing_mean_pct":22.8,"ko_trailing_mean_pct":4.9},{"month":"2024-07-01","spy_trailing_mean_pct":21.4,"ko_trailing_mean_pct":6.4},{"month":"2024-08-01","spy_trailing_mean_pct":21.4,"ko_trailing_mean_pct":14.2},{"month":"2024-09-01","spy_trailing_mean_pct":24.9,"ko_trailing_mean_pct":22},{"month":"2024-10-01","spy_trailing_mean_pct":31.3,"ko_trailing_mean_pct":24.3},{"month":"2024-11-01","spy_trailing_mean_pct":29.3,"ko_trailing_mean_pct":11.1},{"month":"2024-12-01","spy_trailing_mean_pct":25.8,"ko_trailing_mean_pct":7.5}],"shape":"series","sql":"WITH prices AS\n(\n    SELECT\n        ticker,\n        date,\n        toFloat64(max(close)) AS c\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker IN ('SPY', 'KO')\n      AND date >= '2015-10-01'\n      AND date <  '2025-01-01'\n    GROUP BY ticker, date\n),\nrets AS\n(\n    SELECT\n        ticker,\n        date,\n        c / lagInFrame(c, 1) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret\n    FROM prices\n),\ntrailing AS\n(\n    SELECT\n        ticker,\n        date,\n        avg(ret) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN 251 PRECEDING AND CURRENT ROW) * 252 * 100 AS trailing_mean_pct,\n        row_number() OVER (PARTITION BY ticker ORDER BY date ASC) AS i\n    FROM rets\n    WHERE isFinite(ret)\n)\nSELECT\n    toString(toStartOfMonth(date))                     AS month,\n    round(avgIf(trailing_mean_pct, ticker = 'SPY'), 1) AS spy_trailing_mean_pct,\n    round(avgIf(trailing_mean_pct, ticker = 'KO'), 1)  AS ko_trailing_mean_pct\nFROM trailing\nWHERE i >= 252\n  AND date >= '2017-01-01'\nGROUP BY month\nORDER BY month ASC","computed_at":"2026-08-16T14:56:17.900875+00:00","elapsed":0.003695968}