{"slug":"why-the-greeks-dont-add-up-to-your-pnl","qid":"path_vs_endpoints","label":"Root sum of squared daily moves versus the net move, SPY by month","post_title":"Why the Greeks Don't Add Up to Your P&L","post_url":"/blog/why-the-greeks-dont-add-up-to-your-pnl#q-path_vs_endpoints","columns":["month","month_label","path_move_pct","net_move_pct"],"rows":[{"month":"2025-07","month_label":"Jul 2025","path_move_pct":1.96,"net_move_pct":2.3},{"month":"2025-08","month_label":"Aug 2025","path_move_pct":3.4,"net_move_pct":2.09},{"month":"2025-09","month_label":"Sep 2025","path_move_pct":2.12,"net_move_pct":3.25},{"month":"2025-10","month_label":"Oct 2025","path_move_pct":4.08,"net_move_pct":2.44},{"month":"2025-11","month_label":"Nov 2025","path_move_pct":4.1,"net_move_pct":0.28},{"month":"2025-12","month_label":"Dec 2025","path_move_pct":2.41,"net_move_pct":0.19},{"month":"2026-01","month_label":"Jan 2026","path_move_pct":2.84,"net_move_pct":1.5},{"month":"2026-02","month_label":"Feb 2026","path_move_pct":3.58,"net_move_pct":0.8},{"month":"2026-03","month_label":"Mar 2026","path_move_pct":5.38,"net_move_pct":5.19},{"month":"2026-04","month_label":"Apr 2026","path_move_pct":3.96,"net_move_pct":10.07},{"month":"2026-05","month_label":"May 2026","path_move_pct":2.92,"net_move_pct":5.17},{"month":"2026-06","month_label":"Jun 2026","path_move_pct":4.99,"net_move_pct":1.17}],"shape":"series","sql":"WITH\n    daily AS\n    (\n        SELECT\n            date,\n            toFloat64(any(close)) AS close_px\n        FROM global_markets.stocks_daily_aggs\n        WHERE ticker = 'SPY'\n          AND date >= '2025-06-20'\n          AND date <  '2026-07-01'\n        GROUP BY date\n    ),\n    seq AS\n    (\n        SELECT *, row_number() OVER (ORDER BY date) AS n\n        FROM daily\n    ),\n    steps AS\n    (\n        SELECT\n            toStartOfMonth(b.date)      AS m,\n            b.close_px / a.close_px - 1 AS ret\n        FROM seq AS a\n        INNER JOIN seq AS b ON b.n = a.n + 1\n        WHERE b.date >= '2025-07-01'\n    )\nSELECT\n    formatDateTime(m, '%Y-%m')             AS month,\n    formatDateTime(m, '%b %Y')             AS month_label,\n    round(100 * sqrt(sum(pow(ret, 2))), 2) AS path_move_pct,\n    round(100 * abs(sum(ret)), 2)          AS net_move_pct\nFROM steps\nGROUP BY m\nORDER BY m","computed_at":"2026-10-09T15:45:58.240855+00:00","elapsed":0.002525569}