Arms Race in Quantitative Trading?
spokutta.wordpress.com
spokutta.wordpress.com
I was confused for a while, then I realized the guy is german.
Montag (Monday) Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag (Sunday)
Think about it - even if you got the news the president was shot, or even if the unemployment numbers are significantly off, you'll only be able to take small bets initially due to the lack of confidence in the news until further confirmation.. And confirmation can only come from reading or hearing words, which even if a computer does that, somebody has to type or say them... which means seconds, not milliseconds, much less microseconds.
As a simple example, consider that common limit order matching rules often let time take priority over anything else (price, quantity, market maker status). That fails their stated goals. They've got concurrency bugs. It initially came from naive implementations of pit trading rules, but it's now often touted as a feature.
As a result, customers often get screwed into trades they didn't want, or get worse prices than what's fair. PLUS as a result of all the jockeying, they pay higher fees to support the escalating infrastructure costs.
Perhaps more to the point, exchanges compete for business, if the rules used in an exchange aren't what customers want then customers will move to other exchanges. And obviously the more financial clout you have as a customer the more an exchange is going to care about your opinion of how things should work. So if the banks and hedge funds and the other big players are happy with the status quo, then that's the way it will probably stay.
Consider 3 orders: Bob bids $9, Sam offers $8, and Sara offers $5. If they're entered about the same time, you may end up with a matched price of $5, $8, or $9 with either Sam or Sara getting to sell - all depending on which order the match engine processes them in.
Same orders, same time, huge variation in what is determined to be a fair price with no good reason. All those prices are wrong too. You can debate about what'd be right, but eBay's pricing system is at least an improvement here (one minimum price increment past the next-best order).
It gets worse - consider if one of them entered their order well ahead of time, it probably gave them the worst price - penalizing them for exactly what people want - a quote to see and trade against.
There's tons more examples, but they can get pretty complicated.. email me if you want to talk about it more.
If you're still having trouble imagining a fairer way, work out what would've happened with these three traders on the old NYSE floor system.
In 1986 Andy Lo and Craig MacKinlay performed a rigorous statistical test of Efficient Market Hypothesis and decisively rejected it, simultaneously supporting previous findings by Benoit Mandelbrot. Unlike Mandelbrot’s their work has been broadly discussed and accepted by the scientific community.
Then again, I may have been talking to the wrong one. E.g., maybe a few've gotten some of those fpga ethernet boards? Still, I'd expect a little more VHDL demand than I'm seeing.
What sets the field apart from other areas of programming, in terms of your problem-solving approach? What kind of special qualifications do recruiters look for?
Also, what kind of platform (OS, language, etc.) do you use? Do you hand-optimize the code?
If you go to the eFinancialCareers website and search for "low latency" you can see the kind of thing recruiters look for.
In terms of problem solving it's not that different from other areas. Concurrency is obviously very big (lock free algorithms, etc) as is being comfortable with low-level stuff. You don't need it all the time but sometimes you do need to be able to read through kernel code and get an intimate understanding of things like tcp/ip.
Do you typically hand-optimize the assembled code?
I presume the guys who embed code on network cards probably do it more often, but I don't know.
I didn't do anything beyond the simplest algorithms, most of my work was on interfaces between our code and other stuff (like databases, data feeds, etc). Just grunt work really. Someone's got to do it tho'...
I also have the feeling that quite often discoveries and advances are not really to do with the discoverer but to do with the fact that an idea's 'time has come'. Take Google for example, they revolutionized search, but supposing the founders had headed off to Goldman Sachs rather than doing their PhDs, what would have filled the gap? I think that the stage was set for new things to happen in the search area and that other researchers would have come up with similar ideas.
I wouldn't want to say that the inventor is completely incidental to the discovery; I appreciate that there are brilliant people out there, and moments of inspiration, I just think that the world will steam-roller on with or without a particular person and we'll often end up at roughly the same place.