{"slug":"mutual-fund-settlement-time","qid":"session_gaps","label":"Longest breaks between US trading sessions, January to late July 2026","post_title":"When Do Mutual Fund Trades Settle?","post_url":"/blog/mutual-fund-settlement-time#q-session_gaps","columns":["session_pair","calendar_days"],"rows":[{"session_pair":"Fri Jan 16 to Tue Jan 20","calendar_days":4},{"session_pair":"Fri Feb 13 to Tue Feb 17","calendar_days":4},{"session_pair":"Thu Apr 2 to Mon Apr 6","calendar_days":4},{"session_pair":"Fri May 22 to Tue May 26","calendar_days":4},{"session_pair":"Thu Jun 18 to Mon Jun 22","calendar_days":4},{"session_pair":"Thu Jul 2 to Mon Jul 6","calendar_days":4},{"session_pair":"Fri Jan 2 to Mon Jan 5","calendar_days":3},{"session_pair":"Fri Jan 9 to Mon Jan 12","calendar_days":3},{"session_pair":"Fri Jan 23 to Mon Jan 26","calendar_days":3},{"session_pair":"Fri Jan 30 to Mon Feb 2","calendar_days":3}],"shape":"ranking","sql":"WITH sessions AS (\n    SELECT DISTINCT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2026-01-01') AND toDate('2026-07-24')\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959\n),\nordered AS (\n    SELECT arraySort(groupArray(session_date)) AS days\n    FROM sessions\n),\npairs AS (\n    SELECT arrayJoin(arrayZip(arraySlice(days, 1, length(days) - 1), arraySlice(days, 2))) AS pair\n    FROM ordered\n)\nSELECT concat(formatDateTimeInJodaSyntax(pair.1, 'EEE MMM d'), ' to ',\n              formatDateTimeInJodaSyntax(pair.2, 'EEE MMM d')) AS session_pair,\n       dateDiff('day', pair.1, pair.2) AS calendar_days\nFROM pairs\nWHERE dateDiff('day', pair.1, pair.2) > 1\nORDER BY calendar_days DESC, pair.1 ASC\nLIMIT 10","computed_at":"2026-08-01T07:54:42.729444+00:00","elapsed":0.212853958}