{"slug":"does-the-pdt-rule-apply-to-crypto-and-futures","qid":"session_clock","label":"Share of monthly volume by 15-minute ET clock slice, SPY and AAPL","post_title":"Does the PDT Rule Apply to Crypto and Futures?","post_url":"/blog/does-the-pdt-rule-apply-to-crypto-and-futures#q-session_clock","columns":["et_time","spy_volume_pct","aapl_volume_pct"],"rows":[{"et_time":"04:00","spy_volume_pct":0.154,"aapl_volume_pct":0.218},{"et_time":"04:15","spy_volume_pct":0.032,"aapl_volume_pct":0.037},{"et_time":"04:30","spy_volume_pct":0.027,"aapl_volume_pct":0.033},{"et_time":"04:45","spy_volume_pct":0.026,"aapl_volume_pct":0.031},{"et_time":"05:00","spy_volume_pct":0.021,"aapl_volume_pct":0.026},{"et_time":"05:15","spy_volume_pct":0.027,"aapl_volume_pct":0.025},{"et_time":"05:30","spy_volume_pct":0.029,"aapl_volume_pct":0.023},{"et_time":"05:45","spy_volume_pct":0.035,"aapl_volume_pct":0.024},{"et_time":"06:00","spy_volume_pct":0.037,"aapl_volume_pct":0.021},{"et_time":"06:15","spy_volume_pct":0.036,"aapl_volume_pct":0.027},{"et_time":"06:30","spy_volume_pct":0.064,"aapl_volume_pct":0.053},{"et_time":"06:45","spy_volume_pct":0.044,"aapl_volume_pct":0.042},{"et_time":"07:00","spy_volume_pct":0.132,"aapl_volume_pct":0.1},{"et_time":"07:15","spy_volume_pct":0.094,"aapl_volume_pct":0.065},{"et_time":"07:30","spy_volume_pct":0.107,"aapl_volume_pct":0.067},{"et_time":"07:45","spy_volume_pct":0.14,"aapl_volume_pct":0.107},{"et_time":"08:00","spy_volume_pct":0.166,"aapl_volume_pct":0.1},{"et_time":"08:15","spy_volume_pct":0.191,"aapl_volume_pct":0.087},{"et_time":"08:30","spy_volume_pct":0.429,"aapl_volume_pct":0.14},{"et_time":"08:45","spy_volume_pct":0.242,"aapl_volume_pct":0.13},{"et_time":"09:00","spy_volume_pct":0.234,"aapl_volume_pct":0.208},{"et_time":"09:15","spy_volume_pct":0.373,"aapl_volume_pct":0.369},{"et_time":"09:30","spy_volume_pct":5.23,"aapl_volume_pct":11.562},{"et_time":"09:45","spy_volume_pct":3.736,"aapl_volume_pct":5.307},{"et_time":"10:00","spy_volume_pct":3.553,"aapl_volume_pct":4.985},{"et_time":"10:15","spy_volume_pct":3.36,"aapl_volume_pct":3.668},{"et_time":"10:30","spy_volume_pct":2.718,"aapl_volume_pct":3.713},{"et_time":"10:45","spy_volume_pct":2.872,"aapl_volume_pct":3.681},{"et_time":"11:00","spy_volume_pct":3.405,"aapl_volume_pct":3.421},{"et_time":"11:15","spy_volume_pct":3.852,"aapl_volume_pct":3.111},{"et_time":"11:30","spy_volume_pct":2.345,"aapl_volume_pct":2.967},{"et_time":"11:45","spy_volume_pct":2.024,"aapl_volume_pct":3.158},{"et_time":"12:00","spy_volume_pct":2.061,"aapl_volume_pct":2.579},{"et_time":"12:15","spy_volume_pct":2.04,"aapl_volume_pct":2.53},{"et_time":"12:30","spy_volume_pct":1.861,"aapl_volume_pct":2.272},{"et_time":"12:45","spy_volume_pct":1.741,"aapl_volume_pct":2.044},{"et_time":"13:00","spy_volume_pct":2.005,"aapl_volume_pct":2.345},{"et_time":"13:15","spy_volume_pct":2.082,"aapl_volume_pct":2.221},{"et_time":"13:30","spy_volume_pct":1.571,"aapl_volume_pct":2.31},{"et_time":"13:45","spy_volume_pct":1.522,"aapl_volume_pct":2.314},{"et_time":"14:00","spy_volume_pct":2.382,"aapl_volume_pct":2.331},{"et_time":"14:15","spy_volume_pct":1.882,"aapl_volume_pct":2.563},{"et_time":"14:30","spy_volume_pct":2.862,"aapl_volume_pct":2.115},{"et_time":"14:45","spy_volume_pct":2.876,"aapl_volume_pct":3.476},{"et_time":"15:00","spy_volume_pct":2.623,"aapl_volume_pct":2.996},{"et_time":"15:15","spy_volume_pct":3.147,"aapl_volume_pct":2.914},{"et_time":"15:30","spy_volume_pct":4.318,"aapl_volume_pct":3.301},{"et_time":"15:45","spy_volume_pct":14.71,"aapl_volume_pct":9.65},{"et_time":"16:00","spy_volume_pct":9.312,"aapl_volume_pct":3.618},{"et_time":"16:15","spy_volume_pct":3.658,"aapl_volume_pct":0.149},{"et_time":"16:30","spy_volume_pct":0.417,"aapl_volume_pct":0.117},{"et_time":"16:45","spy_volume_pct":0.19,"aapl_volume_pct":0.193},{"et_time":"17:00","spy_volume_pct":0.069,"aapl_volume_pct":0.028},{"et_time":"17:15","spy_volume_pct":0.165,"aapl_volume_pct":0.032},{"et_time":"17:30","spy_volume_pct":0.224,"aapl_volume_pct":0.103},{"et_time":"17:45","spy_volume_pct":0.175,"aapl_volume_pct":0.072},{"et_time":"18:00","spy_volume_pct":0.131,"aapl_volume_pct":0.034},{"et_time":"18:15","spy_volume_pct":0.061,"aapl_volume_pct":0.025},{"et_time":"18:30","spy_volume_pct":0.073,"aapl_volume_pct":0.036},{"et_time":"18:45","spy_volume_pct":0.023,"aapl_volume_pct":0.021},{"et_time":"19:00","spy_volume_pct":0.011,"aapl_volume_pct":0.019},{"et_time":"19:15","spy_volume_pct":0.018,"aapl_volume_pct":0.021},{"et_time":"19:30","spy_volume_pct":0.024,"aapl_volume_pct":0.031},{"et_time":"19:45","spy_volume_pct":0.031,"aapl_volume_pct":0.036}],"shape":"series","sql":"SELECT\n    et_time,\n    round(100 * spy_vol  / sum(spy_vol)  OVER (), 3) AS spy_volume_pct,\n    round(100 * aapl_vol / sum(aapl_vol) OVER (), 3) AS aapl_volume_pct\nFROM\n(\n    SELECT\n        formatDateTime(\n            toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 15 MINUTE),\n            '%H:%i')                              AS et_time,\n        toFloat64(sumIf(volume, ticker = 'SPY'))  AS spy_vol,\n        toFloat64(sumIf(volume, ticker = 'AAPL')) AS aapl_vol\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('SPY', 'AAPL')\n      AND window_start >= today() - 30\n      AND window_start <  today() - 2\n    GROUP BY et_time\n)\nORDER BY et_time","computed_at":"2026-10-05T15:48:07.239465+00:00","elapsed":0.080621705}