Choosing the right tech stack for your fintech solution
Fintech is changing the face of traditional banking from cross-border money transfers to mobile payments to user verification. Like any other traditional industry out there, it’s facing rapid innovation, transformation and often unwelcome competition from the next-generation fintech companies.
One of the key factors for fintech companies’ success is the tech frameworks and coding languages they’re using. Agile coding languages such as Python are the building blocks for tomorrow’s solutions.
Your choice of tech stack matters more than you might think
The tech stack you use will determine the possibilities and limitations for building, validating and maintaining your product. It will also determine the size and quality of the talent pool you’ll have access to.
Fintech founders need a programming language that is easy to handle, scalable, mature and high-performing. It should also be coupled with ready-made libraries and components. Luckily, Python is there to deliver it all.
But not everyone who is familiar with fintech is aware of its connection to Python. The rising popularity of Python is proven and tested by various research, as well as the rising number of financial sector job ads seeking exactly that talent. It is ranked as one of the most in-demand programming languages in banking.
Financial giants are already getting there - are you?
Python is a widespread architectural language across investment banking and asset management firms. Banks are using Python to solve quantitative problems related to pricing, trade, and risk management along with predictive analysis.
This language also seems to have answers to most challenges raised by the financial industry from analytics and regulation, all the way to compliance, and data. All this is made easy by the abundance of supporting libraries (e.g. NumPy, Theano or Keras).
Python is a core language for J.P. Morgan’s Athena program and Bank of America’s Quartz program. Investment banking guru Kirat Singh says: “Everyone at J.P. Morgan now needs to know Python and there are around 5000 developers using it at Bank of America.”
Citigroup joined the growing list of investment banks that want its analysts and traders to have strong Python coding skills. In July 2018, the group added Python training classes to the curriculum taught to recently hired bank analysts.
But Citigroup’s Python efforts don’t stop there. Beyond the recent hires, they’re also upskilling their managers, even going as far as having the group’s Head of Markets and Securities, Paco Ybarra, take a version of the Python class.
But still, why Python?
There are three main reasons to choose Python as your fintech solution programming language:
Developing a financial services platform is already complicated. Make it easier by using a language that’s considered to be easy to code and deploy by developers. Python requires 10 lines of code where Java takes 20 and there’s less chance of making mistakes. The lower error rate is important to fintech CTO’s and CEO’s alike.
Here you can see what a piece of code looks like in Python and in Java. It’s an example of both languages handling classes and inheritance.
Time and money
Python is fast. This isn’t a reference to the number of CPU cycles but rather a different perhaps even a more important metric: time to market. Today, the most expensive resource is employee time. As a dynamically typed language, Python offers a better alternative to languages that are statically typed.
Open-source financial libraries
One of the major advantages is the vast availability of libraries and tools. As a key language for mathematical programming, it has an extensive array of Fintech-focused libraries created to serve exactly that purpose. Here is a handlist of some of the best Python libraries used by Fintech companies:
- SciPy - library for scientific and technical computing;
- NumPy - fundamental package for scientific computing;
- pandas - flexible and powerful data analysis/manipulation library;
- pyalgotrade - algorithmic trading library;
- pyrisk - common financial risk and performance;
- zipline - a Pythonic algorithmic trading library;
- quantecon.py - library for quantitative economics;
- pyfolio - portfolio and risk analytics;
- pybitcointools - commonsense Bitcoin-themed Python ECC library;
- finmarketpy - library for backtesting trading strategies and analyzing financial markets;
- scikit-learn - machine learning algorithms;
- ffn - a financial function library for Python;
- pynance - open-source software for retrieving, analyzing, and visualizing data from stock and derivatives markets.
In fintech (or with developing any digital product) the selection of coding language and tech framework forms the core of your product and will have serious implications over the course of time. That is why it’s important to choose the language that will be able to carry the company and product forward in 1, 5 or even 10 years.
If you have an idea but you're wondering what is the best way to start, take a look here: Start with an MVP
Want to read more about Python in the financial industry, see this: Why Python in Banking?
Or just get in touch with us and the industry experts can help you with your questions!