{"slug":"what-is-spy-etf","qid":"spy_vs_peers","label":"spy_vs_peers","post_title":"what-is-spy-etf","post_url":"/blog/lang/pcm/what-is-spy-etf#q-spy_vs_peers","columns":["month","month_label","spy_pct","voo_pct","ivv_pct","spy_minus_voo_pct"],"rows":[{"month":"2025-09","month_label":"Sep 2025","spy_pct":4.5,"voo_pct":4.49,"ivv_pct":4.47,"spy_minus_voo_pct":0.01},{"month":"2025-10","month_label":"Oct 2025","spy_pct":2.85,"voo_pct":2.84,"ivv_pct":2.83,"spy_minus_voo_pct":0},{"month":"2025-11","month_label":"Nov 2025","spy_pct":-0.33,"voo_pct":-0.32,"ivv_pct":-0.31,"spy_minus_voo_pct":0.01},{"month":"2025-12","month_label":"Dec 2025","spy_pct":0.46,"voo_pct":0.47,"ivv_pct":0.4,"spy_minus_voo_pct":0.02},{"month":"2026-01","month_label":"Jan 2026","spy_pct":0.91,"voo_pct":0.89,"ivv_pct":0.91,"spy_minus_voo_pct":0.03},{"month":"2026-02","month_label":"Feb 2026","spy_pct":-0.52,"voo_pct":-0.5,"ivv_pct":-0.47,"spy_minus_voo_pct":0.03},{"month":"2026-03","month_label":"Mar 2026","spy_pct":-4.18,"voo_pct":-4.27,"ivv_pct":-4.19,"spy_minus_voo_pct":0.09},{"month":"2026-04","month_label":"Apr 2026","spy_pct":9.9,"voo_pct":9.9,"ivv_pct":9.93,"spy_minus_voo_pct":0},{"month":"2026-05","month_label":"May 2026","spy_pct":4.88,"voo_pct":4.89,"ivv_pct":4.9,"spy_minus_voo_pct":0},{"month":"2026-06","month_label":"Jun 2026","spy_pct":-1.14,"voo_pct":-1.11,"ivv_pct":-1.33,"spy_minus_voo_pct":0.02},{"month":"2026-07","month_label":"Jul 2026","spy_pct":0.27,"voo_pct":0.28,"ivv_pct":0.26,"spy_minus_voo_pct":0.01},{"month":"2026-08","month_label":"Aug 2026","spy_pct":2.35,"voo_pct":2.33,"ivv_pct":2.35,"spy_minus_voo_pct":0.02},{"month":"2026-09","month_label":"Sep 2026","spy_pct":-0.04,"voo_pct":0.19,"ivv_pct":-0.09,"spy_minus_voo_pct":0.23}],"shape":"series","sql":"SELECT\n    month,\n    any(month_label)                                                                            AS month_label,\n    round(100 * (anyIf(end_close, ticker = 'SPY') / anyIf(start_open, ticker = 'SPY') - 1), 2)  AS spy_pct,\n    round(100 * (anyIf(end_close, ticker = 'VOO') / anyIf(start_open, ticker = 'VOO') - 1), 2)  AS voo_pct,\n    round(100 * (anyIf(end_close, ticker = 'IVV') / anyIf(start_open, ticker = 'IVV') - 1), 2)  AS ivv_pct,\n    round(abs(\n        100 * (anyIf(end_close, ticker = 'SPY') / anyIf(start_open, ticker = 'SPY') - 1)\n      - 100 * (anyIf(end_close, ticker = 'VOO') / anyIf(start_open, ticker = 'VOO') - 1)\n    ), 2)                                                                                       AS spy_minus_voo_pct\nFROM\n(\n    SELECT\n        ticker,\n        formatDateTime(toStartOfMonth(date), '%Y-%m')   AS month,\n        formatDateTime(toStartOfMonth(date), '%b %Y')   AS month_label,\n        toFloat64(argMin(open, date))                   AS start_open,\n        toFloat64(argMax(close, date))                  AS end_close\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker IN ('SPY', 'VOO', 'IVV')\n      AND date >= toStartOfMonth(today() - 365)\n      AND date <= today()\n    GROUP BY ticker, toStartOfMonth(date)\n)\nGROUP BY month\nHAVING countIf(ticker = 'SPY') > 0\n   AND countIf(ticker = 'VOO') > 0\n   AND countIf(ticker = 'IVV') > 0\nORDER BY month","computed_at":"2026-09-20T15:32:12.571646+00:00","elapsed":0.080681157}