Lone Wolf wrote:
I'm also rather curious about the nuts and bolts of the tools you work with. How complex do these systems get? Are you sitting down and working with a much larger set of libraries in a big, complex system or do you just sort of plop down in front of a blinking cursor on a brand new Perl script every couple of weeks?
Very complex, and completely proprietary. That's part of why the engineering challenge is so interesting. One of my friends worked on a platform that was built completely in OCaml, which isn't even in the top 100 most popular programming languages. I doubt there was a good reason for that, just the whim of whoever built the system first.
stone wrote:
I also don't understand why it would be so hard to create inefficiencies to exploit them.
If you create an inefficiency, you bear the entire cost of creating that inefficiency, but then you have to split the inefficiency reduction profits with every good algo out there. Say it cost you $x to create 100 units of inefficiency, and you subsequently profit $y from reducing the 100 units. I can't just really imagine y being bigger than x. Creating the inefficiency is *so costly*. Every trade you made to create it is by definition a terrible one at the time you made it. But then on the inefficiency reduction, most algos have only a slight edge over the next algo. That 100 unit pie of inefficiency is probably getting shared by 100 algos that all get ~1 unit. Sure you'd probably get a slightly bigger share, because you intimately understand what caused the inefficiency this time, but certainly you don't get anywhere near 100% of the profit, after paying the full cost yourself. -100 units to create the inefficiency, +10 units for your share of the reduction, -90 unit loss.
The only way I could really see inefficiency creating working is if you can be the straw that broke the camel's back, making a slight shove at exactly the right time that causes the market to make a huge move despite only a small input from you. To be honest this would be a lot easier for a human trader to do than an algo though. The break the camel's back subroutine would be quite a challenge to code up; it's more of an intuitive/human intelligence that could sense the possibility of such a push working.
Furthermore, the more good algo trades we have, the harder it gets for any market participant to create these inefficiencies anyway! If anything this whole example is more of an argument for automation rather than against it.
My guess is that a big part of the reason those companies have such a huge war chest is they don't do stupid stuff like throw it all away on losing inefficiency causing trades. And why would you need to when other market participants create inefficiencies all day anyway?
Perhaps my perspective is just indicative of the types of trades that MIT kids work on though, the big math and analysis puzzles. Perhaps if your style is more manipulation based you'd come up with a way to make what you're suggesting actually work. The algo traders are on your side, though, stone, against these manipulators. Every algo that can absorb volatility and instantly correct inefficiency is another layer of defense against manipulation.
stone wrote:
At a more elemental level, I question what it is all in aid of.
I'm going to have to think more about your 2% spread non-profit market maker hypothetical. Initial reactions:
1) You'd need to ensure that no for-profit electronic trading markets were created anywhere in the world, because if they were, everyone would switch. This might require a military big enough to police every single country, because the reward for that country creating a more efficient market place would be enormous.
2) There's going to be lots of unintended consequences. Take currencies for example, where the modern spread is about 0.005%. You want to change that to 2%. Suddenly global trade grinds to a halt. And who are you going to redistribute the bid-ask spread to anyway? Everyone with USD? You could do your system for just US stocks maybe, but that's only a fraction of the algos.
I think the prevailing mentality is that trading must be either lose-win or win-lose, where if some subset of the market is profiting that profit must be coming at the expense of someone else. Perhaps it's this mindset that is really behind most people's distaste for algo trading? I guess the idea is that if the non-profit market maker cuts out the algos and the HFTs there would be more money for everyone?
Personally, I believe in win-win, and I believe that efficient markets with tight bid-ask spreads are a good thing.