Make sure this course is right for you.
Get unbiased reviews and personalized recommendations.
Who should attend
This course is ideal for financial analysts, business analysts, portfolio analysts, quantitative analysts, risk managers, model validators, quantitative developers and information systems professionals. Taking either the beginner level course or having a basic understanding of the Python language is a prerequisite to attending this course. We expect participants to have a basic knowledge of finance and basic notions of programming as well.
About the course
This course offers a continuation of the introductory course in Python by providing a more in-depth examination of key packages within the context of financial applications. In particular, it explores in further detail the Pandas data analysis package, using Python optimization tools to calibrate models to data, and gives an overview of the scikit-learn predictive modeling package.
Key Learning Outcomes
- Use Pandas, numpy, scipy, and scikit-learn to work with data, build and calibrate models, and plot results in a Python framework
- Develop a set of practical data analysis and modeling skills that may be used to solve problems that arise in the regular workflow of a financial analyst
- Understand how to use Python optimization tools to fit models to data, determine optimal asset allocations, and identify optimal hedging strategies
- Understand the typical full development lifecycle of importing data, implementing a model, fitting the model to data, and producing summary statistics and associated visualizations within a Python based framework
- Briefly review Python IDE options/setup and package management
- Survey finance use cases of major Python packages including pandas, numpy,
- statsmodels, matplotlib, and scikit-learn
- Review Python plotting options including matplotlib and seaborn
- Review file input/output options
- Series, DataFrames, and Panels: The central pandas objects
- How to create DataFrames from files and other built in Python containers
- Filtering, interpolating, and wrangling data in Pandas DataFrames
- Rolling Operations on pandas DataFrames, e.g. moving average, volatility, etc.
- Combining and demonstrating SQL style operations on DataFrames
Pandas Applications to Finance
- Calculating daily returns, volatility, Sharpe ratio and VaR values
- Applying these calculations on a rolling basis
- Visualizing output using the pandas graphing library
- Storing equity price data in a pandas DataFrame
- Computing daily returns, covariance matrix estimation
- Defining the Markowitz portfolio objective function
- Using Python based convex optimizers to determine the optimal Markowitz portfolio
Option Pricing and Model Calibration
- Review the implementation of a black scholes option pricer
- Discuss how to calibrate the model volatility parameter from underlying stock price data
- Next consider the Heston stochastic volatility model and discuss the associated calibration procedure
- Develop plotting and reporting functions to analyze differences between these pricing models
Monte Carlo Applications
- Simulated synthetic price time series of stocks using Ito processes, and time series models, e.g. ARCH, GARCH
- Discuss examples of European and American option pricing using these time series
- Develop a Monte Carlo yield curve simulation
- Compute expected values of fixed income securities using these simulation results
- Examine variance reduction methods and further MC refinements
Developing Hedging Strategies in Python
- Review the main aims of hedging security selection and sizing
- Implement a standard minimum variance hedge and apply to a long-short equity portfolio
- Develop an optimization framework for finding optimal hedges that minimize overall portfolio return distribution variance and VaR
- Compare/contrast these different hedging techniques
Developing Predictive Models in Python
- Provide a high-level overview with classification, regression, clustering and cross validation examples of the scikit-learn machine learning package
- Demonstrate how one can extend linear regression models to LASSO, ridge, SVM regression, etc. which can result in models with enhanced predictive performance
- Review the scikit-learn framework for model and parameter selection and model validation
- Discuss clustering techniques, e.g. k-means, hierarchical clustering, and provide an associated equity clustering application
Videos and materials
Because of COVID-19, many providers are cancelling or postponing in-person programs or providing online participation options.
We are happy to help you find a suitable online alternative.