Skip to content
In academic affiliation with Carnegie Mellon University
Institute of Algorithmic Tradingand Applied Computational Finance

Foundation course in programming

Python for Finance

A Python for finance course with the Python every later course assumes: loading and cleaning market data with pandas, computing returns and risk with NumPy, plotting, and writing code another person can rerun.

Python for finance is the shared language of the catalogue. Every practitioner course hands you data and asks for code, so this Python for finance course makes sure the code is not the obstacle.

What will I be able to build with Python after this course?

You will be able to take a raw file of prices, find and fix its errors, compute returns, volatility, correlation and drawdown, chart them, and run a simple strategy test that someone else can rerun and check. That is the daily work of a junior quant analyst, and it is where most mistakes in published backtests begin.

Why does this course spend so long on data cleaning?

Because market data is dirty. Prices arrive with gaps, split adjustments, stale quotes, time zones that disagree and holidays that differ between exchanges. A strategy test on uncleaned data measures the errors in the file, not the strategy. The course teaches you to look before you compute.

Who is this course for?

Analysts who work in spreadsheets and want to move to code, students starting the practitioner path, and anyone heading for the machine learning track. It counts toward the Foundation Certificate in Computational Finance and the Certificate in Machine Learning for Trading.

What you will be able to do

  • Load, clean and align daily and intraday price data from files and public sources.
  • Compute simple and log returns, rolling statistics and drawdowns with pandas and NumPy.
  • Plot prices, returns and distributions clearly enough to spot data errors.
  • Write small, tested functions instead of long notebooks.
  • Run a first moving-average strategy test and read its result with suspicion.

Syllabus, module by module

  1. Setting up

    Installing Python, managing environments, and working in notebooks and plain scripts.

  2. The language

    Types, lists, dictionaries, loops, functions and errors, using financial examples throughout.

  3. NumPy

    Arrays, vectorised arithmetic, random numbers and why loops over prices are slow.

  4. pandas for market data

    Series and DataFrames, date indexes, resampling, joins across markets and missing values.

  5. Returns and risk

    Simple and log returns, volatility, correlation, rolling windows and maximum drawdown.

  6. Plotting

    matplotlib charts for prices, return histograms and rolling statistics.

  7. Clean code

    Functions, modules, docstrings and a first unit test with pytest.

  8. A first strategy test

    A moving-average crossover, its equity curve, and the reasons not to trust it yet.

How the certificate is earned

Weekly quizzes and one graded problem set: you clean a messy multi-asset price file, compute a set of return and risk statistics, and submit a notebook that reruns from top to bottom. On a pass you receive the Course certificate in Python for Finance, issued by the Institute with a verification code. Read how certification works.

Before you start

No programming experience is required. You need a computer on which you can install software, and school algebra.

This course counts toward

Questions applicants ask

Is Python or R better for finance?

Both are used. Python is more common in trading and engineering roles because the same language runs research, data pipelines and production systems. Every IATACF course uses Python.

How long does it take to learn Python for finance?

The course is 24 hours of study. At eight hours a week that is three weeks. Fluency comes from the later courses, which all build on it.

Do I need to know finance first?

No. The financial ideas used, such as returns, volatility and drawdown, are explained when they first appear.

$390 24 hours