Python for Finance


Over the last couple of years the financial industry has adopted Python as one of the most useful programming languages for analyzing data., building models, conducting simulations, visualizations, making machine learning and deep learning systems to analyse time series and make predictions. It increases the reproductivity of your work and will it for you very easy to work with spreadsheets and other type of files.

There are other languages such as R, which is a domain specific statistical language with numerous packages and function some that are not present in Python. Even though in the last couple of years its relative usage has declined (see here: . The popularity of Python has significantly increased and has been adopted as the introductory programming language in the university.

This article will present resources such as online courses and books for study. Provided that you would like to add something you may write to me:

Most of the books can be downloaded for free from some of those links present in this article:

For the books here are some of the most useful:

Here are some suggestion for courses:

Coursera. This courses are academic and usually require some preliminary knowledge.

  • Machine Learning and Reinforcement Learning in Finance Specialization . This specialization is not basic to be noted.

    The main goal of this specialization is to provide the knowledge and practical skills necessary to develop a strong foundation on core paradigms and algorithms of machine learning (ML), with a particular focus on applications of ML to various practical problems in Finance.

    The specialization aims at helping students to be able to solve practical ML-amenable problems that they may encounter in real life that include:

    (1) mapping the problem on a general landscape of available ML methods,

    (2) choosing particular ML approach(es) that would be most appropriate for resolving the problem, and

    (3) successfully implementing a solution, and assessing its performance.

  • Python and Statistics for Financial Analysis. The course combines both python coding and statistical concepts and applies into analyzing financial data, such as stock data.

  • Investment Management with Python and Machine Learning Specialization. The Data Science and Machine Learning for Asset Management Specialization has been designed to deliver a broad and comprehensive introduction to modern methods in Investment Management, with a particular emphasis on the use of data science and machine learning techniques to improve investment decisions.By the end of this specialization, you will have acquired the tools required for making sound investment decisions, with an emphasis not only on the foundational theory and underlying concepts, but also on practical applications and implementation. Instead of merely explaining the science, we help you build on that foundation in a practical manner, with an emphasis on the hands-on implementation of those ideas in the Python programming language through a series of dedicated lab sessions.​

EdX. This courses are mostly academic. Although there are a lot of courses in Python they are not specially for finance.

Udemy. This courses are not academic, but some do provide qualitative content.

  • Python for Finance: Investment Fundamentals & Data Analytics  If you are a complete beginner and you know nothing about coding, don’t worry! We start from the very basics. The first part of the course is ideal for beginners and people who want to brush up on their Python skills. And then, once we have covered the basics, we will be ready to tackle financial calculations and portfolio optimization tasks.

  • Python for Time Series Data Analysis This course will teach you everything you need to know to use Python for forecasting time series data to predict new future data points.

  • Python for Financial Analysis and Algorithmic Trading This course will guide you through everything you need to know to use Python for Finance and Algorithmic Trading! We’ll start off by learning the fundamentals of Python, and then proceed to learn about the various core libraries used in the Py-Finance Ecosystem, including jupyter, numpy, pandas, matplotlib, statsmodels, zipline, Quantopian, and much more!

  • Algorithmic Trading & Quantitative Analysis Using Python Build a fully automated trading bot on a shoestring budget. Learn quantitative analysis of financial data using python. Automate steps like extracting data, performing technical and fundamental analysis, generating signals, backtesting, API integration etc. You will learn how to code and back test trading strategies using python. The course will also give an introduction to relevant python libraries required to perform quantitative analysis. The USP of this course is delving into API trading and familiarizing students with how to fully automate their trading strategies.

  • Algorithmic Trading: Backtest, Optimize & Automate in Python This course is taught by a Quant (and the CEO of a Proprietary Trading Firm) as well as a Python/Cryptocurrency Instructor.

  • Financial Derivatives: A Quantitative Finance View The role of a quantitative analyst in an investment bank, hedge fund, or financial company is an attractive career option for many quantitatively skilled professionals working in finance or other fields like data science, technology or engineering.  If this describes you, what you need to move to the next level is a gateway to the quantitative finance knowledge required for this role that builds on the technical foundations you have already mastered.

  • Time Series Analysis in Python 2019  This course will teach you the practical skills that would allow you to land a job as a quantitative finance analyst, a data analyst or a data scientist.

  • Credit Risk Modeling in Python 2019 . The only online course that teaches you how banks use data science modeling in Python to improve their performance and comply with regulatory requirements. This is the perfect course for you, if you are interested in a data science career.


Datacamp. This courses are not academic but are interactive, usually short and they have a subscription program with courses mostly in R and Python.


  • Intro to Portfolio Risk Management in Python This course will teach you how to evaluate basic portfolio risk and returns like a quantitative analyst on Wall Street. This is the most critical step towards being able to fully automate your portfolio construction and management processes. Discover what factors are driving your portfolio returns, construct market-cap weighted equity portfolios, and learn how to forecast and hedge market risk via scenario generation.​


  • Fraud Detection in Python A typical organization loses an estimated 5% of its yearly revenue to fraud. In this course, you will learn how to fight fraud by using data. For example, you’ll learn how to apply supervised learning algorithms to detect fraudulent behavior similar to past ones, as well as unsupervised learning methods to discover new types of fraud activities. Moreover, in fraud analytics you often deal with highly imbalanced datasets when classifying fraud versus non-fraud, and during this course you will pick up some techniques on how to deal with that. The course provides a mix of technical and theoretical insights and shows you hands-on how to practically implement fraud detection models. In addition, you will get tips and advice from real-life experience to help you prevent making common mistakes in fraud analytics.

  • Time Series with Python What do CO2 levels, unemployment rates, stock prices, and heartbeat sounds have in common? They are all time series data used in this course! You’ll encounter time series data in every domain, so working with these datasets is a key data science skill. This track covers the core techniques necessary to manipulate, interpret, and extract insights from time series data. By the end of this track, you’ll know how to predict time series data using statistical and machine learning models.
  • Credit Risk Modeling in Python If you’ve ever applied for a credit card or loan, you know that financial firms process your information before making a decision. This is because giving you a loan can have a serious financial impact on their business. But how do they make a decision? In this course, you will learn how to prepare credit application data. After that, you will apply machine learning and business rules to reduce risk and ensure profitability. You will use two data sets that emulate real credit applications while focusing on business value. Join me and learn the expected value of credit risk modeling!

  • Intro to Financial Concepts using Python Understanding the basic principles of finance is essential for making important financial decisions ranging from taking out a student loan to constructing an investment portfolio. Combining basic financial knowledge with Python will allow you to construct some very powerful tools. You’ll come out of this course understanding the time value of money, how to compare potential projects and how to make rational, data-driven financial decisions.

  • Introduction to Portfolio Analysis in Python Have you ever had wondered whether an investment fund is actually a good investment? Or compared two investment options and asked what the difference between the two is? What does the risk indicator of these funds even mean? Or do you frequently work with financial data in your daily job and you want to get an edge? In this course, you’re going to get familiar with the exciting world of investing, by learning about portfolios, risk and return, and how to critically analyze them. By working on actual historical stock data, you’ll learn how to calculate meaningful measures of risk, how to break-down performance, and how to calculate an optimal portfolio for the desired risk and return trade-off. After this course, you’ll be able to make data-driven decisions when it comes to investing and have a better understanding of investment portfolios.

  • Intro to Python for Finance The financial industry is increasingly adopting Python for general-purpose programming and quantitative analysis, ranging from understanding trading dynamics to risk management systems. This course focuses specifically on introducing Python for financial analysis. Using practical examples, you will learn the fundamentals of Python data structures such as lists and arrays and learn powerful ways to store and manipulate financial data to identify trends.

  • Financial Forecasting in Python In Financial Forecasting in Python, you will step into the role of CFO and learn how to advise a board of directors on key metrics while building a financial forecast, the basics of income statements and balance sheets, and cleaning messy financial data. During the course, you will examine real-life datasets from Netflix, Tesla, and Ford, using the pandas package. Following the course, you will be able to calculate financial metrics, work with assumptions and variances, and build your own forecast in Python!

  • Machine Learning for Finance in Python Time series data is all around us; some examples are the weather, human behavioral patterns as consumers and members of society, and financial data. In this course, you’ll learn how to calculate technical indicators from historical stock data, and how to create features and targets out of the historical stock data. You’ll understand how to prepare our features for linear models, xgboost models, and neural network models. We will then use linear models, decision trees, random forests, and neural networks to predict the future price of stocks in the US markets. You will also learn how to evaluate the performance of the various models we train in order to optimize them, so our predictions have enough accuracy to make a stock trading strategy profitable.

This courses are not enough you will have to learn much more mathematics and statistics to understand them in depth but are a good start. Another interesting thing to check is Sentiment Analysis that could be used to explore the expectations of investors, even though this is a separate topic about Natural Language Processing for more information check this article:

Share this

One thought on “Python for Finance

Leave a Reply