Why the Greeks Don't Add Up to Your P&L
Root sum of squared daily moves versus the net move, SPY by monthseries ·
2026-10-09 · 12×4
Root sum of squared daily moves versus the net move, SPY by month
Root sum of squared daily moves versus the net move, SPY by month
| month | month_label | path_move_pct | net_move_pct |
|---|---|---|---|
| 2025-07 | Jul 2025 | 1.96 | 2.3 |
| 2025-08 | Aug 2025 | 3.4 | 2.09 |
| 2025-09 | Sep 2025 | 2.12 | 3.25 |
| 2025-10 | Oct 2025 | 4.08 | 2.44 |
| 2025-11 | Nov 2025 | 4.1 | 0.28 |
| 2025-12 | Dec 2025 | 2.41 | 0.19 |
| 2026-01 | Jan 2026 | 2.84 | 1.5 |
| 2026-02 | Feb 2026 | 3.58 | 0.8 |
| 2026-03 | Mar 2026 | 5.38 | 5.19 |
| 2026-04 | Apr 2026 | 3.96 | 10.07 |
| 2026-05 | May 2026 | 2.92 | 5.17 |
| 2026-06 | Jun 2026 | 4.99 | 1.17 |
the exact SQL behind every number
WITH
daily AS
(
SELECT
date,
toFloat64(any(close)) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2025-06-20'
AND date < '2026-07-01'
GROUP BY date
),
seq AS
(
SELECT *, row_number() OVER (ORDER BY date) AS n
FROM daily
),
steps AS
(
SELECT
toStartOfMonth(b.date) AS m,
b.close_px / a.close_px - 1 AS ret
FROM seq AS a
INNER JOIN seq AS b ON b.n = a.n + 1
WHERE b.date >= '2025-07-01'
)
SELECT
formatDateTime(m, '%Y-%m') AS month,
formatDateTime(m, '%b %Y') AS month_label,
round(100 * sqrt(sum(pow(ret, 2))), 2) AS path_move_pct,
round(100 * abs(sum(ret)), 2) AS net_move_pct
FROM steps
GROUP BY m
ORDER BY m
Related queries
One SPY $740 call's price over its 7-week life (expired Jun 18 2026)
series 31×2
→
The stock both options tracked: SPY, May 1 to Jun 15 2026
series 31×3
→
The $740 put's greeks, day by day (delta, gamma, theta, vega, IV%)
series 31×7
→
Call vs put on the same $740 strike: mirror-image prices
series 31×4
→
See all 3,256 queries →