{"slug":"tsx-trading-hours-and-holidays","qid":"tsx_closed_sessions","label":"US volume on five sessions when the TSX was closed and New York was open","post_title":"TSX Trading Hours and Holidays vs NYSE","post_url":"/blog/tsx-trading-hours-and-holidays#q-tsx_closed_sessions","columns":["label","interlisted_volume_pct","interlisted_prints_pct","us_only_volume_pct"],"rows":[{"label":"Boxing Day","interlisted_volume_pct":26.6,"interlisted_prints_pct":36.3,"us_only_volume_pct":39.6},{"label":"Thanksgiving (CA)","interlisted_volume_pct":43.1,"interlisted_prints_pct":56.9,"us_only_volume_pct":82.9},{"label":"Canada Day","interlisted_volume_pct":49.8,"interlisted_prints_pct":65.8,"us_only_volume_pct":101.2},{"label":"Victoria Day","interlisted_volume_pct":56.6,"interlisted_prints_pct":76.9,"us_only_volume_pct":92.8},{"label":"Civic Holiday","interlisted_volume_pct":80.8,"interlisted_prints_pct":77,"us_only_volume_pct":84.5}],"shape":"ranking","sql":"SELECT\n    multiIf(\n        d.date = '2025-10-13', 'Thanksgiving (CA)',\n        d.date = '2025-12-26', 'Boxing Day',\n        d.date = '2026-05-18', 'Victoria Day',\n        d.date = '2026-07-01', 'Canada Day',\n        'Civic Holiday')                                                        AS label,\n    round(100 * sumIf(d.volume, d.ticker IN ('RY','TD','BNS','BMO','ENB','TRP','CNQ','SU','CP'))\n              / sumIf(b.avg_volume, d.ticker IN ('RY','TD','BNS','BMO','ENB','TRP','CNQ','SU','CP')), 1)   AS interlisted_volume_pct,\n    round(100 * sumIf(d.trades, d.ticker IN ('RY','TD','BNS','BMO','ENB','TRP','CNQ','SU','CP'))\n              / sumIf(b.avg_trades, d.ticker IN ('RY','TD','BNS','BMO','ENB','TRP','CNQ','SU','CP')), 1)   AS interlisted_prints_pct,\n    round(100 * sumIf(d.volume, d.ticker IN ('JPM','BAC','WFC','XOM','CVX','UNP','KO','PG','CAT'))\n              / sumIf(b.avg_volume, d.ticker IN ('JPM','BAC','WFC','XOM','CVX','UNP','KO','PG','CAT')), 1) AS us_only_volume_pct\nFROM\n(\n    SELECT\n        ticker,\n        date,\n        max(toFloat64(volume))       AS volume,\n        max(toFloat64(transactions)) AS trades\n    FROM global_markets.stocks_daily_aggs\n    WHERE date IN ('2025-10-13','2025-12-26','2026-05-18','2026-07-01','2026-08-03')\n      AND ticker IN ('RY','TD','BNS','BMO','ENB','TRP','CNQ','SU','CP',\n                     'JPM','BAC','WFC','XOM','CVX','UNP','KO','PG','CAT')\n    GROUP BY ticker, date\n) AS d\nINNER JOIN\n(\n    SELECT\n        ticker,\n        avg(volume) AS avg_volume,\n        avg(trades) AS avg_trades\n    FROM\n    (\n        SELECT\n            ticker,\n            date,\n            max(toFloat64(volume))       AS volume,\n            max(toFloat64(transactions)) AS trades\n        FROM global_markets.stocks_daily_aggs\n        WHERE date >= '2025-09-02'\n          AND date <  '2026-08-15'\n          AND date NOT IN ('2025-10-13','2025-12-26','2026-05-18','2026-07-01','2026-08-03')\n          AND ticker IN ('RY','TD','BNS','BMO','ENB','TRP','CNQ','SU','CP',\n                         'JPM','BAC','WFC','XOM','CVX','UNP','KO','PG','CAT')\n        GROUP BY ticker, date\n    )\n    GROUP BY ticker\n) AS b ON b.ticker = d.ticker\nGROUP BY label\nHAVING sumIf(b.avg_volume, d.ticker IN ('RY','TD','BNS','BMO','ENB','TRP','CNQ','SU','CP')) > 0\n   AND sumIf(b.avg_volume, d.ticker IN ('JPM','BAC','WFC','XOM','CVX','UNP','KO','PG','CAT')) > 0\nORDER BY interlisted_volume_pct","computed_at":"2026-08-19T16:12:30.063266+00:00","elapsed":0.005142571}