I was fascinated by your write-up abut ‘correcting’ the tick timestamps, but I can’t help wondering why you think this is worth doing at all. What benefit does it provide?
?
I can see that if, for example, you’re building , say, 1-minute bars, then without this correction your bar that ends at 08:01:00 is incorrect because it doesn’t contain the final 36ms of data that the correct bar would contain. But does this matter? And if you do make the correction, the bar is correct but you don’t get it until 08:01:00.036, so any trading decision you make based on it is just as invalid as using the uncorrected timestamps.
?
Of course many trading strategies don’t make any use of periodic bars, or volume bars or range-based bars, but that’s really irrelevant. Whatever generates your trading decisions, knowing that you should have made the decision 36ms ago doesn’t do anything to make the decisions better.
?
About the only use I can think of is if you want to compare your data with someone else’s that also uses high-res timestamps, but even for that it won’t really help, because they’ll have a different set of sources of error, delays etc. So while the overall data series might be more closely aligned, individual ticks will still have a range of differences.