{"slug":"do-mutual-funds-trade-on-holidays","qid":"calendar_gaps","label":"calendar_gaps","post_title":"do-mutual-funds-trade-on-holidays","post_url":"/blog/do-mutual-funds-trade-on-holidays#q-calendar_gaps","columns":["last_session_before","reopen_session","calendar_gap"],"rows":[{"last_session_before":"Fri Jan 16","reopen_session":"Tue Jan 20","calendar_gap":4},{"last_session_before":"Fri Feb 13","reopen_session":"Tue Feb 17","calendar_gap":4},{"last_session_before":"Thu Apr 2","reopen_session":"Mon Apr 6","calendar_gap":4},{"last_session_before":"Fri May 22","reopen_session":"Tue May 26","calendar_gap":4},{"last_session_before":"Thu Jun 18","reopen_session":"Mon Jun 22","calendar_gap":4},{"last_session_before":"Thu Jul 2","reopen_session":"Mon Jul 6","calendar_gap":4},{"last_session_before":"Fri Sep 4","reopen_session":"Tue Sep 8","calendar_gap":4}],"shape":"series","sql":"WITH sessions AS\n(\n    SELECT date AS d\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker = 'SPY'\n      AND date >= '2026-01-01'\n      AND date <  '2026-09-23'\n    GROUP BY d\n)\nSELECT\n    concat(formatDateTime(g.prev, '%a %b '), toString(toDayOfMonth(g.prev))) AS last_session_before,\n    concat(formatDateTime(g.d, '%a %b '), toString(toDayOfMonth(g.d)))       AS reopen_session,\n    dateDiff('day', g.prev, g.d)                                             AS calendar_gap\nFROM\n(\n    SELECT\n        d,\n        lagInFrame(d, 1) OVER (ORDER BY d ASC) AS prev\n    FROM sessions\n) AS g\nWHERE g.prev >= toDate('2026-01-01')\n  AND dateDiff('day', g.prev, g.d) > 3\nORDER BY g.d","computed_at":"2026-09-23T14:40:47.213946+00:00","elapsed":0.004729898}