Interactive Brokers: The API of Many Flavours
5 stars based on
I was the original developer of the IB API and was responsible for maintaining it for a number of years. We don't have exact metrics on that because with the exception of Excel based API automated trading interactive brokers api users all the orders coming in via the API to the Trader Workstation look the same to it - they are just standardised message types irrespective of programming language.
However, I would say that on the basis of the webinars that we give that Java is definitely one of the most popular. These days it is all fairly straightforward, as we are essentially now just maintaining the various versions and adding functionality to them as required, so there aren't really any major challenges.
However, in the initial development phase we had a number of interesting challenges. Although that is regarded as rather old technology, we've managed to get it working really well, though we obviously can't support it for Mac users as there is no concept of DDE on automated trading interactive brokers api users Mac OS. As regards the other API flavours, we had some issues at the beginning in the way sockets were implemented, which resulted in some data going missing between the API and the Trader Workstation.
However, since we resolved that, there really haven't been any many challenges on that side either. At the time I had no previous financial nor Java experience, so it was nice that they were willing to hire somebody who didn't match up perfectly on paper to their requirements! Fortunately my general programming experience was regarded as a good enough proxy, even though I didn't have the exact qualifications required.
If you were to try and do the same today it would be far more challenging. Yes, as there is definitely a lot of demand and interest in its use among traders. You can see that simply by automated trading interactive brokers api users at the various message boards that we run for users. These sessions generate some interesting technical questions from advanced API users, plus enable us to gauge at first hand the likely level of demand for new features.
Therefore, it certainly seems that the API is gaining in popularity and looks set to continue that way. We don't maintain data for API users specifically, automated trading interactive brokers api users our total client breakdown might not be that dissimilar: The majority of our institutional traders tend to be from small to medium-sized institutions.
Some of our institutional traders automated trading interactive brokers api users putting some decent volume through the API. One institutional client that we helped implement an automated trading model through the API now trades around one million shares a day with it. Apart from those who connect to us directly via API we also do significant business with brokers. Of this, omnibus account business where the broker handles the client accounting is probably also generating additional API activity.
An important additional channel of API activity for us is the third-party vendor market. These vendors have the confidence to invest in writing to the IB API because it has been around for a long time and is regularly maintained and upgraded.
Traders without programming skills wishing to implement their ideas as automated models are thus able to do so with the aid of these consultants. If they have limited programming skills, apart from the documentation we provide, a great way automated trading interactive brokers api users understand how to use the API is to take a look at the activity on GitHub. We've recently open-sourced the API and uploaded it there, so traders have an opportunity to collaborate and exchange code, as well as enhance the API in the open source environment.
Apart from benefiting even experienced programmers, that's also a valuable initial learning resource. Plus of course there are also our webinars. The option of standard FIX connectivity is understandably of primary interest to our institutional users. There are two ways in which they can implement this, either via a dedicated connection direct to our servers, or over the Internet.
In the latter case, the connection is made via an application called the IB Gateway, which simply handles authentication and passes the data through. Pretty much as you might expect.
Higher trade volumes per customer than for manual traders and the general style of trading tends to be akin automated trading interactive brokers api users market making, with relatively small size being shown. Particularly if it's something fairly obscure, we don't automatically add every new piece of Trader Workstation functionality to the API.
That sort of item is only added if specifically requested. The usual routine is to add functionality to the Trader Workstation first and then to the API, though sometimes it is added simultaneously. If automated trading interactive brokers api users example a new exchange comes online, then that will automatically be available on the API. The same applies to individual financial products. The exception to this is if a new type of data is associated with orders for that instrument.
If that could not be fitted into the existing data fields then it would require additional programming to update all the various API clients. So although they have to be written in different languages, the format of the messages are just the same and the same basic parameters and methods are used.
We also make extensive use of profiling tools such as JProbe for Java to maximise performance as regards memory management, throughput etc. We have one dedicated programmer plus one dedicated tester, but other people will circulate in and out of API projects as needed. I oversee everything on the Trader Workstation side of the API development, but these days don't have much direct involvement in API client development.
Working in collaboration with the University of Oxford, the Numerical Algorithms Group investigated methods for improving the performance of a convolution gridding algorithm. Targeted Invitations for Algos delivers access to latent market liquidity as part of Liquidnet's Virtual High Touch offering QuantBrokers partners with TradingScreen to offer complete suite of premium futures and fixed income algorithms