{"slug":"how-ohlcv-bars-are-built","qid":"odd_lot_share","label":"Odd lot share of prints and of volume, minute by minute","post_title":"How OHLCV Bars Are Built From Ticks","post_url":"/blog/how-ohlcv-bars-are-built#q-odd_lot_share","columns":["et_time","odd_lot_print_pct","odd_lot_volume_pct","print_count"],"rows":[{"et_time":"09:30","odd_lot_print_pct":79.5,"odd_lot_volume_pct":3.3,"print_count":18124},{"et_time":"09:31","odd_lot_print_pct":55.3,"odd_lot_volume_pct":11.4,"print_count":4198},{"et_time":"09:32","odd_lot_print_pct":63.5,"odd_lot_volume_pct":14.4,"print_count":4942},{"et_time":"09:33","odd_lot_print_pct":69.9,"odd_lot_volume_pct":18.3,"print_count":4617},{"et_time":"09:34","odd_lot_print_pct":71.2,"odd_lot_volume_pct":17.6,"print_count":4789},{"et_time":"09:35","odd_lot_print_pct":57.5,"odd_lot_volume_pct":12.4,"print_count":4584},{"et_time":"09:36","odd_lot_print_pct":56.6,"odd_lot_volume_pct":12.3,"print_count":4895},{"et_time":"09:37","odd_lot_print_pct":51.7,"odd_lot_volume_pct":12.1,"print_count":4840},{"et_time":"09:38","odd_lot_print_pct":53,"odd_lot_volume_pct":13.8,"print_count":5397},{"et_time":"09:39","odd_lot_print_pct":46,"odd_lot_volume_pct":11.4,"print_count":7294},{"et_time":"09:40","odd_lot_print_pct":57,"odd_lot_volume_pct":13.6,"print_count":5533},{"et_time":"09:41","odd_lot_print_pct":60.2,"odd_lot_volume_pct":12.1,"print_count":6700},{"et_time":"09:42","odd_lot_print_pct":49.2,"odd_lot_volume_pct":9.6,"print_count":5081},{"et_time":"09:43","odd_lot_print_pct":53.4,"odd_lot_volume_pct":10.3,"print_count":3976},{"et_time":"09:44","odd_lot_print_pct":55.3,"odd_lot_volume_pct":9.8,"print_count":3843}],"shape":"series","sql":"SELECT\n    formatDateTime(toStartOfMinute(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,\n    round(100 * countIf(has(conditions, 37)) / count(), 1)                            AS odd_lot_print_pct,\n    round(100 * toFloat64(sumIf(size, has(conditions, 37))) / toFloat64(sum(size)), 1) AS odd_lot_volume_pct,\n    count()                                                                           AS print_count\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.382276+00:00","elapsed":0.002647867}