msgStockPrint: prtVolume calculation - SpiderRock/SRDataFeed GitHub Wiki
The prtVolume field is the cumulative print size total for the specific security (for the day). It’s a derived running calculation we do to populate that field.
The Security Industry Processors (SIPs) for equities, have various print conditions that indicate whether a print should be included in the cumulative prtVolume calculation for a specific security. So if you just add up all the prtSize in all the published msgStockPrint messages, it will be a different value then the calculated prtVolume value we publish.
Also, the SIPs do at times publish ‘Volume Only’ change messages. You’ll see us publish a prtType of 3=VolumeOnly message every once in a while. We don’t pass along these Volume Only messages all the time, since we may conflate them into new prints that come in right on the heels of a Volume Only message.
All that to say, it’s definitely an algo that we use to keep our published prtVolume calculation as accurate as possible. As a consumer of our feeds, you don’t need to do anything on your side.
Reference: We increment the daily volume for every print on the day that is flagged ‘Update Volume’ according to the UTP Sale Condition Matrix UTP Data Feed Services Specification (utpplan.com) page 43-44.
Note: For Odd Lot trades, we do also include them in our volume calculation. They come through with a StkPrintType of 5 (for OddLots), or 6 (for OddLotExtendedHours).