{"slug":"etf-vs-mutual-fund-settlement","qid":"cash_by_weekday","label":"cash_by_weekday","post_title":"etf-vs-mutual-fund-settlement","post_url":"/blog/etf-vs-mutual-fund-settlement#q-cash_by_weekday","columns":["weekday","sessions_counted","avg_days_to_cash","max_days_to_cash"],"rows":[{"weekday":"Monday","sessions_counted":16,"avg_days_to_cash":1,"max_days_to_cash":1},{"weekday":"Tuesday","sessions_counted":17,"avg_days_to_cash":1,"max_days_to_cash":1},{"weekday":"Wednesday","sessions_counted":17,"avg_days_to_cash":1.06,"max_days_to_cash":2},{"weekday":"Thursday","sessions_counted":16,"avg_days_to_cash":1.38,"max_days_to_cash":4},{"weekday":"Friday","sessions_counted":14,"avg_days_to_cash":3.07,"max_days_to_cash":4}],"shape":"series","sql":"SELECT\n    ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'][toDayOfWeek(trade_day)] AS weekday,\n    count()                                                            AS sessions_counted,\n    round(avg(dateDiff('day', trade_day, settle_day)), 2)              AS avg_days_to_cash,\n    max(dateDiff('day', trade_day, settle_day))                        AS max_days_to_cash\nFROM\n(\n    SELECT\n        tupleElement(pair, 1) AS trade_day,\n        tupleElement(pair, 2) AS settle_day\n    FROM\n    (\n        SELECT arrayJoin(arrayZip(arrayPopBack(sessions), arrayPopFront(sessions))) AS pair\n        FROM\n        (\n            SELECT arraySort(groupArray(d)) AS sessions\n            FROM\n            (\n                SELECT today() + arrayJoin(range(120)) AS d\n            )\n            WHERE toDayOfWeek(d) BETWEEN 1 AND 5\n              AND d NOT IN\n              (\n                  SELECT date\n                  FROM global_markets.stocks_market_holidays\n                  WHERE status = 'closed'\n              )\n        )\n    )\n)\nGROUP BY weekday, toDayOfWeek(trade_day)\nORDER BY toDayOfWeek(trade_day)","computed_at":"2026-10-03T15:04:39.535541+00:00","elapsed":0.028552135}