Exchange Timezones Hit Me Again
This morning it was brought to my attention that my ticker plants were showing the open on VIX, quoted out of the CBOE, as something different than the legacy feeds were showing. All my different feeds (dev, staging and prod) showed the same number, so I let the QA guy find out what the problem was. I had no idea where it was coming from. I wasn't even sure I was wrong.
So he asked one of the legacy developers, and sure enough, his numbers matched Yahoo! Finance. So it looked like there was something to this. So I started looking into the trade feed. Thankfully, I have a nice, stable, feed recorder and query service already going, so it was just a matter of giving it the right parameters and it would pull up the files, uncompress them, decode them, search them, and deliver me the results.
I had to admit, this isn't the first time I'd wished I had a web interface for this, but alas, I don't.
So I looked at the feed, and realized that at 8:30 am, the trades arrived, but they were not marked as 'valid' trades. This is odd because all Index "trades" are valid if they arrive after the open. And it was, after all, after the open.
So I looked at the code - and sure enough, there was the problem. The CBOE is the one exchange I listen to that's located in CST as opposed to EST. That means that the time of the "open" for the CBOE is 8:30 am, and not 9:30 am, like the NYSE, PHLX, etc. This is something I'd planned for, but hadn't remembered to use in this particular exchange codec.
The fix was simple - use the CST open, and all would be fine. Unfortunately, that means that the data for today for the indexes from CBOE is messed up, but at least it'll be right for Monday. Just all the little data things that need to be fixed up… it's getting to be fewer, but I'm sure there's still a lot to find.