A specialist 3 day course in Python for Finance.
Dates: Monday 23 - Wednesday 25 January 2017
Prerequisites: The course requires some familiarity with programming concepts.
Overview: By the end of the course, you will have all the knowledge you need to start using Python competently for processing, analysing, modelling, and visualising various kinds of financial data, with a focus on time series. You will have had experience with using Python for various scripting, data-manipulation and plotting tasks with data in a variety of formats, including CSV, Excel spreadsheets, SQL databases, JSON, and API endpoints, as well as log files and unstructured text. You will have applied powerful tools for optimisation, regression, classification, and clustering, in useful practical settings on small and large data sets. You will understand the elegance and power of the Python language and its powerful ecosystem of packages for data analysis, and you will be well-placed to continue learning more as you use it day-to-day.
Format: The course is a mixture of hands-on exercises and instruction from experts. Places are strictly limited to ensure there is plenty of hands-on help available for the exercises.
Day 1: Python Basics
Day 1 covers how to use Python for basic scripting and automation tasks, including tips and tricks for making this easy. The syllabus is as follows:
- Why use Python for finance? What’s possible? Python versus Java, C#, R, Matlab …
- Setting up your Python development environment (IDE, IPython notebook)
- Python syntax and concepts: an introduction through examples, including
- Essential data structures: strings, tuples, lists, dictionaries and sets, and their applications
- Input and output of text data (including CSV files)
- String methods
- Raising and handling exceptions
- Tour of the amazing standard library, including
- Handling dates and times
- Fetching data from the web
- Compressing and uncompressing data
Day 2: Essential analytic tools and data formats
The Pandas package is an amazingly productive tool for working with and analysing data in Python. Day 2 gives a thorough introduction to Pandas and related tools for working with different kinds of data, including spreadsheets, time-series data, and SQL databases. The syllabus is:
- Fast, powerful data analysis with Pandas: Indexing, grouping, merging, reshaping, pivoting, summarising data
- Intro to NumPy for efficiently handling numerical data
- Working with missing and noisy data
- Working with essential financial data formats: CSV, Excel, SQL, JSON, HDF5, XML (as needed)
- Statistical graphics and visualisation of data using Pandas, Matplotlib, and Seaborn
Day 3: Analysing and presenting financial data
Day 3 focuses on techniques for modelling and visualising financial time-series data and creating reports. It also introduces some of the most fundamental and powerful Machine Learning techniques for analysing many kinds of real-world data in Python: classification, regression, and clustering. The syllabus is:
- Regression and time-series analysis with Pandas, SciPy and Statsmodels
- Introduction to machine learning with scikit-learn for time-series data:
- Classification with scikit-learn, with application to diagnosis and prediction
- Linear and nonlinear regression with statsmodels and scikit-learn, with application to quality assessment and forecasting
- Clustering of data using scikit-learn, with application to outlier detection
We also encourage you to bring your own data sets to the course where relevant.