Get the latest updates and news from FINCAD. Subscribe and never miss a post! 


Python vs. Excel: Which is better for data analysis?
By Denys Usynin | June 18, 2020

Throughout the finance industry, we’ve seen a surge in Python use for development of data analysis. Many firms are even eliminating reliance on spreadsheets in areas like modeling and risk reporting. They are instead building out new analyses with Python—which are more functional and robust than Excel workbooks ever were.

What’s Driving the Move to Python?

The volume of information that firms work with in order to obtain accurate valuation and risk numbers is massive. Managing all of this is very difficult if the only tool at your disposal is spreadsheets. Plus, there is significant risk involved with copy-and-paste errors, not to mention the inconsistencies that arise from editing and sharing Excel files with members across teams.

The trend towards creating custom workflows, analyses and reports in Python is therefore not a surprising one. In fact, Python is considered the top choice for organizations that are moving off spreadsheets and building out new applications for data analysis. Because of its simplicity of use, firms can be up and running more quickly and easily than if they utilized other common programming languages, such as Java, C# and others.

Needless to say, the overall versatility of Python is vast. Common use cases in finance cover a wide range, including strategy back-testing, portfolio optimization, tailored hedging strategies, LDI portfolio construction, cash flow matching, custom pre-trade analytics, risk reports, real-time dashboards and structured product scripting—just to name a few. Not only that, but Python is fast and simple to code, offers numerous (free) data science libraries and is easily learned—even by the more novice user. This ease of use is great news not just for industry developers and technologists, but also for individuals with jobs in the front-office.

A Shift in Workplace Skill Sets

Indeed, more firms are requiring that staff in many different areas of the business have some coding knowledge, as programming replaces work that was once done in Excel. This is the case at the French asset management company, Amundi, according to a Funds Europe article.

“Almost all of our research analysts can code and one in four of our portfolio managers has programming skills, and this will increase in the future,” commented Emmanuel Asfar, CTO at Amundi, in the article. Asfar went on to explain that development skills are an integral part of working at Amundi, as the firm is constantly enhancing its portfolio management system with new technologies in order to meet client demands. Other tier-one institutions such as Citibank, JPMorgan and Goldman Sachs have been on the forefront of the trend towards expanding their staff's knowledge of coding. Many of these firms have been actively encouraging traders and investment managers to learn how to code in Python.

Considerations for Tier-2 and Tier-3 Firms

But what do you do if you want to begin developing with Python, yet don’t have the luxury of large-sized teams to build and maintain your analytics platform? After all, it is not just the initial development of an analytics system that consumes a lot of resources, but more so the day-to-day upkeep. Common software metrics suggest that 80% of the whole-life development effort on any system is expended on maintaining it.

More tier-two and tier-three firms are turning to technology providers that can help get such systems up and running quickly and effectively, as well as manage the ongoing upkeep. Solution providers that offer not only good technology, but equally a knowledgeable and experienced support team are key considerations to your success with such a project.

A Solution for Small-to-Mid-Sized Firms

Faced with the costs and complexities of comprehensive enterprise solutions, small firms often choose to implement their business workflow in Excel-based solutions. However, this approach creates costs and complexities of its own, where large workbooks - that tend to couple complex derivatives analytics and business logic - become operationally fragile, and hard to maintain and extend.

Many of our clients have transitioned the processes and analyses they once did in Excel over to Python-based solutions powered by FINCAD's products. Python offers an ideal medium for such small scale solutions, helping to remove operational risk and improving maintainability, and detaching the modeling complexity (for example by using FINCAD cloud-based analytics services).

FINCAD Python tools make this migration straightforward, and work seamlessly with the rest of the Python ecosystem. In fact, FINCAD analytics in Python can be used just like any other of the myriad of modules and libraries available in the Python universe. For instance, one can use a Jupyter Lab environment as the user front-end, where FINCAD analytics code is interleaved with open source analytics tools such as ones in the SciPy stack.

For more on this topic, check out our related Python video: Python - Improving Data Science in Finance

About the author
Denys Usynin
Denys Usynin
Co-Head of Product Development | FINCAD

Denys has more than 20 years of experience helping organizations create software that takes advantage of the latest advances in Quantitative Finance and Computer Science. At FINCAD, Denys is directing the technology platform R&D Development team, leading the overall architecture, roadmap and development of the technology platform and providing leadership and hands on contributions in the areas of Quantitative Finance, Software Architecture and Development. Prior to working at FINCAD, Denys spent over 3 years at JPMorgan in the Quantitative Research team, specializing in risk management. Denys holds a PhD in High Energy Physics from the University of Pennsylvania, and a Bachelor of Applied Physics and Mathematics from Moscow University of Physics and Technology.