I'm looking for a programmer who can create an interface between Mathematica (11.3) and Interactive Brokers TWS application using one of the IB api's (C++, Java). The basic idea is to be able to retrieve data (stock prices, position information, etc) and send orders in a MMA Notebook.
There are some hints here
This kind of functionality has been available in Matlab for some time:
If anyone can recommend a programmer with the requisite skill set it would be much appreciated.
As has been pointed out by others, it is indeed very strange that Wolfram Mathematica, which prides itself on its connectivity, should to continue to operate without the ability to connect to common trading platforms other than Bloomberg, while competitor products have offered such connectivity for years. This has been a source of frustration for financial analysts like myself who, when it comes to moving from theory to implementation, have been obliged to re-develop applications in other programming languages. In my view the lack of the critical functionality has severely slowed the rate of adoption of MMA and WL by financial professionals, especially those operating in algorithmic trading and, as a consequence, MMA has been surpassed by the likes of R, Python and Matlab in that arena.
This is a great pity. Mathematica has made enormous strides in the area of finance since I began using the product around version 8, with the introduction of superb capabilities such as modeling stochastic processes and financial derivatives. It could very easily move to the front of the pack by incorporating the ability to link to trading platforms, enabling financial researchers to test their investment strategies and even put them into production from within the MMA environment, as is commonly done with Matlab at present.
I am puzzled as to the reason for this obvious (and easily corrected) deficiency. Perhaps Wolfram is still holding on to the idea of trying monetize its Finance platform?
In any event, I now have two developers who have volunteered to work on this, one using the Java api and another using REST endpoints. We will see what they are able to come up with.
Right! I'm game. I'll ping you because there are always so many details to consider and organize in this type of integration.
I've done loads of work over the years with investment banks, hedge funds and asset managers. I've always been semi-tempted to do something like this in M. The current version capabilities are much more amenable to your goal than even a year or two ago. But, I'm sure your aware of what the financial industry offers out of the box. So, why build in M? I always thought idea concepualization, and validation using historical data. Then model rule paramiterization followed by result measurement and backtest validation. These are tasks M is well suited for rather than order routing, management, and processing. IMO. Nevertheless, I'm very sure what your asking can be done in M.
I agree that Mathematica is not particularly well-suited to order routing, management, and processing. But that's not really what it would be required to do - all of those functions would be handled by IB TWS. All Mathematica has to do is interact with TWS via the api.
Matlab and Python have become lead technologies in the field of (low frequency) algo trading, thanks in large part to their ability to connect to various trading platforms for live and simulated trading. No reasons why Mathematica should continue to miss out on that opportunity.
I agree that implementing a connection to the IB TWS api from Mathematica seems like a straightforward task, but so far no-one has succeeded in doing it, so far as I am aware.