The Growing Use of MATLAB in the High Frequency Trading World
Fri, 25 Feb 2011 06:38:00 GMT
An Interview with Steve Wilcockson
In this interview for the High Frequency Trading Review, Mike O’Hara talks to Steve Wilcockson, Industry Manager, Financial Services at MathWorks, developers of MATLAB, the technical computing language that is increasingly being used in the world ofhigh frequency trading and algorithmic trading systems.
High Frequency Trading Review: Steve, can you give us a brief introduction to MathWorks, what you do and how it relates to the HFT and algo trading space?
Steve Wilcockson: Certainly. MathWorks is a half billion dollar organization. We started in 1984, so we’ve been around for 25 plus years. We supply what we call technical computing and Model-Based Design software. Essentially, that’s software that helps mathematicians, scientists and engineers. We have over two thousand employees, with about half in development. So that’s a lot of developers!
I think one of the distinguishing factors about MathWorks is we go across all industries. Because of the general nature of the people we’re supporting, there’s a lot of opportunity to collaborate and discuss. Our absolute core is the automotive and aerospace engineering and development side. That’s where our heart and soul has been for a long period, that was where we came from. If you go onto our website, you see all these things about how MathWorks and the products that we supply is behind a lot of the software on your car.
We moved into finance in about the early ’90s. Here in the UK our early finance user base, in quantitative research teams, was typically people who moved from defence organizations, for example DERA (the Defence and Evaluation Research Agency), into finance. In the US, there were similar dynamics. More recently too, there was a migration from the likes of Formula One into finance, particularly algo trading, things like that. Defence, aerospace & automotive were – and remain – our core markets.That’s what we’re known for.
That said, our use in finance is broad. Central banks are big users, for example policy forecasting systems or financial stability. They started using MATLAB because of the appropriation into computational economics of state-space methods, common in control design i.e. engineering. Enterprise risk is also a big area- MATLAB was a key part of both American and European stress tests in 2009 and 2010. Actuary users have these new Solvency II regulations coming out, where they’re using MATLAB to help with economic scenario generation, cash flow optimization and so on. I’ve just been meeting some portfolio managers and that’s a strong area for us too, for portfolio optimization, construction, simulation and risk.
As for the trading world, the algorithmic, systematic and high frequency space has been a very interesting area for us. I already mentioned the F1 technology transfer. One way we entered this sector was essentially the movement of engineers, coming from the engineering departments, the applied physics departments of universities, who then started joining the high frequency shops, either hedge funds or prop desks or, increasingly, the sell side areas for traditional market making and brokerage,.
Generally speaking, whether you’re designing control software for a braking system or a robotics instrument, which deals with quite complicated models but perhaps quite difficult data, these sorts of engineering problems can translate, to a degree, to the more random, stochastic world of finance. And it’s those people with the combined mathematical and modeling skills that seem to have gone into this particular sector, and they’ve carried tools like MATLAB with them.
HFTR: As you know, with the Volcker Rule in the States, a lot of new proprietary trading firms and hedge funds are now setting up, splitting off from the prop desks desks within the banks. Being faced with the choice of either buying components, building things from scratch, or some sort of combination of the two, where would you see MathWorks, or MATLAB specifically, fitting in?
SW: Usually, when people start afresh, they’ve got some sort of trading strategy in mind. And what they will want to do, ostensibly, is either act on it, if they’ve got access to money, or sell the idea if they need to get funds. In either case, they would build a trading strategy, test it, and then ultimately, execute on it in some form or other.
Now, the nice thing about MATLAB is it makes that research and test experience very straightforward. Whether you’ve got a simple technical analysis application or a more complex, let’s say, evolutionary learning approach, there are many ways that MATLAB can help. To start with, you’re typically working with time series data. To a mathematician, that’s a vector or matrices. And MATLAB stands for “MatrixLaboratory” so we’re entirely geared to the sort of data that financial people are dealing with.
We then have a range of off the shelf routines that people can effectively use to build their own IP, or build their own strategies and so on. There are a couple of things to say about that. One, our tool sets are pretty extensive. Because of the breadth of what we do, whether you’re particularly interested in evolutionary learning or technical trading or signal processing and wavelet type strategies, we’ve got routines that are available. And two, because of the breadth of people who’ve used them, they’re very well documented routines, people trust the MATLAB modules.
Related to that, most of our code, or our function libraries, is what we call “openly viewable”. You can look inside and see the underpinning MATLAB code. If you don’t like it, you can change it, you can build on it. So it’s this open approach that, in many ways, is MATLAB’s strongest feature. You can go in and componentize it, you can elaborate on it. You can effectively use our tools as a starting point. We steer clear of providing black boxes.
So yes, you could buy off the shelf, a black box type system. Or you could work in a low level language like C++ or Java, and many people do. We try and situate ourselves somewhere in the middle. Instead of rewriting things, like declaring memory or some fundamental IT task which you might be expected to do in a low level programming language, MATLAB takes care of that for you. You’ve got building blocks to develop your trading strategies pretty easily and quickly. Something that will take you hundreds of lines of code in a low level language will take you tens of lines in MATLAB. And that’s the benefit, rapid development, and, compared with the top down systems, the ability to customize, to build your own environments, and if required integrate into the black box and lower level programming languages
HFTR: In terms of how you would then take that to the market, how you would actually trade on it, some of the commentary I’ve seen is that MATLAB is an excellent tool for research and development and for building test environments, but if you’re a latency-sensitive HFT shop, you will need to recompile what you’ve built in into a low level language to really get any speed benefits. Is that something that you would agree with?