# Financial Data Analysis Using Pandas, Scipy and Matplotlib

## Duration: 5 Days

## Course Background

This course focuses on the theory and techniques for analysing financial data using Python and Python packages for data analysis and data visualisation. It is aimed at both beginning Financial Analysts who need to get up to speed with Python and statisticians and programmers who need an introduction to the essential theory and models underpinning financial analysis and to practical analysis and financial analysis application development in Python. The course begins with an intensive overview of Pythonic techniques for statistical and exploratory data analysis and visualisation and data analysis. The applied part of the course starts from a presentation of the basics of financial data, use of summary statistics and visualization methods. Subsequent sections cover the basics of time series analysis and simple econometric models for business, finance, and economics. Finally the course covers more advanced topics such as exponential smoothing for forecasting, methods for model comparison , methods for calculating asset volatility and applying various volatility models, high-frequency financial data and associated models for price changes, trading intensity, and realized volatility. Quantitative methods for risk management, such as value at risk and conditional value at risk and econometric and statistical methods for risk assessment based on extreme value theory and quantile regression.

## Course Prerequisites and Target Audience

Attendees are expected to have some experience of econometric concepts and ideas as well as basic statistics and to have a sound knowledge of basic Python programming.

## Course Outline

- An intensive introduction to Python for Econometrics, Statistics and Data Analysis
- Overview and history of Python
- Overview of basic statistics and data analysis
- Intensive overview of Python programming
- Overview of NumPy, SciPy, and PyTables
- Data visualisation in Python - Chaco and Matplotlib
- Compiling Python to native code using Numba
- Overview of Continuum Analytics Anaconda
- The nature of financial data and its analysis
- Key concepts - asset returns, bond yields and bond pricing
- Implied volatility
- A tour of the Python packages for statistical data analysis
- Interfacing Python with R
- Distribution oriented aspects of Returns
- Financial data visualisation in Python
- Multivariate returns
- Linear models for financial time series and modeling of financial time series in Python
- Stationarity, Correlation and Autocorrelation
- Linear time series and white noise
- Autoregression (AR) models
- Moving Average (MA) models
- ARMA (Autoregressive Moving Average) models
- Random walks and Unit-Root nonstationary models
- Exponential smoothing
- Time Series Errors in Regression Models
- Model comparison and model averaging
- Asset Volatility - Modeling and Analysis in Python
- The nature of volatility
- Asset volatility models
- AutoRegressive Conditional Heteroskedasticity (ARCH) and GARCH (generalised ARCH) time series models
- Stochastic volatility models
- Working with High Frequency Data
- Working with Daily Open, High, Low, and Close Prices
- Applied Volatility Modeling
- Understanding volatility term structure in ARCH
- Option pricing and hedging
- Time variance portfolios
- Value at Risk (VAR) - Concepts and Analysis
- Value at Risk and Expected Shortfall
- Overview of Risk Measures and associated Econometric principles
- Quantile Estimation
- Extreme value theory - and its application to VAR
- Peaks over Threshold approaches
- Stationary Loss Processes