Event Highlights: Using Python to Solve Complex Modelling, Valuation and Risk Challenges
In mid-November, FINCAD held a Python breakfast briefing in London. The event brought together top quants, developers, technology leaders, traders, risk managers, portfolio managers and other finance professionals to discuss the various ways Python is being applied to valuation and risk modelling. Attendees heard from Kees Bouwman and Roger Lord, both from Cardano, a consultancy and asset manager based in the Netherlands, as well as Gary Collier, CTO of Man Alpha Technology, the world’s largest listed hedge fund manager with over $100BN in AUM. Additionally, Gordon Elliot, participated in an interesting Q&A session on how Python can be applied to automate music applications.
Kees Bouwman kicked off the presentation discussing how Python has helped Cardano internally transform many of their quant functions. Previously the firm had been using desktop .NET applications and an in-house quant library that was accessible via .NET and VBA. Before Python, Cardano relied heavily on Excel spreadsheets for valuation and risk. But they were experiencing a gap between Excel and their desktop applications, and the challenge of having hundreds of spreadsheets in play. This approach made it difficult to upgrade when market changes rolled around such as the Libor phaseout, as each spreadsheet would need to be amended individually. As such, Kees described that Excel is appropriate for simple calculations, it is not robust enough to handle the advanced analysis and reporting they needed to do. He also opined that while .NET is suitable for quant library and large scale applications, it is also too technical and complex for advanced analysis and reporting.
There were a number of reasons why Cardano chose Python. Not only does Python provide a strong computing environment, but it offers an extensive ecosystem of free libraries and tools for data science and machine learning. Integrating with Excel is also a breeze. Furthermore, Python offers good performance and testing capabilities.
Ultimately, Cardano elected to build their own quant library using Python. Valuing portfolios can now be done more easily with a library wrapped in Python as opposed to Excel. Scalability of their platform has also improved, and now they are able to do advanced analyses via Python and Jupyter. Last but not least, Python has given the firm the ability to easily combine their libraries with other libraries as needed.
Following the Cardano presentation, Gordon Elliot stepped in to answer some questions on how Python could be applied to automate music applications. He explained how he had been tasked with designing a complete end to end music library program. Creating this library involved alot of tailoring and intensive work related to putting music over video. The system itself was based on an extensive library of single instrument performances by original artists, and each performance had a great deal of meta data attached to it. Gordon had to come up with an algorithm that would produce musical arrangements on the fly from these tracks. Essentially the user would hit a button and immediately get a unique musical composition out. In order to make this system scalable, he wrote the logic into a Python backend. This involved a lot of precalulation of rules and good business logic. Gordon said the fact that Python is tried and tested, and very easy to maintain, simplified his job a great deal.
In the last part of the event, attendees heard from Gary Collier, CTO of Man Alpha Technology, who explained how Python has been instrumental in transforming the firm’s front office technology. Several years back Man Group implemented a new ground-up quant platform using Python. The system initially handled futures and FX, and it was soon extended to handle single stocks and options. The success of this project prompted Man Group to begin work on another new platform, this one would be a “Group Wide Python/Quant Platform.” “Our motto at Man Group is to doing something once, and do it right—and Python is a key part of this,” commented Gary.
Gary went to on to describe that Man Group’s engineers work hand in hand with quants and risk managers to deploy technology and put it into active use. “This structure has proven effective in generating high levels of collaboration, innovation and productivity,” he explained. However prior to using Python, there was a bit of a technology divide. The quants and risk managers were coding with R and Matlab, whereas languages like Java and C++ were the preference for the developers. This essentially put a wall between the teams. “Python was the technology that allowed us to knock down this wall within the firm and standardize on one language across the front office,” said Gary. Python has also helped Man Group to bring together 400 libraries and 1-2 million lines of code.
While Python has been around for some time, it has more recently seen a dramatic uptake in popularity in Finance. This increase in use likely stems from the fact that it is easy to use (even for non-developers), excellent for testing and prototyping, and offers a powerful ecosystem of scientific libraries and tools (e.g.,Plotly Dash, SciPy, NumPy, Jupyter, etc.)—use of which can save time and dramatically shorten the development cycle.
Aware of the important role Python can play in helping firms maximize their productivity and focus on creating real business value without the heavy burden of enterprise infrastructure and software concerns, FINCAD has equipped our F3 Platform with a powerful Python toolkit. Using this toolkit is helping many of our clients to quickly and easily generate custom analytics, applications and reports that help drive better investment and risk decisions.
For more information about Python, read our related blog post: Balancing the Risks and Rewards of Python.