Let us help you find the training program you are looking for.

If you can't find what you are looking for, contact us, we'll help you find it. We have over 800 training programs to choose from.

banner-img

Course Skill Level:

Foundational

Course Duration:

4 day/s

  • Course Delivery Format:

    Live, instructor-led.

  • Course Category:

    Big Data & Data Science

  • Course Code:

    PYTFINL21E09

Who should attend & recommended skills:

Beginners with basic Python experience

Who should attend & recommended skills

  • This course is designed for beginners who want to learn and implement various Quantitative Finance concepts using the popular Python libraries.
  • Skill-level: Foundation-level Python for Finance skills for Intermediate skilled team members. This is not a basic class.
  • Python: Basic (1-2 years’ experience)

About this course

This course uses Python as its computational tool. Since Python is free, any school or organization can download and use it. This course is organized according to various finance subjects. In other words, the first edition focuses more on Python, while this edition is truly trying to apply Python to finance. The course starts by explaining topics exclusively related to Python. Then we deal with critical parts of Python, explaining concepts such as time value of money stock and bond evaluations, capital asset pricing model, multi-factor models, time series analysis, portfolio theory, options and futures. This course will help us to learn or review the basics of quantitative finance and apply Python to solve various problems, such as estimating IBM’s market risk, running a Fama-French 3-factor, 5-factor, or Fama-French-Carhart 4 factor model, estimating the VaR of a 5-stock portfolio, estimating the optimal portfolio, and constructing the efficient frontier for a 20-stock portfolio with real-world stock, and with Monte Carlo Simulation. Later, we will also learn how to replicate the famous Black-Scholes-Merton option model and how to price exotic options such as the average price call option.

Skills acquired & topics covered

  • Understanding the fundamentals of Python data structures and working with time-series data
  • Implementing key concepts in quantitative finance using popular Python libraries such as NumPy, SciPy, and matplotlib
  • A step-by-step tutorial packed with many Python programs that will help you learn how to apply Python to finance
  • Becoming acquainted with Python in the first two chapters
  • Running CAPM, Fama-French 3-factor, and Fama-French-Carhart 4-factor models
  • How to price a call, put, and several exotic options
  • Monte Carlo simulation, how to write a Python program to replicate the Black-Scholes-Merton options model, and how to price a few exotic options
  • The concept of volatility and how to test the hypothesis that volatility changes over the years
  • The ARCH and GARCH processes and how to write related Python programs

Course breakdown / modules

  • Python installation
  • Variable assignment, empty space, and writing our own programs
  • Writing a Python function
  • Python loops
  • Data input
  • Data manipulation
  • Data output

  • What is a Python module?
  • Introduction to NumPy
  • Introduction to SciPy
  • Introduction to matplotlib
  • Introduction to statsmodels
  • Introduction to pandas
  • Python modules related to finance
  • Introduction to the pandas_reader module
  • Two financial calculators
  • How to install a Python module
  • Module dependency

  • Introduction to time value of money
  • Writing a financial calculator in Python
  • Definition of NPV and NPV rule
  • Definition of IRR and IRR rule
  • Definition of payback period and payback period rule
  • Writing your own financial calculator in Python
  • Two general formulae for many functions

  • Diving into deeper concepts

  • Introduction to interest rates
  • Term structure of interest rates
  • Bond evaluation
  • Stock valuation
  • A new data type – dictionary

  • Introduction to CAPM
  • Moving beta
  • Adjusted beta
  • Extracting output data
  • Simple string manipulation
  • Python via Canopy

  • Introduction to the Fama-French three-factor model
  • Fama-French three-factor model
  • Fama-French-Carhart four-factor model and Fama-French five-factor model
  • Implementation of Dimson (1979) adjustment for beta
  • Performance measures
  • How to merge different datasets

  • Introduction to time-series analysis
  • Merging datasets based on a date variable
  • Understanding the interpolation technique
  • Tests of normality
  • 52-week high and low trading strategy
  • Estimating Roll’s spread
  • Estimating Amihud’s illiquidity
  • Estimating Pastor and Stambaugh (2003) liquidity measure
  • Fama-MacBeth regression
  • Durbin-Watson
  • Python for high-frequency data
  • Spread estimated based on high-frequency data
  • Introduction to CRSP

  • Introduction to portfolio theory
  • A 2-stock portfolio
  • Optimization – minimization
  • Forming an n-stock portfolio
  • Constructing an optimal portfolio
  • Constructing an efficient frontier with n stocks

  • Introducing futures
  • Payoff and profit/loss functions for call and put options
  • European versus American options
  • Black-Scholes-Merton option model on non-dividend paying stocks
  • Generating our own module p4f
  • European options with known dividends
  • Various trading strategies
  • Put-call parity and its graphic presentation
  • Binomial tree and its graphic presentation
  • Hedging strategies
  • Implied volatility
  • Binary-search
  • Retrieving option data from Yahoo! Finance
  • Volatility smile and skewness

  • Introduction to VaR
  • Normality tests
  • Skewness and kurtosis
  • Modified VaR
  • VaR based on sorted historical returns
  • Simulation and VaR
  • VaR for portfolios
  • Backtesting and stress testing
  • Expected shortfall

  • Importance of Monte Carlo Simulation
  • Generating random numbers from a standard normal distribution
  • Generating random numbers with a seed
  • Generating random numbers from a uniform distribution
  • Using simulation to estimate the pi value
  • Generating random numbers from a Poisson distribution
  • Selecting m stocks randomly from n given stocks
  • With/without replacements
  • Distribution of annual returns
  • Simulation of stock price movements
  • Graphical presentation of stock prices at options’ maturity dates
  • Replicating a Black-Scholes-Merton call using simulation
  • Liking two methods for VaR using simulation
  • Capital budgeting with Monte Carlo Simulation
  • Python SimPy module
  • Comparison between two social policies – basic income and basic job
  • Finding an efficient frontier based on two stocks by using simulation
  • Constructing an efficient frontier with n stocks
  • Long-term return forecasting
  • Efficiency, Quasi-Monte Carlo, and Sobol sequences

  • Introduction to credit risk analysis
  • Credit rating
  • Credit spread
  • YIELD of AAA-rated bond, Altman Z-score
  • Using the KMV model to estimate the market value of total assets and its volatility
  • Term structure of interest rate
  • Distance to default
  • Credit default swap

  • European, American, and Bermuda options
  • Chooser options
  • Shout options
  • Binary options
  • Rainbow options
  • Pricing average options
  • Pricing barrier options
  • Barrier in-and-out parity
  • Graph of up-and-out and up-and-in parity
  • Pricing lookback options with floating strikes

  • Volatility, Implied Volatility, ARCH, and GARCH
  • Conventional volatility measure – standard deviation
  • Tests of normality
  • Estimating fat tails
  • Lower partial standard deviation and Sortino ratio
  • Test of equivalency of volatility over two periods
  • Test of heteroskedasticity, Breusch, and Pagan
  • Volatility smile and skewness
  • Graphical presentation of volatility clustering
  • The ARCH model
  • Simulating an ARCH (1) process
  • The GARCH model
  • Simulating a GARCH process
  • Simulating a GARCH (p,q) process using modified garchSim()
  • GJR_GARCH by Glosten, Jagannanthan, and Runkle