I’ve been a quant strategist in FX for nearly 15 years. At the start of my career, quant was somewhat of a niche area. Typically, most of my interactions on the sell side were with other quants at buy side firms. Today everything has changed, quant is no longer simply the preserve of large quant funds. Indeed, more quantitative approaches to looking at markets are gaining traction on the discretionary side. It’s not about everyone suddenly becoming systematic, it’s more about trying to use data more efficiently to help with the investment process. Excel can sometimes seem limiting in this type of environment.
These days it’s clear that there’s a move towards to using Python and other open source languages such as R. Python is much better suited to dealing with larger datasets and automating processes, than Excel is. It can also deal with alternative datasets such as text. In the past few years, there’s been a steady increase in interest amongst traders, who have traditionally stuck to Excel, wanting to learn Python.
This article is only available to Macro Hive subscribers. Sign-up to receive world-class macro analysis with a daily curated newsletter, podcast, original content from award-winning researchers, cross market strategy, equity insights, trade ideas, crypto flow frameworks, academic paper summaries, explanation and analysis of market-moving events, community investor chat room, and more.
I’ve been a quant strategist in FX for nearly 15 years. At the start of my career, quant was somewhat of a niche area. Typically, most of my interactions on the sell side were with other quants at buy side firms. Today everything has changed, quant is no longer simply the preserve of large quant funds. Indeed, more quantitative approaches to looking at markets are gaining traction on the discretionary side. It’s not about everyone suddenly becoming systematic, it’s more about trying to use data more efficiently to help with the investment process. Excel can sometimes seem limiting in this type of environment.
These days it’s clear that there’s a move towards to using Python and other open source languages such as R. Python is much better suited to dealing with larger datasets and automating processes, than Excel is. It can also deal with alternative datasets such as text. In the past few years, there’s been a steady increase in interest amongst traders, who have traditionally stuck to Excel, wanting to learn Python
Python is also becoming part of the syllabuses at universities. Shorter courses are increasingly available for practitioners at financial firms too. Attendees see learning Python as a way to equip them with the skills they need in banks and funds. Indeed, employers are increasingly expecting employees to know Python.
Of course, any learning process takes time. A key part of the learning to code is to spend time writing your own code. As a result, it is likely to take a few months at the very least for a beginner to get comfortable with Python. If you are already familiar with other computing languages, the process is likely to be somewhat quicker.
Terms like machine learning are en vogue. Python has many open source libraries for machine learning such as Google’s TensorFlow library and PyTorch. Typically, these types of tools are not easily accessible in something like Excel. However, I think what’s often lost in all this discussion is that traders can do a lot with Python, without even entering doing anything resembling state-of-the-art machine learning. One of the first use cases I can see for Python is for doing precisely what traders and researchers already do with Excel, but just making it more efficient and automating it.
Typically, traders and researchers have a plethora of spreadsheets. Some might have live market data. Others might have charts, which need to be updated. Some can be used to make reports that are sent regularly to clients. Invariably, updating these sheets requires a lot of manual intervention. I’ve spent far too many hours of my career on the sell side updating spreadsheets on a daily basis! Whilst, it is true that VBA in Excel can help to automate some of this, Python is probably a better way to go.
In particular, Python has lots of great libraries for dealing with time series, like Pandas, so you don’t have to write this code yourself. Thinking back several years, when I used to do a lot of work in Java, I remember writing several thousand lines of code to do pretty basic time series tasks. These days Pandas does all of the tasks of my old code, and much more too!
Furthermore, you don’t need to cut out Excel. You can do all the heavy computation work in Python and use Excel as a front end, which everyone already knows how to use. There are quite a few tools that let you combine Python and Excel, one of the most well known is xlwings. You can also create web dashboards with Python using a library like Dash, if you want to share your analysis across a firm.
Once you’ve got past the stage of automating your processes with Python, you can begin to explore searching for new datasets and different ways of looking at data, perhaps even some machine learning! This might be using natural language processing on news data, using a Python library such as NLTK. It could be to explore more complicated statistical models, such as SVMs for clustering, or simply better ways of doing linear regressions, using a library like scikit-learn.
Importantly, Python is also a transferable skill too, because Python is used in many industries. So, if you choose to work outside finance in a different field, where you’ll have to do some number crunching, it’ll be useful to know Python too. It takes time to learn Python, but the investment will be worth it.
Saeed Amen is the founder of Cuemacro. Over the past fifteen years, Saeed Amen has developed systematic trading strategies at major investment banks including Lehman Brothers and Nomura. He is also the author of Trading Thalesians: What the ancient world can teach us about trading today (Palgrave Macmillan) and is the coauthor of The Book of Alternative Data (Wiley), due in 2020. Through Cuemacro, he now consults and publishes research for clients in the area of systematic trading. He has developed many Python libraries including finmarketpy and tcapy for transaction cost analysis. His clients have included major quant funds and data companies such as Bloomberg. He has presented his work at many conferences and institutions which include the ECB, IMF, Bank of England and Federal Reserve Board. He is also a co-founder of the Thalesians.
(The commentary contained in the above article does not constitute an offer or a solicitation, or a recommendation to implement or liquidate an investment or to carry out any other transaction. It should not be used as a basis for any investment decision or other decision. Any investment decision should be based on appropriate professional advice specific to your needs.)