Numerical Methods for Discrete Time Models: binomial method for options; discrete time optimal control problems. Reminders on Continuous Models: Ito process and its applications in stock market, Black-Scholes equation and its solution; Hedging, Volatility smile. Monte Carlo Method for Options: generating random numbers, transformation of random variables and generating normal variates; Monte Carlo integration; pricing by Monte Carlo integration; variance reduction techniques, quasi-random numbers and quasi-Monte Carlo method. Finite Difference Methods for Options: explicit and implicit finite difference schemes, Crank-Nicolson method; Free-Boundary Problems for American options. Finite Difference Methods for Control Problems: Markov Chain approximation method, elliptic Hamiltion-Jacobi-Bellman equations, computational methods.

For further information see the academic catalog: IAM614

Course Objectives

At the end of this course, the student will learn:

  • the basics of fixed income securities and portfolio optimisation under discrete time models
  • European and American type option pricing via Binomial (Lattice or Tree) method
  • how to derive and solve the famous Black-Scholes differential equation for options
  • Monte Carlo methods and variance reduction techniques in option pricing
  • to generate pseudo-random numbers from a given distribution, in particular, normal distribution
  • the basics of numerical solutions of stochastic differential equations, Euler-Maruyama scheme
  • finite-difference methods to solve partial differential equations (PDEs) and apply the techniques in valuation of options
  • the basic principles of pricing American options using PDEs and hence free boundary problems
  • basic principles of control problems

Course Learning Outcomes

Student, who passed the course satisfactorily will be able to:

  • apply basic optimisation algorithms to portfolio management and optimisation problems
  • approximately price simple as well as complex (exotic) options by Binomial method
  • use the famous Black-Scholes pricing formulae for vanilla options that are European type
  • simulate stochastic differential equations using Euler-Maruyama scheme
  • price options by Monte Carlo approach with variance reduction techniques
  • price European and American options using finite difference approximation for the underlying PDE
  • understand basic principles of control problems

Instructional Methods

The following instructional methods will be used to achieve the course objectives: lecture, questioning, discussion, group work, simulation.

Tentative Weekly Outline

  1.  Fixed Income Securities
  2. Portfolio Optimisation
  3. Option Pricing by Binomial Method
  4. Stochastic Differential Equations
  5. Black-Scholes PDE and Formulae
  6. Generating Random Samples (Numbers)
  7. Black-Scholes PDE and Formulae
  8. Monte Carlo Methods for Options
  9. Variance Reduction Techniques
  10. Finite-Difference Methods for Diffusion Equations
  11. Option Pricing by Partial Differential Equations
  12. Finite Difference Methods for American Options
  13. Finite Difference Methods for Control Problems
  14. Hamilton-Jacobi-Bellman Equations

Course Textbook(s)

Uğur, Ö., An Introduction to Computational Finance, Imperial College Press, 2009

Seydel, R., Tools for Computational Finance, 5th edition, Springer-Verlag, 2012

Course Material(s) and Reading(s)


Lecture Notes will be available on ODTUClass (Moddle)


Deriving the solutions for European vanilla options from the Black-Scholes PDE: Chapter 4, The Black-Scholes Equation (Uğur, Ö., Introdution to Computational Finance, Imperial College Press, 2009)

Paolo Brandimarte, Numerical Methods in Finance and Economics (2nd ed.), 2006


If not all, most of the programming will be by using MATLAB language. See the website,, for more about the software.

A Short introduction to MATLAB is also available on the author's website,, of the textbook, An Introduction to Computational Finance


MATLAB programs (m-files) of the textbook, An Introduction to Computational Finance, can be obtained from the author's website:

There are other software, in place of MATLAB, that are available for free:

  • Scilab: Scilab is a scientific software package for numerical computations providing a powerful open computing environment for engineering and scientific applications
  • Octave: GNU Octave is a high-level language, primarily intended for numerical computations