Accessibility statement

Numerical & Computing Techniques in Finance (Online Version) - MAT00031M

« Back to module search

  • Department: Mathematics
  • Module co-ordinator: Prof. Tomasz Zastawniak
  • Credit value: 20 credits
  • Credit level: M
  • Academic year of delivery: 2022-23

Related modules

Co-requisite modules

  • None

Prohibited combinations

  • None

Module will run

Occurrence Teaching period
A1 Autumn Term 2022-23 to Spring Term 2022-23
A2 Autumn Term 2022-23 to Summer Term 2022-23
B1 Spring Term 2022-23 to Summer Term 2022-23
B2 Spring Term 2022-23 to Spring Term 2023-24

Module aims

The aim of the module is to provide programming skills required for the implementation of mathematical models in quantitative finance. The focus will be on the C++ programming language, which is widely accepted as the main tool amongst practitioners in the financial community. The implementation of a given model rarely narrows down to the pricing of a single particular financial instrument. Most often it is possible to devise general numerical schemes which can be applied to various types of derivatives. The code should be designed so that it easily integrates with the work of other developers and can be modified by other users. The student will learn such skills by writing C++ programs designed for pricing various types of derivatives, starting from the simplest discrete time models and finishing with continuous time models based on finite difference or Monte Carlo methods.

Module learning outcomes

By the end of the module, students should:

  • be able to write comprehensive C++ programs;
  • be familiar with functions and function pointers;
  • be familiar with classes and handle virtual functions, inheritance and multiple inheritance;
  • be able to implement non-linear solvers;
  • be familiar with data structures and dynamic memory allocation;
  • understand and have experience of using class and function templates;
  • be familiar with standard numerical methods (finite difference, Monte Carlo) for solving representative problems;
  • be able to price European and American options under the CRR model;
  • be able to price American options by means of finite difference methods under assumptions of the Black Scholes model;
  • be able to price barrier and Asian options by means of Monte Carlo simulation.


Task Length % of module mark
Coursework - extensions not feasible/practicable
Coursework Assignments
N/A 100
Oral presentation/seminar/exam
Online Viva
N/A 0

Special assessment rules



Task Length % of module mark
Coursework - extensions not feasible/practicable
Coursework Assignments
N/A 100
Oral presentation/seminar/exam
Online Viva
N/A 0

Module feedback

Information currently unavailable

Indicative reading

1. K. Back, A course in Derivative Securities: Introduction to Theory and Computation.
2. D.J. Duffy, Introduction to C++ for Financial Engineers. An Object-Oriented Approach, John Wiley & Sons (2006).
3. P. Glasserman, Monte Carlo Methods in Financial Engineering.
4. M. Joshi, C++ Design Patterns and Derivatives Pricing, Cambridge University Press (2004).
5. D. Lamberton, B. Lapeyre Introduction to Stochastic Calculus Applied to Finance, Second Edition, Chapman & Hall/Crc Financial Mathematics Series.
6. P. Wilmott, Paul Wilmott Introduces Quantitative Finance, John Wiley & Sons, Chichester (2001).
7. D. Yang, C++ and Object-Oriented Numeric Computing for Scientists and Engineers.

The information on this page is indicative of the module that is currently on offer. The University is constantly exploring ways to enhance and improve its degree programmes and therefore reserves the right to make variations to the content and method of delivery of modules, and to discontinue modules, if such action is reasonably considered to be necessary by the University. Where appropriate, the University will notify and consult with affected students in advance about any changes that are required in line with the University's policy on the Approval of Modifications to Existing Taught Programmes of Study.