{"slug":"how-monthly-returns-are-measured","qid":"split_adjustment","label":"NVDA June 2024: a raw close-to-close calc vs the split-adjusted return","post_title":"How Monthly Stock Returns Are Measured","post_url":"/blog/how-monthly-returns-are-measured#q-split_adjustment","columns":["may_final_close_raw","june_final_close_raw","shares_after_split_per_old_share","raw_price_change_pct","may_close_split_adjusted","adjusted_return_pct"],"rows":[{"may_final_close_raw":1097.46,"june_final_close_raw":123.41,"shares_after_split_per_old_share":10,"raw_price_change_pct":-88.75,"may_close_split_adjusted":109.75,"adjusted_return_pct":12.45}],"shape":"scalar","sql":"WITH px AS (\n    SELECT argMaxIf(cl, day, day <= '2024-05-31') AS may_close,\n           argMaxIf(cl, day, day <= '2024-06-30') AS jun_close\n    FROM (\n        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,\n               argMaxIf(toFloat64(close), window_start,\n                   toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')\n                   AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York')) AS cl\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker = 'NVDA'\n          AND window_start >= '2024-05-29 04:00:00'\n          AND window_start < '2024-07-01 08:00:00'\n        GROUP BY day\n    )\n),\nsp AS (\n    SELECT split_to / split_from AS ratio\n    FROM global_markets.stocks_splits\n    WHERE ticker = 'NVDA'\n      AND execution_date >= '2024-06-01'\n      AND execution_date <= '2024-06-30'\n)\nSELECT round(may_close, 2) AS may_final_close_raw,\n       round(jun_close, 2) AS june_final_close_raw,\n       toInt32(ratio) AS shares_after_split_per_old_share,\n       round(100 * (jun_close - may_close) / may_close, 2) AS raw_price_change_pct,\n       round(may_close / ratio, 2) AS may_close_split_adjusted,\n       round(100 * (jun_close - may_close / ratio) / (may_close / ratio), 2) AS adjusted_return_pct\nFROM px CROSS JOIN sp","computed_at":"2026-07-26T05:37:28.243590+00:00","elapsed":0.076041191}