{"slug":"how-ohlcv-bars-are-built","qid":"bar_rebuild","label":"One-minute AAPL bars rebuilt from individual trades, June 10 2026","post_title":"How OHLCV Bars Are Built From Ticks","post_url":"/blog/how-ohlcv-bars-are-built#q-bar_rebuild","columns":["et_time","bar_open","bar_high","bar_low","bar_close","volume_millions"],"rows":[{"et_time":"09:30","bar_open":290.74,"bar_high":290.98,"bar_low":290.1,"bar_close":290.87,"volume_millions":1.5},{"et_time":"09:31","bar_open":290.82,"bar_high":291,"bar_low":290.07,"bar_close":290.64,"volume_millions":0.2},{"et_time":"09:32","bar_open":290.64,"bar_high":290.86,"bar_low":289.78,"bar_close":289.78,"volume_millions":0.18},{"et_time":"09:33","bar_open":289.83,"bar_high":290.55,"bar_low":289.09,"bar_close":289.27,"volume_millions":0.15},{"et_time":"09:34","bar_open":289.27,"bar_high":300.27,"bar_low":288.62,"bar_close":288.7,"volume_millions":0.15},{"et_time":"09:35","bar_open":288.69,"bar_high":290.55,"bar_low":288.56,"bar_close":289.19,"volume_millions":0.19},{"et_time":"09:36","bar_open":289.17,"bar_high":290.55,"bar_low":288.58,"bar_close":289.1,"volume_millions":0.24},{"et_time":"09:37","bar_open":289.09,"bar_high":290.55,"bar_low":288.93,"bar_close":289.25,"volume_millions":0.24},{"et_time":"09:38","bar_open":289.08,"bar_high":290.5,"bar_low":288.85,"bar_close":288.99,"volume_millions":0.24},{"et_time":"09:39","bar_open":288.99,"bar_high":289.4,"bar_low":288.66,"bar_close":289.24,"volume_millions":0.35},{"et_time":"09:40","bar_open":289.2,"bar_high":289.27,"bar_low":288.25,"bar_close":288.41,"volume_millions":0.25},{"et_time":"09:41","bar_open":288.39,"bar_high":289.31,"bar_low":287.38,"bar_close":287.44,"volume_millions":0.3},{"et_time":"09:42","bar_open":287.44,"bar_high":289.03,"bar_low":287.38,"bar_close":288.94,"volume_millions":0.26},{"et_time":"09:43","bar_open":288.95,"bar_high":289.6,"bar_low":287.98,"bar_close":289.39,"volume_millions":0.2},{"et_time":"09:44","bar_open":289.4,"bar_high":290.05,"bar_low":288.56,"bar_close":289.92,"volume_millions":0.21}],"shape":"series","sql":"SELECT\n    formatDateTime(toStartOfMinute(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,\n    round(toFloat64(argMin(price, (sip_timestamp, sequence_number))), 2) AS bar_open,\n    round(toFloat64(max(price)), 2)                                      AS bar_high,\n    round(toFloat64(min(price)), 2)                                      AS bar_low,\n    round(toFloat64(argMax(price, (sip_timestamp, sequence_number))), 2) AS bar_close,\n    round(toFloat64(sum(size)) / 1e6, 2)                                 AS volume_millions\nFROM global_markets.stocks_trades\nWHERE ticker = 'AAPL'\n  AND sip_timestamp >= '2026-06-10 13:30:00'\n  AND sip_timestamp <  '2026-06-10 13:45:00'\nGROUP BY et_time\nORDER BY et_time","computed_at":"2026-08-08T15:20:36.289311+00:00","elapsed":0.002869313}