Balancing the Risks and Rewards of Python
Last week Per Eriksson from FINCAD participated in a webinar, “How to Apply Python to Complex Markets,” hosted by Risk.net. The webinar brought together industry experts to discuss the benefits that Python can bring investment firms and the challenges associated with adopting the language and extending its use. In addition to Per, speakers included Risk.net’s Joel Clark, Gary Collier of Man Group Alpha Technology, Dr. Ronnie Shah of Deutsche Bank and Artur Sepp of Quantica Capital AG.
To kickoff the webinar, Joel posed the question, “Why has Python grown in popularity within the financial space?” In Per’s view, there are a few reasons why we are seeing increased uptake of Python in Finance. For starters, Python as a programming language is highly flexible, multi-purpose and easy to use—so easy to use in fact that those with little programming background can often easily pick it up. This provides less technical individuals the ability to build out prototypes; something they haven’t been doing frequently with other coding languages.
Today, there are also greater demands to achieve interconnectivity between systems and aggregate exposures in a way we didn’t see 20 years ago. Python can be used effectively on both of these fronts. Python is also great at data analysis, which makes it ideal to use for valuation and risk of complex instruments like derivatives.
We also mustn’t forget the trend of more firms moving away from Excel for certain functions and customizations in an effort to decrease risk related to human error. Of course, using Python can reduce operational risk through introducing automation to areas that previously involved manual handling of data.
Presenting his perspective, Gary Collier emphasized that Python is ideal for bridging data analysis with quant solutions. “Now you have people in different areas of the business that can collaborate effectively on the same piece of code, bringing different areas of the business together,” he remarked. This approach dramatically increases productivity and improves the level of collaboration between previously disconnected teams.
To the point of productivity, Ronnie remarked that many appreciate the fact that coding in Python is clearer and faster than other languages. “It is often just a couple of key strokes when doing multiple lines of code, introducing speed and efficiency,” he said. Artur added that Python is particularly useful as it allows users “visualization at every step in the development process.”
The popularity of Python has also sparked the inception of a vast ecosystem of free libraries and tools built up around it. For example, NumPy and SciPy are very well-suited to financial analytics. Additionally, tools like JupyterLab for interactive development, and pandas for handling data analysis, only make Python a more viable option for users in Finance. But all the speakers agreed that while there is obvious benefit in these libraries being free, firms must be careful to invest the time in creating a plan and controls for the use of Python so their project does not fall off course.
All the speakers warned that you have to know where and when to use Python in order to be most effective. For example, Python is not best-suited to low latency or high-frequency transactions. For this purpose, something like C++ would clearly be the better choice. Where Python does shine is in its ability to extend libraries and deploy applications that expose REST APIs (as we do when extending quant and REST APIs for our clients using F3). Python is also superb at helping developers and quant traders easily build out custom applications, reports and analysis that help drive better investment and risk decisions.
In terms of the availability of numerous libraries, Gary explained that it tasks firms with somewhat of an assembly job. “With so many virtual building blocks to choose from, they need to decide how best to fit them together in order to create their secret sauce.”
If you are interested in learning more about what Risk.net’s panel of expert speakers had to say around the risks and rewards of using Python for development, be sure to check out the on-demand webinar recording: “How to Apply Python to Complex Markets.” You can also attend upcoming Python knowledge sharing events in New York and London.