Let’s start with some facts. In 2016, HackerRank surveyed programming language preferences across six industries: healthcare, social media, gaming and media, security, finance, and fintech. Analyzing the data gathered from over 3000 coding challenges, they found out that while Java rules in three categories, there is one industry that favors Python significantly (it’s twice as popular as the runner up, Java). This industry is – surprise, surprise – FinTech.
While some time has passed since the HackerRank’s study was conducted, the trend hasn’t changed significantly since 2016. Why is Python repeatedly named the top programming language for FinTech and how do ventures use Python to build successful FinTech applications? Today, we’ll try to answer these two questions.
Python and FinTech = perfect match
Saying that Python is a great choice for startups is basically stating the obvious these days. This high-level, general-purpose language offers several advantages for entrepreneurs regardless of the industry they’re involved in. The question is, however, what makes Python a good idea for a FinTech startup specifically?
First of all, Python is popular. Not only is it regularly named one of the top programming languages (e.g. by the IEEE or TIOBE) but it also proves to be the developer favorite. With over 73% of the Stack Overflow Survey respondents claiming to love it, the Python talent pool available to FinTech ventures is getting bigger every year, which in turn contributes to the increased quality of the financial applications.
Secondly, the simplicity of Python code means fewer errors and less debugging – which can be a dealbreaker in a heavily-regulated industry like FinTech. Creating a financial service is demanding and quite complicated so the more transparent the programming language the better, both for the startup owner and the dev team. Delivering impeccable financial services can be nerve-wracking in itself so less stress when coding and deploying an app is always the way to go!
The simplicity factor is inextricably linked to the short time to market. Writing a few lines of the same code in Python takes less time than if it was written in the vast majority of languages. On top of that, going for the Python/Django combination, you get to not only quickly implement the secure ready-made components but also adjust your FinTech MVP to its users’ needs. Another point for Python!
Last but not least, Python boasts a large number of open-source financial libraries that free developers from the burden of having to build separate tools and components from scratch. Here’s a quick overview of the most popular ones:
- SciPy – library for scientific and technical computing,
- NumPy – package for scientific computing,
- pandas – data analysis and manipulation tool,
- pyalgotrade, zipline – algorithmic trading libraries,
- ffn – financial function library,
- scikit-learn – machine learning library,
- finmarketpy – library for backtesting trading strategy and financial markets.
Of course, there are more ready-made libraries to use with Python regarding finances, stocks or even quantitative economics – and many of them enable integrating your FinTeach application with third-party systems via API. Nonetheless, this short list alone should give you a grasp of Python’s possibilities. The language can be used in banking services, data analysis, cryptocurrency markets, algorithmic trading, pricing, trade, and risk management.
Taking all of the above arguments into consideration, it’s safe to say that Python is simply a great choice for FinTech. Now, let’s see how this claim shows in real life by taking a closer look at how ventures are using Python to fuel their FinTech apps.
FinTech apps and startups based on Python
The sheer number of FinTech startups all around the globe in 2019 proves that the industry is booming and there are, without a doubt, way more amazing and skyrocketing financial ventures than we’re able to mention in this article.
For now, however, we’d like to present you with the ones that are doing great on the market on the one hand and are focused on different areas on the other. The order is random and there are no better or worse examples – they all have diverse goals and target audiences as well as showcase diverse Python use cases.
Zopa was established in 2005 as the first peer-to-peer lending company facilitating taking loans by cutting out banks and other middlemen from the process. The company offers personal loans from £1,000 and £25,000 whereby the total amount of money is split across multiple loans so that no one is lent more than 1% of the initial investment. Since its inception, Zopa has lent as much as £5 billion to over 470 thousand Britons. What’s more, in December 2018, it was recognized by the FCA as a bank.
Regarding technical features, Zopa is fuelled by Python, C#, and Java – the former being used to implement sophisticated algorithmic models. The company’s dev team has built a machine-learning stack that runs on Python and is based on open source tools like jupyter, Pandas, and scikit-learn.
Stealing from the rich and giving to the poor? Kind of. With Robinhood, buying and selling stocks without trading fees gets easy – not only for the affluent but also for regular human beings. In 2018, the app was enriched with cryptocurrency functionality. As of today, Robinhood Crypto allows you to sell Bitcoin, Ethereum, and Dogecoin round the clock. It's worth noting that you don’t get additionally charged for the transaction.
As far as Robinhood’s tech stack is concerned, the venture used Python and Django during the app building process. What’s more, if you look at its job postings, both the backend programming language and its framework are high in demand at Robinhood.
Next on our list is Affirm, an American FinTech unicorn that poses an alternative to credit cards and loans. How does it work? First, the user chooses a product they wish to buy. Secondly, they are presented with a couple of payment options and schedules calculated on the basis of their credit score. Finally, the Affirm app reminds the user to pay up the installments on time.
Affirm tech stack includes Python which the company’s Data Science team uses together with frameworks for machine learning and data science like scikit-learn, pandas, and NumPy.
Social media and payment service in one? Yup, that’s Venmo. You can use it to chat with your friends, make payments in stores or transfer money to another account. It is interesting though how the idea behind the venture evolved. In 2009, when the app was released, it was simple: split the bill between friends for shared services like having lunch together, going out for a drink, or paying for a taxi. Currently, it’s been converted into a full-fledged payment system powered by PayPal.
Probably not surprisingly, Venmo’s tech stack is based on Python and Django. Other solutions include Firebase, ExpressJS, or MongoDB.
Figo was established in 2012 as a German banking-as-a-service platform that enabled its customers to connect with over 3000 banks and other financial institutions via API. Banks that used figo could offer their customers access to various accounts and deposits via a single online banking system, which – from the user perspective – basically meant keeping all data is in one place.
As of early 2019, figo announced a merger with finreach, the aim of which was to provide “solutions that will put both companies in a leading role as Europe's No. 1 SaaS API platform for finance” and will help them “unlock consumer financial potential with one click”. Today, figo’s tech stack is fuelled by Python/Django combination.
Launched in 2011 and currently having 14 offices all around the globe, Stripe is a Californian company providing APIs that allow both startups and enterprises to integrate payment processing into their mobile and web apps. With the launch of Stripe Capital in the second half of 2019, the venture also started offering loans to internet businesses, thus joining the fintech-banking competition. While Stripe’s tech stack is varied, Python is said to play an important role in it.
In simple words, Qonto does for small businesses and freelancers what N26 does for individuals. It’s an application based on a subscription (starting at 9€ per month) with a Mastercard and an account with an IBAN that allows users to receive payments. According to Qonto job openings, the startup’s data team shows a result-oriented approach and uses not only Python but also Go, Ruby, Java, and C to make the service work better and smarter.
Financial areas and potential possibilities
The financial sector is huge and our list covers only a grain of it. However, in each area, there are countless possibilities for startups and small businesses emerging every day. That’s why it’s important to stress that Python can be used in online banking as well as payment systems and stock markets. Moreover, thanks to open-source libraries like Pandas, it’s quite powerful when it comes to data analysis. On top of that, it does well in the cryptocurrency market. Python developers got it all covered and our extensive guide to Python explains it in great detail.
Are you looking to bring your fintech app to the next level? See how an experienced tech partner can help you do that.