This morning's problems with site

Last night I made a few “improvements” in the site. Of course, you all know what that means. Each improvement caused unexpected problems. Some examples:

(1) After some user’s complaints about how symbol RTH wasn’t being filled properly in the morning, I investigated. It turns out that symbol RTH is a “Retail Trust HOLDER” - essentially an ETF index of the retail sector. But its first price doen’t get calculated until 9:37-9:40 in the morning. So the Collective2 software kept trying to fill the trades at 9:30 in the morning - but was using garbage quotes. Thus, I decided to add the following ingenious solution. I wouldn’t fill anything for a given symbol in the morning until the first trade appeared in the quote feed. Guess how that worked out? Not so good. Stocks and ETFs were fine - but illiquid options and futures simply never got filled! (Since they never traded in real life.) So I went back to the drawing board and added some more code to avoid this problem going forward.

(2) Next: Last night, I rewrote some of the routines that processed closing fills, to make them speedier. Alas, I introduced a brand new bug, which essentially filled closing trades, but did not offset the open position. In other words, if you were short 10 of IBM, but then bought 10 to close the position, your buy order would execute fine - but the position would still say you were short ten. Pretty great, right? Well, I have fixed that on a go-forward basis, I think. But now I need to go through the trades one by one and manually correct unclosed positions. If you were a victim of this, let me know. I’ll get to you eventually by searching the database, but you might want to email me to get faster service.

This is all a long-winded way of saying, “Whoops.” Sorry for the trouble. I am certainly learning a valuable lesson about how I ought never monkey around with software. I guess I should just leave the site frozen from here on. Just kidding. Sort of.