Buying a stock at one exchange (say BATS) and selling it at another (say ARCA). With the intent of actually grossing a profit (like $0.01) or earning a rebate for providing liquidity at either one or both of the exchanges.
alright, maybe a silly question but i will still ask. Why do I always see multiple exchanges in examples like you want to buy at BATS and sell at ARCA. I do not see buy at BATS and sell also at BATS either earning the spread or just earning the rebate. Is there something special when two exchanges are involved in a trade?
Dont forget the lovely internalizers. They have done nothing about it for years. I have no faith in these people. I can only assume things will just keep getting worse. Just lipflapping to show they're paying attention.
Why most HFT firms run linux instead of windows? How large are performance differences between these two from hft perspective?
Nothing special, but with 10+ equities exchanges, you're more likely to flatten position somewhere other than the place you initiated, rather than scalping/rebating at a single exchange.
It's not so much raw performance differences as much as ability to customize settings (network mainly) and configure how processes run. All of our staff has spent their adult life on linux systems and there is no reason to consider Windows. If forced to, I'm sure everything we do could be converted to run on Windows, it would just take some time to re-develop everything. It'd be analogous to some PC-exclusive industry (say professional CAD) doing the reverse. Honestly I'm not very familiar with Windows at all and have never seen it used or considered using since college it so I can't give you a good breakdown of the differences. But in general, I feel comfortable knowing that anything that I need to do in HFT can be done on linux (since all vendors cater to it) but I can't say the same about Windows.
There are clear performance differences between running on linux vs windows. It may not matter to most, it does not matter to me as I run my whole algorithmic trading operations on windows servers. But if one wants to operate ultra high frequency strategies then yes, even C++ on linux runs faster than C++ on a Windows machine. Now that is not really because of any differences in C++ or how the compiler works. It is because, for example, the tcp stack in linux is much more lightweight and hence more efficient. As hft pointed out networking and the capability in linux to tweak things are definitely outshining what can be done on a Windows box. So there are performance differences. Plus consider that Windows is bloated and runs at any given point in time hundreds, but most likely, thousands of concurrent tasks in the background while you can cut that down to one or two tasks in linux with minimal setup. It only comes down to requirements. Most always I would argue latency and throughput requirements make Windows a very viable choice. But if you look at the world through the glasses of ultra high frequency then running a strategy on windows is to such person as running an algorithmic trading platform on Excel to us.
regarding Linux I would add that it was a splinter of UNIX originally, one of the original mainframe codes, and has an advantage of being open source. http://en.wikipedia.org/wiki/File:Unix_history.svg
nanex has their own agenda, but basically they let the great unwashed masses get a glimpse into the vileness of hft.