Sn | Topics |
Finance basics with Python | |
01 | Setting up Python Infrastructure Anaconda installation Exploring Jupyter |
02 | Arithmetic operations Basic operators Using the ‘math’ library |
03 | Data Structure Int, float, bool, string Tuple, list, set, dictionary |
04 | Object Oriented Programming Functions Class PythonLab – Create a Custom Class for Black Scholes Option Price and Greeks |
05 | Numerical computing with NumPy Lists vs NumPy arrays Indexing Vectorization Linear algebra Python Lab – Create a Custom Class for Multiple Linear Regression |
06 | Data Analysis with Pandas The DataFrame Class Data pre-processing Basic Analytics Basic Visualization Concatenation, Joining & Merging Pivot Table |
07 | Data Visualization with Matplotlib, Seaborn & Cufflinks 2D plots (Scatter, line chart, column chart, bar chart, histograms) 3D plots (3D scatter, Surface plots, Contour plots) Financial Plots (Candle stick, Bollinger bands) |
08 | Calculus Limits & Derivatives Integration ODEs / PDEs using SciPy. Python Lab – Solving the heat equation |
09 | Numerical Integration Riemann Integral Trapezoidal method Simpson’s method Gaussian Quadrature Python Lab – Custom class to find CDF of normal distribution using numerical integration |
10 | Probability & Statistics with SciPy Discrete distributions (Bernoulli, Binomial, Poisson, Uniform) Continuous distributions (Normal, T, lognormal, Chi-squared, F) Python Lab – Custom Class for numerical computation of Expectation and Variance |
11 | Univariate Financial Time Series Analysis with Statsmodels Prices and Returns Moments (Mean, Variance, Skewness, Kurtosis) Correlation & Covariance ACF, PACF AR, MA, ARMA, ARIMA models Stationarity & Unit root tests Regression with ARMA errors Cointegration Seasonality Excel & Python Lab – Custom class to perform Box-Jenkins methodology to fit the best model. |
12 | Multivariate Financial Time Series Analysis with Statsmodels VAR VECM Excel & Python Lab – Joint forecasting of macro-economic time series |
13 | Conditional Volatility Models EWMA GARCH Excel & Python Lab – Custom Class for Value-at-Risk under different volatility models |
14 | Monte Carlo Methods Generating Random numbers Value of PI using Monte Carlo Solving an integral with Monte Carlo Acceptance Rejection Method Conditional Monte Carlo Variance Reduction techniques (Antithetic Sampling, Control Variate) Low discrepancy sequence (Halton, Sobol) |
15 | Copula Models Copula definition and properties Gaussian and T copula Archimedean Copula Excel & Python Lab – Simulating default times for a nth to default basket CDS. . |
Stochastic Calculus for Finance | |
01 | Stochastic process Random Walk process Wiener process Named stochastic process (ABM, GBM, OU) Conditional Expectation Martingales & Markov properties Ito’s Lemma Ito Isometry Ito Integral Estimation & Calibration |
02 | Change of Measure Probability, Sigma Algebra, Filtration Tower property Radon Nikodym derivative Girsanov theorem Excel & Python Lab – ABM, GBM, OU |
Equity Derivatives | |
01 | Binomial Asset Pricing Model Stock price model Valuing a European Option Replicating strategy Delta-hedging strategy Risk neutral expectation Value an American Option Option with dividends Excel & Python Lab – Custom Class for pricing an option using binomial tree model |
02 | Black Scholes Derivation of BSM PDE Formula for European Option Price and Greeks |
03 | Jump Process Jumps in Asset Dynamics Exponential Levy process Variance Gamma process Characteristic Function Fast Fourier transform for Option pricing |
04 | Finite Difference Methods for Option pricing Explicit Scheme Implicit Scheme Crank Nicolson Stability Analysis Excel & Python Lab – Price first generation exotics using Finite Difference |
05 | Monte Carlo methods for Option pricing Fundamental theorem of Asset pricing Feynman-Kac theorem Simulating GBM (Euler Scheme, Milstein Scheme, Explicit Scheme) Pricing First generation exotics using MCS. Least Square Monte Carlo for Bermudan Options Fast Monte Carlo Greeks (pathwise & likelihood ratio methods) Excel & Python Lab – Custom class for Exotic pricing and Greeks |
06 | Volatility Surface Historical volatility, Local volatility, Implied Volatility Term Structure, Smile, Surface Dupire Local volatility model Stochastic volatility models (SABR, Heston) Excel & Python Lab – Custom class for pricing under Heston and SABR models |
Interest Rate & FX Derivatives | |
01 | Rates and Rate Instruments Spot vs forward Short rates vs instantaneous forward rates Term structure concepts Fundamental theorem of asset pricing Bank account & zero-coupon bond Coupon bond (fixed, floating) FRAs, Swaps, CMS Excel & Python Lab – valuation of Bonds, FRAs and Swaps |
02 | Term Structure Models Short rate models (Vasicek, CIR) No Arbitrage Models (Ho Lee, Hull-White I, Hull-White II) The HJM framework Market Models (BGM) |
02 | Options on rates The Black-76 model. Caps & Floors Swaptions Excel & Python Lab – Calibration of swaption volatility surface |
03 | FX Instruments FX forward FX option FX swap Cross Currency Interest rate swap Excel & Python Lab – Pricing of FX derivatives with volatility smile Excel & Python Lab – CVA calculation for a portfolio of derivatives |
Quantitative Portfolio Management | |
01 | Portfolio Theory & Optimization Modern Portfolio Theory CAPM Mean Variance Optimization Black Litterman Excel & PythonLab – A real life portfolio optimization problem Excel & Python Lab – Implementation of Pairs-trading (A statistical arbitrage trading strategy) |
Machine Learning for Finance | |
01 | Traditional Supervised algorithms using Scikit Learn Logistic Regression for predicting default. Support Vector Machines for anomaly detection Naïve Bayes for Sentiment Classification Ensemble methods (Bagging, Boosting) for LGD |
02 | Traditional Unsupervised algorithms using Scikit Learn PCA based value at risk for an interest rate portfolio. K means clustering for volatility regime |
03 | Deep Learning with Tensorflow Artificial Neural Network for Option Price LSTM for stock price prediction Building a Trading strategy with Reinforcement learning (OpenAI Gym) |