Last week FINCAD held a knowledge-sharing breakfast briefing in Amsterdam, “Using Python to Solve Complex Modelling, Valuation and Risk Challenges.” David Fletcher, Managing Director for FINCAD in EMEA reported, “I am pleased to say we had a great turnout with more than 50 individuals in attendance from the Netherlands, representing over 20 different financial institutions. It was a pleasure to host the discussions on how these professionals are using or might be looking to use Python within their organizations.”
Attendees of the Python briefing heard a presentation given by Christian Kahl, PhD, FINCAD’s Head of Client Services. Christian dispelled some of the misconceptions relating to Python. One common view about Python is that it is slow because it is an interpreted rather than a compiled language, and because the default implementation of Python ‘CPython’ uses GIL (Global Interpreter Lock) to execute just one thread at a time, on only one core. Christian explained that when applied to an appropriate development job, Python in fact speeds up the development process, as it enables developers to write code quicker because of its simplicity of use. Of course, Christian emphasized that Python is not the universal tool for every development job. One must consider the unique aspects of their project and their goals before choosing what programming language would be best.
Another interesting point Christian raised is that Python is becoming the single language of choice for Platform as a Service (PaaS) offerings. This is likely because the flexibility of Python allows for ease of scripting of tasks and workflows and gives users flexibility for easily extending applications and customizing user interfaces (UIs) as needed.
However, while it is easy to start projects with Python, deploying them to production can be challenging without the right tools and technology in place. Teams often struggle with infrastructure issues such as data management, calculation scaling, version control, admin and security. For this reason, FINCAD offers the F3 Python Toolkit, which combines Python’s sophisticated capabilities, FINCAD’s industry-standard analytics library and the enterprise-class technology of F3 Platform for handling infrastructure issues. This approach enables portfolio managers, traders, and quants to maximize productivity and focus on creating real business value without the burden of enterprise infrastructure and software concerns.
To give our attendees a sense of what it’s like to actually put a Python development project into practice, speakers Kees Bouwman, PhD and Roger Lord, PhD from Cardano, shared their experience. The pair discussed the firm’s move to Python and some of the benefits they’ve achieved along the way.
Cardano had been using a combination of Excel spreadsheets, Excel VBA applications, Desktop .NET applications and an in-house quant library for performing analysis and reporting. Cardano found Excel to simply not be robust enough to handle advanced analysis and reporting. Additionally, while .NET proved to be a satisfactory quant library and good for large-scale end applications, it was too complex to use for advanced analysis and reporting. It was also too difficult to integrate with existing analytical tools and data platforms. Thus, Cardano’s quant team began to research how they might use Python to overcome these challenges.
Python’s strong computing environment, proclivity for Excel integration and excellent tools and libraries were among the reasons that Cardano decided to use the popular programming language. Ultimately, the firm decided to wrap their in-house quant library for valuation and risk management in a Python package, with advanced analysis now being performed via Python and Jupyter. Cardano has been pleased with their decision to leverage Python including the fact that it gives them endless options and flexibility for prototyping, as well as exploring and interoperating with other quant libraries.
To learn more about the best ways to apply Python to complex markets, view Risk. net’s on-demand webinar. For information on the F3 Python Toolkit, view our datasheet.