

As for production systems, there is now a significant cottage industry of traders who use Matlab in algo trading. And they can often bridge the gap between R&D and implementation quite easily: code that was used in the research stage can often be quickly re-tooled to work in a production version of the system. This is where more general, high level languages like R, Matlab or Mathematica come in: their greater power and flexibility is handling large, multivariate data sets makes it much more straightforward to develop portfolio strategies. Using one of these products to develop and implement a pairs trading strategy is a stretch. That may be ok for futures trading,where more often than not the focus is on a single underlying, but in equities the opposite is true. The problem with retail trading tools like TradeStation, Multicharts, or Amibroker, is that they are designed primarily for single-asset strategies. But for algorithmic trading systems of intermediate frequency the choice appears almost unlimited. For a latency-sensitive high frequency trading application, you will probably want to use something like C++, or possibly a 3rd party algo system like Apama or Tethys. James Davidson’s excellent and inexpensive TSM, which I have used for many years and can recommend highly. If you are engaged in econometrics research, you might choose a package like RATS, Eviews, Gauss, or Prof. My sense of it is that there is no single “ideal” programming language – the best strategy is to pick an appropriate tool for the job and there are usually several reasonable choices one could make. I have written recently about the comparative advantages of different programming languages in the context of research and trading (see here).
