Why are banks like JP Morgan and Bank of America Merrill Lynch using Python?

by Abdul Muhit | Oxford Knight



I am not technical and don’t write code (yet), so I’ll leave it to others to cover the low level technical details for Python’s adoption.

From a high level perspective, the decision to go with Python to rewrite core systems at firms such as BOAML and JP Morgan is to build a more transparent and collaborative system in firms that have people of varying technical ability and who’s chief role is not always to write software.

The 2008 financial crisis will be remembered as the year of terrible events at corporate and systemic level. Banks up until this point failed due to a lack of collaboration.

Despite what might seem as a logical step to those in the tech industry of building one Risk management system across all individual business areas and so creating a greater level of transparency and leveraging economies of scale, banks continued until 2008 to build individual risk management systems that didn’t talk to each other. Various reasons for this, but essentially it prevented collaboration.

Since 2008, the major banks have embarked on a roadmap for a true enterprise front-to-back, cross-asset, ‘best of breed’ systems. This is no longer the sole agenda of technology teams but is also necessitated at boardroom level and demanded from external institutions that look for transparency for us, the tax payer.

Since early 2009, JP Morgan have been rolling out the Athena Platform (a Python along with C++ and Java for speed), a cross-market risk management and trading system.

BOAML after the merger between BOA and ML also decided at management level to also build a similar system to Athena called Quartz.
At this juncture, it’s JP Morgan and BOAML that are the two banks using Python in anger.

Ironically, or maybe deliberately as there is some legal issues around this: both senior managers spearheading the move to cross asset risk at JP Morgan and BAOML had initially worked at Goldman Sachs.

As a bank, Goldman Sach’s proprietary risk management platform built using SecDB/Slang has been seen in the eyes of many as having done a better job in comparison to its competitors. SecDB is a GS prop database and Slang is a lightweight scripting language similar to Python/Perl with the ORM layer baked in.

Not much is known of Slang/SecDB because it’s a prop language/DB, but one of the major advantages noted of Slang (like Python) is its lightweight language that anyone can get up to speed with in a short space of time. Also, given that Slang is used everywhere at GS front/middle/back office, it allowed 15 years ago something multiple systems at other banks built using multiple languages couldn’t do – collaboration. It may seem trivial these days, but GS as a bank could, with ease, do database replication allowing changes in London to be seen in Tokyo almost instantly.

Just like Slang, Python is a simpler (ish) language than C++/Java; which matters when you have people that don’t have a strong grasp of software engineering. Hence, when choosing to build a true enterprise front-to-bank cross asset risk systems for the new financial era, JPM and BOAML have opted for Python.


By Abdul Muhit

Linked In: http://uk.linkedin.com/in/abdulmuhit

Email: abdul.muhit@oxfordknight.co.uk

Website: www.oxfordknight.co.uk

Oxford Knight is a technical recruitment agency. None of our consultants have written a line of code… yet. We apologise if this article doesn’t keep some purist happy, but we’re trying to build a new generation of technical recruitment agencies…. We listen, participate, and deliver.


More information

Get in touch using the contact form below or give us a ring at 020 3137 9570. We'd love to speak with you about what we can offer.