We receive multiple requests from readers looking to break into the finance industry. Quite often the reader is currently working in a traditional engineering job and looking to make a career switch.
The question we often hear is “How does an engineer become a quantitative finance geek?”
To answer this question we decided to ask someone who recently made the switch-Kris Longmore at newly formed Robotwealth.com.
Kris spent over a decade as a professional engineer before changing tacks and moving into finance on a full-time basis. Along the way he was a proprietary trader, a hedge fund quant, and a freelance researcher and developer. Now, he divides his time between institutional-focused quant consulting with Quantify Partners and working with DIY algo traders at Robotwealth.com.
[drizzle]Question and Answer is below:
Q&A with Kris Longmore
Q: Kris, can you briefly tell us about your background?
Kris Longmore: Sure. I spent over ten years as an engineer before getting into finance. My engineering career was a nice balance between geeky stuff like developing computer simulations of environmental processes and fun hands-on stuff, like building environmental monitoring systems in remote parts of Australia.
I didn’t just wake up one day and decide to be an algo trader. Actually, it took several years of effort before I found even a basic measure of algo trading success. Several years seems like (and is) a long time to spend on something without getting much reward for the effort! A lot of that time was used pursuing ideas and approaches that turned out to be dead ends. More than once, I invested several months developing a trading strategy, only to painfully learn that the approach I was using was fundamentally flawed. This was incredibly frustrating. A big part of the problem was that I was learning and researching in a vacuum. I didn’t know any algo traders; I didn’t even know a single person involved in the markets in a professional way. And rather than seeking out help, I isolated myself, learning from first principles or through independent research and investigation. This was far from the best approach. I did get some help from a number of very useful books and papers, however even working out which ones are worth pursuing from the immense body of work that exists is a gargantuan task. Once I finally found a way forward, I realized how much time I could have saved if I had had a mentor, a teacher, or a community back in those early days.
Q: How did you get into trading as an engineer?
Kris Longmore: I had an extremely humble introduction to trading. Many years ago, a friend introduced me to a simple indicator-based trading strategy he had landed on. Not content with assurances that the strategy worked, but intrigued by the possibility of windfall profits, I painstakingly back-tested its historical performance by manually recording trade entry and exit prices from historical price data and recording the results in a spreadsheet. I suppose my engineering background motivated me to seek some evidence for the strategy’s alleged success. The process took several weekends and at the end of it all I was a little deflated to conclude that the strategy was not very useful, even before transaction costs and execution issues were taken into account.
Q: Did the system work out? What did you do next?
Kris Longmore: Well I certainly didn’t make any money from that system! But despite its less than stellar performance, I was completely hooked on trading. I saw it as an immense challenge that I just couldn’t leave alone. I also realised that the multi-week process I had just performed was neither an efficient, scalable nor particularly accurate method of conducting strategy research. I needed a better approach if I was going to succeed.
It was obvious that I would never be able to algo trade seriously without putting my ideas into code and harnessing the power of computers. So I learned to test my ideas using computer simulations. I started coding with VBA, which I knew from my engineering career, before moving on to R, C, and recently, Python. Learning to program was by no means a trivial endeavour, but it was well worth the investment in time and effort, and I continue to invest time and effort into improving my skills. It is also surprising how much you can do just by learning the basics. I can’t emphasize enough how awesome it is to just dive in and start writing even basic code. The benefits also spilled over to other areas of my work and life. For example, in my parallel engineering career, I was able to write my own simulations, rather than relying on tools built by others, and go deeper with statistical analysis. In my personal life, I can automate the tracking of my physical training metrics as well as the family budget. These are trivial examples, but even rudimentary programming skills can have a huge benefit in different parts of one’s life.
Q: So did learning how to program solve all your problems?
Kris Longmore: Learning to program is just one of the pre-requisites for successful algo trading. In a lot of ways, it’s the easiest part of the whole process. Even more important (and much more difficult) than using the tools themselves is the ability to use them in such a way that the results of research are meaningful and not spurious. This in my opinion is really the key to building a successful trading model and it speaks to two main obstacles: curve fitting and data mining bias. Dealing with these aspects of strategy development is not trivial and typically takes up the majority of the strategy development effort. In my experience, these are the big ones, but you also need to be cognizant of sample size, data snooping, economic reality, and using an appropriate granularity of market data. All this before you even consider the accuracy of your simulation platform, which is of course critical. Interestingly, despite the apparent complexity, often the best systems are relatively simple, at least in terms of their trade entry and exit criteria.
Clearly, there is a lot to consider and the process isn’t easy. There is a nice upside to learning to build and test trading systems though. Even if you never build a system that you bring to market, you will learn research skills and gain knowledge that are immensely useful in other areas. You’ll get really good at statistics, which is much more beneficial than it sounds on the surface. Having a good working knowledge of statistics, inference and bias makes you a better critical thinker and objective decision maker. Funnily enough, you even start to recognise your own biases and preconceptions in a starker light, so you actually get to know yourself better. In addition to those very human impacts, pursuing algo trading will probably make you quite a decent data scientist, one that has relatively rare skills in analysis of non-stationary time series data. Many ‘classical’ modelling tasks or data science problems will seem much simpler in comparison.
Q: What programming tools do you recommend for people getting started with