Is Python the New Excel?
Over the last few decades, having good Excel skills has been of paramount importance within the financial industry, almost regardless of your role. What we are now observing is that this paradigm is shifting at a rapid pace with Python becoming the tool of choice for financial industry participants. I dare say that Python is becoming the new Excel.
Python is of course a very different paradigm when stacked up next to Excel. Even if there is some overlap, I am not looking to make a direct comparison here. But what I do want to stress is that we are seeing exponential growth in financial institutions adopting the use of Python, which could make the Python skillset of equal importance to Excel for many organisations.
Python is already now a pre-requisite for many quantitative roles. We expect this trend to spread further amongst organisations looking for new hires. Of course this does not mean that everyone will need to become as adept with Python as a developer. But in order to understand your clients’ needs or be able to effectively collaborate within many organisations, you will need to have a basic understanding of Python and why people use the program.
FINCAD naturally offers APIs in several programmatic languages, where Python is the main driver of demand. While many software solutions restrict APIs to accessing data and executing calculations and tasks, Python is much more holistically embedded within the FINCAD technology stack. This ranges from a Jupyter Lab environment within the user front end, to custom functions, custom reports, building of applications and general data management. The fact that Python is reasonably easy to use and extremely versatile is why we are seeing the increased uptake within the financial community.
Just one of the many benefits of Python is that you can effectively use one language throughout your entire workflow, if you so desire. In fact, the syntax in Python enables programmers to do coding more quickly, using fewer steps than other common scripting languages.
The Python community is comprised of relatively novice users, intermediate users and experts that are very generous with their time on forums like Stack Overflow. This makes it possible to look up almost any Python challenge you encounter and be able to obtain some guidance. We have also seen many new Python libraries being created, which only continues to widen the use case for this popular programming language.
FINCAD offers its own custom reporting capabilities using Python. But a more generic example is Plotly Dash, an open source Python library that allows you to build nicely formatted and interactive applications below 100 lines of code. The complexity and quantitative amount of code required in other languages could increase by a factor of 5x or 10x to achieve the same output, which is just one example that demonstrates the usefulness of Python.
In my experience as a non-developer, I’ve found that understanding Python has been extremely useful in all facets of project discussions I have with both internal colleagues and external clients. This understanding has helped me to:
- better collaborate internally on a project, and contribute to and/or build prototypes;
- understand the programmatic workflow for clients, and;
- estimate the complexity of a project, even if I am unable to develop it myself.
Now that I have hopefully made my case why Python skills are incredibly important, you may be thinking ok, where would one start acquiring this knowledge?
Not only is the software free, but so are many of the educational resources available, Coursera and YouTube are two good examples. The breadth of Python content available on these websites is impressive, making it easy to find information that you need to get started.
I’ll leave you with one parting thought and a philosophy that is very important to me: Always be hungry for knowledge.
Learn about our new F3 Python Toolkit and if you’d like to read more about Python, check out our other recent blog post: Why Quant Developers Love Python for Custom Analytics