Python for Finance

Course Overview

Python for Finance

Python for Finance is geared toward financial analysts and quants who would like to learn how to use Python in their day-to-day work. Exercises include filtering and plotting an array of Dow Jones closing data, calculating options pricing using Black-Scholes models, estimating volatility using GARCH, and using a Monte Carlo simulation to calculate an option price.

Day 1

Introduction to Python

The first day is devoted to understanding how to think in Python. We start by demonstrating the IPython interactive environment and how it can be used for rapid application development. The pace of this day is determined by previous exposure to Python. Even experienced Python programmers report learning new ideas from the experts that teach this course.

  • Data-types (strings, lists, dictionaries and more).
  • Syntax and language structure (if-then statements, looping).
  • Defining functions.
  • Creating and importing modules.
  • Reading and writing files.
  • Introduction to Python classes and object oriented programming
  • Handling errors

Day 2

Introduction to NumPy

The NumPy extension module to Python is exposed as a tool for rapidly manipulating and processing large data-sets.

  • Detour: plotting with matplotlib.
  • Basic operations and manipulations on N-dimensional arrays.
  • Using vectorization to process arrays with implicit loops.
  • Reading and writing arrays.
  • Indexing arrays by slicing or with more general indices or masks.
  • Understanding the N-dimensional data structure.
  • The exercises will include filtering and plotting an array of Dow Jones closing data.
  • Broadcasting of array operations.
  • Working with "structured" arrays.

Day 3

SciPy and additional topics

  • Overview of SciPy - Depending on student interest, the exercises and examples may include:
    • Calculating options pricing using Black-Scholes models.
    • Estimating volatility using GARCH.
    • Calculating implied volatility for Black-Scholes models.
    • Using a Monte Carlo simulation to calculate an option price.
    • 3D plotting with mayavi.mlab.

Day 4

Managing time-series data with NumPy and Pandas

Pandas is rapidly emerging as the tool of choice for manipulating time-series data in Python. In this module you will cover:

  • Structures for representing 1d, 2d and 3d time-series data.
  • Tools for statistical analysis of time-series data.
  • Working with missing data.
  • Aggregation methods.
  • Pivot tables.
  • Plotting timeseries data with matplotlib.
  • NumPy support for efficient representation of datetime and timedelta data.

Extending Python with other languages

  • Introduction to extension modules.
  • Cython: extension modules and wrapping C and C++.

Python for Finance
Course Schedule

For inquiries or to register call 512.536.1057

A 20% discount is available for academics currently at a degree-granting institution. Contact us at 512.536.1057 to register.


Programming experience in some language (C, VB, Fortran, Matlab) is expected. Experience with C, C++, and/or Fortran is useful for some topics. Object oriented programming skills are not necessary but will be helpful. Knowledge of calculus, statistics, signal and image processing, optimization, are all valuable but not absolutely required.

Python Training on Demand

Participants will receive 30 days of Enthought Training on Demand Python Foundations Series access following the course