{"slug":"does-theta-decay-over-the-weekend","qid":"weekend_clock","label":"Model decay per calendar step into the July 17, 2026 expiration (hypothetical at-the-money option)","post_title":"Does Theta Decay Over the Weekend?","post_url":"/blog/does-theta-decay-over-the-weekend#q-weekend_clock","columns":["session_date","session_label","calendar_days_to_next_session","one_day_pct","actual_step_pct"],"rows":[{"session_date":"2026-06-15","session_label":"Mon Jun 15","calendar_days_to_next_session":1,"one_day_pct":1.57,"actual_step_pct":1.57},{"session_date":"2026-06-16","session_label":"Tue Jun 16","calendar_days_to_next_session":1,"one_day_pct":1.63,"actual_step_pct":1.63},{"session_date":"2026-06-17","session_label":"Wed Jun 17","calendar_days_to_next_session":1,"one_day_pct":1.68,"actual_step_pct":1.68},{"session_date":"2026-06-18","session_label":"Thu Jun 18","calendar_days_to_next_session":4,"one_day_pct":1.74,"actual_step_pct":7.15},{"session_date":"2026-06-22","session_label":"Mon Jun 22","calendar_days_to_next_session":1,"one_day_pct":2.02,"actual_step_pct":2.02},{"session_date":"2026-06-23","session_label":"Tue Jun 23","calendar_days_to_next_session":1,"one_day_pct":2.11,"actual_step_pct":2.11},{"session_date":"2026-06-24","session_label":"Wed Jun 24","calendar_days_to_next_session":1,"one_day_pct":2.2,"actual_step_pct":2.2},{"session_date":"2026-06-25","session_label":"Thu Jun 25","calendar_days_to_next_session":1,"one_day_pct":2.3,"actual_step_pct":2.3},{"session_date":"2026-06-26","session_label":"Fri Jun 26","calendar_days_to_next_session":3,"one_day_pct":2.41,"actual_step_pct":7.42},{"session_date":"2026-06-29","session_label":"Mon Jun 29","calendar_days_to_next_session":1,"one_day_pct":2.82,"actual_step_pct":2.82},{"session_date":"2026-06-30","session_label":"Tue Jun 30","calendar_days_to_next_session":1,"one_day_pct":2.99,"actual_step_pct":2.99},{"session_date":"2026-07-01","session_label":"Wed Jul 1","calendar_days_to_next_session":1,"one_day_pct":3.18,"actual_step_pct":3.18},{"session_date":"2026-07-02","session_label":"Thu Jul 2","calendar_days_to_next_session":4,"one_day_pct":3.39,"actual_step_pct":14.37},{"session_date":"2026-07-06","session_label":"Mon Jul 6","calendar_days_to_next_session":1,"one_day_pct":4.65,"actual_step_pct":4.65},{"session_date":"2026-07-07","session_label":"Tue Jul 7","calendar_days_to_next_session":1,"one_day_pct":5.13,"actual_step_pct":5.13},{"session_date":"2026-07-08","session_label":"Wed Jul 8","calendar_days_to_next_session":1,"one_day_pct":5.72,"actual_step_pct":5.72},{"session_date":"2026-07-09","session_label":"Thu Jul 9","calendar_days_to_next_session":1,"one_day_pct":6.46,"actual_step_pct":6.46},{"session_date":"2026-07-10","session_label":"Fri Jul 10","calendar_days_to_next_session":3,"one_day_pct":7.42,"actual_step_pct":24.41}],"shape":"series","sql":"WITH sessions AS\n(\n    SELECT date\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker = 'SPY'\n      AND date >= '2026-06-15'\n      AND date <= '2026-07-14'\n    GROUP BY date\n),\nstepped AS\n(\n    SELECT\n        date,\n        dateDiff('day', date, toDate('2026-07-17')) AS days_left,\n        dateDiff('day', date, leadInFrame(date) OVER (ORDER BY date ASC ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING)) AS step_days\n    FROM sessions\n)\nSELECT\n    toString(date)                   AS session_date,\n    formatDateTime(date, '%a %b %e') AS session_label,\n    step_days                        AS calendar_days_to_next_session,\n    round(100 * (1 - sqrt(toFloat64(days_left - 1) / toFloat64(days_left))), 2)         AS one_day_pct,\n    round(100 * (1 - sqrt(toFloat64(days_left - step_days) / toFloat64(days_left))), 2) AS actual_step_pct\nFROM stepped\nWHERE date <= '2026-07-10'\n  AND step_days BETWEEN 1 AND 10\nORDER BY date ASC","computed_at":"2026-08-18T14:58:30.055808+00:00","elapsed":0.003358061}