Split only the quantity crossing a boundary
Choose positive bucket size B in base units. Process trades in their supplied order, allocating each trade's quantity to the current bucket until its accumulated quantity reaches B. Split a trade that crosses the boundary, carrying its remaining quantity into subsequent buckets at the same trade price. For every bucket, VWAP equals Σ(price × allocated quantity)/Σallocated quantity. The final bucket is labeled partial if fewer than B units remain; it is not padded with invented trades.
A trade can belong to two buckets
Consider a trade of three units at 100 followed by four units at 110, with bucket size five. The first bucket contains all three units at 100 plus two units at 110, giving VWAP (300 + 220)/5 = 104. The remaining two units at 110 form a partial second bucket with VWAP 110. Total allocated quantity is seven, exactly matching the original trade sequence despite the split.
Volume time does not supply missing market data
Base-volume buckets differ from quote-notional buckets: five BTC does not represent a constant dollar amount when price changes. The tool does not identify buy or sell initiators, estimate VPIN, or reconstruct omitted transactions. A partial bucket has a different activity weight and should be handled explicitly in downstream comparisons. Preserve chronological input order and consistent trade units. Bucket boundaries depend on the chosen starting trade, so record that starting point when comparing separate research runs.