Numerical methods

Objectives and Learning Outcomes

The aim of the course is to provide a comprehensive and mathematically rigorous introduction to Monte Carlo and finite difference methods for pricing financial options and for evaluating their sensitivities to various input parameters. At the end of the course, the student should have a thorough understanding of the basic theory behind Monte Carlo and finite difference methods and be able to implement them for standard applications.


Monte Carlo estimation. Central Limit Theorem. Confidence intervals. Generation of random numbers. Variance reduction and the estimation of Greeks. Euler-Maruyama approximation of Stochastic Differential Equations. Quasi Monte Carlo method. Regression-based methods for early exercise options. Finite differences for the heat equation. Explicit Euler time stepping. Explicit, implicit and Crank-Nicolson schemes. Implementation issue and numerical experiments. Consistency and stability; implicit and Crank-Nicolson schemes; sensitivities; boundary conditions.


Generating random numbers in R and/or Python. Implementation of Monte Carlo simulations in R and/or Python for various stochastic processes. Pricing American options using regression-based Monte Carlo method. Numerical experiments with heat equations. Testing consistency and stability. Implementation of implicit and Crank-Nicolson schemes in R and/ or Python. Implementation of different boundary conditions (European vs American options). Optimal exercise curve for American options.