Instead of being angry about hyperbole and ignorance, my new policy for HN story's touching HFT is to just answer questions. I build HFT systems for a living. My experience is only in commodities futures but I can try to explain equities markets as well. Ask away instead of passing on bad info.
Uhh ignorant HNer here. What is your tick to trade latency? What are your fill rates like? Are you doing primarily add or take? Which contracts do you trade? :-)
Not to be flippant, but price discovery is not a fraudulent issue in the markets I trade. That said, the exchanges I trade on, are much, much, much more diligent than the relevant governmental agencies.
What exactly did you find hyperbolic and ignorant about the article?
Agreed, the article was pushing an agenda of IEX, but to a casual reader this stance seems aligned to the needs of regular traders big and small alike as opposed to those seeking to exploit the system no offense meant.
The built in 320ms latency of IEX in particular seems reasonable.
Does the world really need nanosecond order execution times which give those with the closest boxes an ability to front-run?
The article was an advertisement for IEX and I'm very disappointed that Michael Lewis is shilling for them. That said, the hyperbole and ignorance I was worried about had to do with the standard response in the HN forums to any article touching on HFT.
This community has a severe bias against HFT and are for the most part completely ignorant about how markets work (or how they used to work). This is very frustrating and often makes me angry. Instead of having that response I was hoping to eliminate some of the ignorance with my responses.
So, even though the article was an advertisement for IEX, you still didn't answer the question of whether they really are offering a great service to level the playing field. You just answered with more hyperbole.
I have never used their service or even traded equities as an HFT, so I won't comment on their specific implementation/value add.
That said, A) I reject the entire premise that the current markets are tilted against large institutional investors. or B) that a large purchase order from such an investor shouldn't move the market price.
Large block transactions move the markets not because of nefarious poorly understood bogey man algorithms, but because of basic market forces. This has been the case long before HFT came on the seen. That an execution trader at a major financial institution getting paid a million dollars of client fee money didn't know this is pretty appalling.
I will say I think their marketing is brilliant. Most other dark pools get painted with the same murky brush as HFT. That a dark pool backed by billionaire investors and Goldman Sachs can position themselves as defenders of the little guy is really impressive. Their long fiber cable gimic is also really nice showmanship.
What language do you write your trading platform in? What FIX engine, if any do you use?
Do you colo with a broker or go directly to the exchanges?
Do you arbitrage the roll of ETFs that track commodity futures (e.g., VXX, USO)?
Do you roll your own backtester or use an open-source or off the shelf one?
In general, what is the win/loss and Kelly's expected payoff of your various strategies? Do you aim for out-of-the-ball-park home run's or consistent singles? Thanks.
My experiences have been in C++, JVM languages and FPGA. I've used proprietary FIX solutions, Onixs, and QuickFIX.
I've always colo'd with the exchanges I've traded on.
I've never traded a US equity.
I've used both off the shelf analytics solutions and built my own. (I don't design trades typically, rather I write systems for folks that do).
I don't usually go in for deals that involve expected payouts of PnL. I build technical solutions for a fixed price for people that have a particular technical requirements set. I'm not sure I even know what a Kelly's expected payoff is.
Thanks, kasey_junk for your detailed answers. Greatly appreciate it. Not trying to get any inside or competitive info as I do more options algorithmic trading on a time frame of weeks and months. But I'm always curious how the other half live.
Are you using Scala specifically as your JVM language, CUDA for your FPGA? Also, have you dealt with Complex Event Processing (CEP) as way to combat stale quotes and feeds that require long time to process? These are area's that I haven't explored, so curious about your $0.02 if you have any experience/opinions, thanks.
I prefer to work in Scala on the JVM if I can, but Java is still very prominent. CUDA is most common on FPGA though I haven't worked in it for awhile. Have not dealt with CPE in trading.
The stressful nature of the work varies dramatically from group to group. I don't tend to work at places that resemble the movies so don't find trading any more or less stressful than any other job. One thing that is different is that in trading you are always aware that 1 bad day can end your job, but I think that's true in most places it's just more explicit in trading.
The pay off is getting to work on interesting technical challenges and those technical challenges can be trivially linked to the success or failure of the group. As far as compensation, I make about the same as what I made when I was writing software for a software company.
I got started by being recruited to join a group, but it isn't some secret society or something. Trading groups are advertising positions like anyone else and they hire at lots of different experience levels.