Kudos. The most succinct, illuminating post on the subject!
They knew what they were doing
At least twice a day, it would stop for about 5 minutes. Probably to upgrade software.
Anyone from Knight Capital want to comment?
If you want the real story try Stucchio's blog series beginning at: http://www.chrisstucchio.com/blog/2012/hft_apology.html
My pitiful TLDR summary of Stucchio's work combined with some other observations
Stucchio presents a fairy tale, picture perfect world that doesn't exist. Stucchio forgot to mention Brutus' algo which comes along and offers 20.01 for a stock, but cancels it 1 milliseconds later, then offers 20.00 for 1 ms, then 19.99, then 5,000 random prices between 18.00 and 20.00 for the next 800 milliseconds. Sometimes at the top of the book, sometimes not. All to confuse order routers or destroy latency tables in Thor like programs.
When Brutus sees an order coming in on Exchange A, his algo quickly backs off on the other exchanges because it knows that over time, it results in slightly higher profits.
Brutus also knows that exchange B will delay by X microseconds when the total # of messages in symbols A-C exceed 20,000. So if a delay is needed in ABC, just jam the other stocks in that group with useless quotes
I could go on all night.
How High Frequency Trading Harms Even Long Term Investors
Only if you are in it for day-trading profits. And if you are, well, you deserve to be beaten senseless by some HFT algorithm.
If you're a long term investor, with a time horizon of many decades, this doesn't matter. For example, I have a stock I bought 15 years ago. It has gone up by around 3X in that time. HFT makes no difference to me when I've held a stock over many years or decades. The exact microsecond it sells doesn't matter to me after a period of decades.
Let me ask you something. Would you recommend homeowners ditch their fire or title insurance then? Because you have about the same chance of getting burned when the time comes when you need to sell that stock, as you have of a major fire. Might as well save on the premiums.
Seriously. I've talked to quite a few people who have been caught up in an "event" where they had to sell (for tax reasons, for financial reasons, etc.) and they just happened to pick the wrong moment of time to trade. And there have been thousands of such "bad times" so far this year.
Back in the late 80's I wrote a hurricane tracking program called Hurricane (what else) and released it as shareware. I also obtained hurricane data back to 1886 from NOAH and by overlapping every storm track and summing the affected area with wind speed, I found that a section of Florida from Tampa, south to Sarasota, had the least cumulative wind speed. Actually that is the safest area in the southern U.S. when it comes to hurricanes.
But here's hoping for some change on that
I purchased Apple stock back in 2000 when it was selling for less than the cash it had in the bank. That is, the brand was worth less than zero. This was right around the height of the internet bubble, and Apple had no "internet play". I bought the stock because I was starting a new company that would consume all my time and wouldn't have time to look at my "portfolio". So I bought Apple, because, get this, it was about the "safest" play out there. Because Apple had a lot of cash in the bank and net income, I figured the worst thing that could happen is it would remain about where it was.
..and the phone in your pocket makes Kirk's look like a pile of crap.
Um, Kirk's had this special "light" that would make people disappear. Sometimes even heat up rocks in a frozen wasteland. And it could call Enterprise. Just saying.
I've noticed several design suggestions in your code.