Revised Sept 24, 2015

Watch a video introduction to this course on YouTube.

This course provides an overview of modern numerical algorithms used in financial applications.

- 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.

- Winter

- 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.

- MatLab

- R. Seydel, Springer,
*Tools for Computational Finance,*2012 - Printed Course Notes

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

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

- Two state lattice for no-arbitrage option pricing and hedging
- Modelling asset prices: Brownian motion

- Discrete random walk on a lattice
- Convergence to continuous Brownian motion
- No-arbitrage lattice methods for pricing European/American option

- 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

- 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

- Basic finite difference methods
- Explicit and implicit methods, stability
- American options
- Equivalence of lattice and explicit finite difference methods
- Positive coefficient methods

- Methods for constructing the efficient frontier
- Formulation as an optimal stochastic control problem
- Numerical solution of the nonlinear Hamilton Jacobi Bellman PDE

David R. Cheriton School of Computer Science

University of Waterloo

Waterloo, Ontario, Canada N2L 3G1

Tel: 519-888-4567 x33293

Fax: 519-885-1208

Contact | Feedback: cs-webmaster@cs.uwaterloo.ca | David R. Cheriton School of Computer Science | Faculty of Mathematics