Python for Finance
This is a course for financial analysts, traders, risk analysts, fund managers, researchers, data scientists, statisticians, and software developers interested in learning to use Python for analysing and visualising financial market data.
Some familiarity with programming concepts (in any language) is assumed.
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.
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.
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)
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.
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.
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.
We are happy to customise the above syllabus upon request to include other topics.
We will supply you with printed course notes and a USB stick containing a complete Python environment based on VirtualBox. This saves time in the course and allows us to focus on using Python rather than installing it.
The USB stick also contains kitchen-sink Python installers for multiple platforms, solutions to the programming exercises, several written tutorials, and reference documentation on Python and the third-party packages covered in the course.
- Personal help:
- Your trainer(s) will be available after the course each day for you to ask any one-on-one questions you like — whether about the course material and exercises or about specific problems you face in your work and how to use Python to solve them.
- Food and drink:
- We provide lunch, morning and afternoon tea, and drinks in our open courses.
- The course will run from 9:00 to roughly 17:00 each day, with a breaks of 45 minutes for lunch and 15 minutes each for morning and afternoon tea.
24/07/2017 at Sydney
We also offer custom courses on-site for teams within organisations. These are particularly appropriate if your team uses particular tools or data sources in its workflow. Please contact us to discuss your requirements.