Who is vital to the success of a hedge fund? Mostly it’s the portfolio managers, the smart cookies who make the decisions about whether to buy or sell. But what if the decisions are being made by computers? Who are the key players? Is it the people who design the complex algorithims, who are usually labelled either as systematic/algorithmic traders, or quantitative portfolio managers. - Or is it the programmers (the 'quantitative developers') who code them up? -And what's the difference?
In practice, both of these are important jobs. Without the algo designer, the quant developer who designs the software will be twiddling his/her thumbs. A theoretically profitable strategy will remain theoretical with nobody to program it.
Quant trading types and software engineers work closely together in most banks and hedge funds. And when they do, you will not see the old fashioned bureaucratic ‘waterfall’ model of development, where the system is designed in detail before being passed to a separate implementation team. Instead it’s a colloborative effort, where prototype code for an algorithm written by a quant trader for backtesting purposes is gradually transformed into a robust production strategy.
Because they work so closely together, the roles of quant developer and systematic trader have very similar skill sets. For starters, both must be able to code. Yes, you would expect a software developer to know more than a few programming tricks, but why do systematic traders have to code?
Firstly, systematic traders need to test their ideas. There are commercial packages available to back test trading strategies without much formal programming, but few self respecting hedge funds would use them (and don’t even mention Excel). Instead back testing is usually done in a proprietary environment where programming is a must.
Secondly, being able to code gives the programmer and the trader a common language, and this makes communication and joint development much easier. Quantitative traders who have done some programming will also have a better idea about what may or may not be possible, and how to implement certain ideas.
It’s also helpful if programmers have some understanding about the markets, the motivation behind a particular strategy, and the underlying data that is being used to drive any trading decisions. Traders can get very impatient if they have to explain to a programmer that, for example, U.S. bond prices are quoted in fractions.
Hence, it is no surprise that the very best quant traders are very capable programmers, and elite quant developers often have excellent understanding of financial markets and algorithmic strategies.
Of course, the exact mixture of skills required depends on the strategy that is being implemented. At one extreme we have the world of high frequency trading. Here, the success or failure of a fund depends almost entirely on software and hardware implementation. Quantitative traders in this space often do all their own programming. At slower timescales, it’s possible to create strategies which can be built inside simple Excel spreadsheets that are updated daily and manually traded: no programmers required.
The best degrees for systematic traders and quant developers
Traders and developers may well have very similar educational backgrounds. Generic quantitative degrees in subjects like engineering, maths and physics are excellent preparation for software engineering, and are also very common amongst traders working in systematic trading firms who rely on data analysis to find winning strategies.
By comparison, a computer science degree is obviously excellent preparation for programming computers, but is spectacularly unhelpful if you want to become an algo trader (outside of the high frequency space). Similarly, studying economics or finance at university is very useful for aspiring quant traders, but won’t teach you the coding skills you would need to become a professional developer. If you’ve done these more specialised degrees then you have more chance of being pigeonholed as either a developer or trader, rather than as both.
Assuming you have done the right degree, then you need to work on your other skills. Junior developers and traders both need to learn to program, to get a basic understanding of the financial markets, and to understand some typical strategies. Depending on your chosen path you will need to spend more time on some of these areas than others. There's little point in a quantitative trader learning the dark arts of code optimisation or GPU programming. Similarly, a software engineer wouldn’t be expected to know how to interpret the results of a factor regression on a basket of U.S. equities.
In my experience, the world is full of programmers who would like to become systematic traders, but there are very few quant traders who would secretly like to become full time coders. Fortunately, there is good news for wannabe traders currently stuck at the coal face of software development. - If you can acquire the right skills it's relatively common to make the move from coding up algos, to the more interesting work of designing them. Several programmers I worked with in my career are now designing systematic strategies for a living.
Robert Carver is a former head of fixed income at quantitative hedge fund AHL, and the author of 'Systematic Trading' and 'Smart Portfolios'. He has two degrees in Economics, and one third of a degree in Computer Science. He now designs trading strategies for trading his own money and, sadly, has to do all his own programming.