Revised Sept 24, 2015
CS 476: Numeric Computation for Financial Modeling
Watch a video introduction to this course on YouTube.
General description
This course provides an overview of modern numerical algorithms used in financial applications.
Logistics
Audience
- Usually taken in fourth year. Modern finance makes extensive use of sophisticated numerical algorithms for option pricing and hedging, risk management, and portfolio optimization. This course is beneficial for students who are in business related programs or have an interest in financial applications.
Normally available
- Winter
Related courses
- Pre-requisites: (AMATH 242/CM 271/CS 371 or CS 370) and STAT 231/241; Not open to General Mathematics students. Students who get a good grade in CS 335 may contact the CS Advisors, who will work with the instructor, to determine if the student can take the course without the formal prerequisites.
For official details, see the UW calendar.
Software/hardware used
- MatLab
Typical reference(s)
- R. Seydel, Springer, Tools for Computational Finance, 2012
- Printed Course Notes
Required preparation
At the start of the course, students should be able to
- Program in a high-level procedural programming language and use control instructions, such as loops and conditional statements, and simple data structures, such as arrays
- Perform basic mathematical computations and have knowledge of limits, partial derivatives, Taylor series, matrix computations
- Perform basic statistical analysis using concepts, such as cumulative distributions and moments of distributions
- Analyze stability and conditioning of numerical problems
Learning objectives
At the end of the course, students should be able to
- Explain the principles of no-arbitrage pricing of financial derivatives
- Perform basic manipulations using stochastic calculus
- Compute the no-arbitrage price of simple options using lattice, partial differential equation (PDE), and Monte Carlo algorithms
- Analyse the risk of hedging using a combination of Monte Carlo and PDE techniques
- Analyse the stability and convergence of PDE methods
- Compare PDE, Monte Carlo, and lattice methods in terms of the complexity versus error tradeoff
Typical syllabus
Introduction (3 hours)
- Two state lattice for no-arbitrage option pricing and hedging
- Modelling asset prices: Brownian motion
Lattice methods (6 hours)
- Discrete random walk on a lattice
- Convergence to continuous Brownian motion
- No-arbitrage lattice methods for pricing European/American option
Black-Scholes equation (3 hours)
- Basic concepts of stochastic calculus (e.g., Ito's Lemma)
- Derivation of Black-Scholes partial differential equation
- Relationship to discrete hedging on a lattice
- Newton iteration for implied volatility
Stochastic differential equations (9 hours)
- Basic idea of Monte Carlo option pricing
- Properties of random number generators, problems in high dimensions, algorithms for normally distributed random numbers
- Strong vs. weak convergence for SDEs
- Convergence properties of forward Euler and Milstein methods
- Brownian Bridge
- Correlated random numbers
Numerical solution of the Black-Scholes equation (9 hours)
- Basic finite difference methods
- Explicit and implicit methods, stability
- American options
- Equivalence of lattice and explicit finite difference methods
- Positive coefficient methods
Dynamic Portfolio optimization (6 hours)
- Methods for constructing the efficient frontier
- Formulation as an optimal stochastic control problem
- Numerical solution of the nonlinear Hamilton Jacobi Bellman PDE