{"slug":"market-data-skills-for-ai-agents","qid":"session_calendar","label":"Trading sessions per month: SPY bars, July 2025 through June 2026","post_title":"Market Data Skills for AI Agents","post_url":"/blog/market-data-skills-for-ai-agents#q-session_calendar","columns":["month","sessions","calendar_days","short_sessions"],"rows":[{"month":"2025-07","sessions":22,"calendar_days":31,"short_sessions":2},{"month":"2025-08","sessions":21,"calendar_days":31,"short_sessions":0},{"month":"2025-09","sessions":21,"calendar_days":30,"short_sessions":1},{"month":"2025-10","sessions":23,"calendar_days":31,"short_sessions":0},{"month":"2025-11","sessions":19,"calendar_days":30,"short_sessions":1},{"month":"2025-12","sessions":22,"calendar_days":31,"short_sessions":1},{"month":"2026-01","sessions":20,"calendar_days":31,"short_sessions":1},{"month":"2026-02","sessions":19,"calendar_days":28,"short_sessions":1},{"month":"2026-03","sessions":22,"calendar_days":31,"short_sessions":2},{"month":"2026-04","sessions":21,"calendar_days":30,"short_sessions":1},{"month":"2026-05","sessions":20,"calendar_days":31,"short_sessions":2},{"month":"2026-06","sessions":21,"calendar_days":30,"short_sessions":2}],"shape":"series","sql":"WITH sessions AS (\n    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,\n           argMax(formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i'), volume) AS busiest_minute\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2025-07-01')\n      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')\n    GROUP BY session_date\n)\nSELECT formatDateTime(toStartOfMonth(session_date), '%Y-%m') AS month,\n       count() AS sessions,\n       toDayOfMonth(toLastDayOfMonth(min(session_date))) AS calendar_days,\n       countIf(busiest_minute < '15:00') AS short_sessions\nFROM sessions\nGROUP BY toStartOfMonth(session_date)\nORDER BY toStartOfMonth(session_date)","computed_at":"2026-08-01T08:37:24.465821+00:00","elapsed":0.002476727}