Discussion in 'Automated Trading' started by macrotrader, Jun 18, 2011.
Anyone running Highfrequency strategies with the IB API? What throughput do you have? thanks.
Please clarify throughput, (1) time for a order to be executed or (2) number of orders / sec?
(1) around 250 ms from submission to fill, dependent on where you are located, US should be in this range
(2) really depends if you will have to wait for a confirmation for your order or not
Thanks for clarifying.
What I mean is for example: for every stock in the S&P500:
a) Request a quote for a stock (100ms) or receive a quote from a subscription (latency 50ms) (all quotes from the orderbook)
b) Do a simple calculation based on the orderbook (10ms)
c) submit an order (0ms)
d) receive status (200ms)
I don't depend on the confirmation at the moment.
Also, do you have seperate data feed for complete levelII?
My question really is: are you a highfrequency (retail) trader and if so what setup do you use at what cost/month?
With IB comish is very very high for HFT.
Their API updates the quotes only every 250 ms or so as long as I remember. It is a snapshot and not real tick data.
Conclusion, no way you can do real HFT with IB.
I am not a HFT and I would be surprised if there is a retail HFT out there. If you aim to compete as retailer then point (a) outlined by you brings you already behind the pro's in this class. They have all their machines co-located at either exchange or broker and by the time you receive your quote they have first fills already.
Cost: horrendous, both in times of implementing code that does what you want with their specific interfaces + money for the service itself.
However, don't let this discourage you, if you have a significant edge and can prove it, it should be easy to get risk capital. Although I think it is very tough. Another path is becoming your own broker... .
Yes, I'm aware of the costs for 'real' HFT. I should have been more precise. With HFT I mean here something like 1000 trades a day or more, not sub-second trading.
I would then argue that any standard workstation machine with a redundant powerful internet connection could do if you prefer to have it in front of you. If not, dedicated hosting of a "standard server" or similar.
In some ways IB can be competitive: if you host close to their servers you can get round-trip transaction time down in the 10s of milli seconds or better. While not as fast the HFT shops, it's better than most retail.
What you're going to miss is sponsored access and access, sub-pennying and direct-from-exchange quotes (unless you do that yourself). Without those you'll never be able to compete on speed.
Final problem with IB is the commission structure. As long as you pay extra for routing, and a minimum 200 shares, you'll never be able to do HFT with IB/TWS.
Final thought: I'm a big fan of IB and as long as you're looking at units of seconds (and not milliseconds or microseconds), IB is very viable. That's just no longer HFT by any modern definition.
Then it all depends on you. You can program you stuff with the C++ API so processing speed is on your side. As said before quotes are updated every 250 ms or so. There are limitations on the number of quote request you can make in a given period of time. If that is a problem you can use an external datafeed, code with ninjatrader and execute with IB.
I only used the IB Excel API and I could make several trades per minutes, could get in/out in seconds. So with the Java or C++ you can do pretty things I guess. One big problem I had was that it is limited to 100 stocks data subscriptions at the same time for one account + 100 with the paper trading account. If you trade multiple tickers that can be a real problem.
I think having an IB account is worth it just for the paper trade accounts, HFT or not.
Can you PM me good hosting spots, btw?
Separate names with a comma.