Skip to main content
School of Mathematical Sciences


Programme Structure

Below is a full list of all modules which we expect to be available to students on this programme across the semesters.  Please note that this list, and the contents of the individual modules, is for information only and may be subject to change. Students will take four modules each semester. The programme structure is flexible, so you can choose to focus on computational or mathematical modules, depending on your background, interests and future plans.

This programme structure is provisional, although we do not expect to make any significant changes before September 2021.

Semester A Compulsory Modules

Financial Instruments and Markets

This module first introduces you to various types of financial instruments, such as bonds and equities, and the markets in which they are traded. We then explain in detail what financial derivatives are, and how they can be used for hedging and speculation. We also look at how investors can construct optimal portfolios of assets by balancing risk and return in an appropriate way. This module will give you the practical knowledge that is essential for a career in investment banking or financial markets.

Foundations of Mathematical Modelling in Finance

This module introduces you to all of the fundamental concepts needed for your future studies in financial mathematics. After reviewing some key ideas from probability theory, we give an overview of some of the most important financial instruments, including shares, forward contracts and options. We next explain how derivative securities can be priced using the principle of no arbitrage. Various models for pricing options are then considered in detail, including the discrete-time binomial model and the continuous-time Black-Scholes model.

Topics include:

  • Review of key concepts in probability theory
  • Introduction to financial markets
  • Pricing derivatives by no-arbitrage arguments
  • Discrete-time option pricing models
  • Introduction to continuous-time stochastic processes and the Black-Scholes model

Semester A Elective Modules - Choose any two from:

Machine Learning with Python

This module will introduce you to some of the most widely-used techniques in machine learning (ML). After reviewing the necessary background mathematics, we will investigate various ML methods, such as linear regression, polynomial regression and classification with logistic regression. The module covers a very wide range of practical applications, with an emphasis on hands-on numerical work using Python. At the end of the module, you will be able to formalise a ML task, choose the appropriate method to process it numerically, implement the ML algorithm in Python, and assess the method’s performance.

Programming in C++ for Finance

This module will provide you with the necessary skills and techniques needed to investigate a variety of practical problems in mathematical finance. It is based on C++, the programming language of choice for many practitioners in the finance industry. You will learn about the basic concepts of the procedural part of C++ (inherited from the earlier C language), before being introduced to the fundamental ideas of object-oriented programming. The module is very ‘hands on’, with weekly sessions in the computer laboratory where you can put your theoretical knowledge into practice with a series of interesting and useful assignments.

Topics include:

  • Overview of technology in finance
  • Introduction to the Microsoft Visual Studio C++ development environment
  • Concepts in C++ such as data types, variables, arithmetic operations and arrays
  • Procedural programming, including branching statements, loops and functions
  • Introduction to object-oriented programming: Objects and classes
  • Examples from finance including bond pricing, histogramming historical price data, option pricing and risk management within the Black-Scholes framework

Topics in Probability and Stochastic Processes

This module aims to present some advanced probabilistic concepts and demonstrate their application to stochastic modelling of real-world situations. The topics covered include renewal theory, continuous-time Markov processes and Brownian motion. In addition to exposure to proofs and theoretical material, students develop practical skills through a large number of problems and worked examples. A stochastic process is a system evolving in time in a random way. Besides being of fundamental interest to probability theory, stochastic processes have applications in diverse fields such as financial mathematics, operations research and mathematical biology. This module is an introduction to stochastic processes and related probabilistic concepts. The focus is on continuous time stochastic processes, for which time is an element of the real numbers.

Topics include:
  • Renewal processes: the renewal function; limiting behaviour; current and excess life; characterisation of the Poisson process as a renewal process; the renewal rewards theorem.
  • Continuous time Markov chains: description in terms of the sojourn times and jump chain; definition of the generator; the equation for the transition probability matrix in terms of the generator; use of the generator in finding stationary distributions.
  • Brownian motion: the invariance and reflection principles; hitting times.

Time Series Analysis

This module aims to provide a foundation in time series analysis in general and in the econometric analysis of economic time series in particular, offering theory and methods at a level consonant with an advanced training for a career economist.

Topics include:
  • An introduction to time series analysis for econometrics and finance
  • Vector linear time series models
  • Continuous time stochastic models
  • Strong dependence and long memory models
  • Unit roots and co-integration

Semester B Compulsory Modules

Continuous-Time Models in Finance

This module explains how we can price financial derivatives in a consistent manner, in the realistic case where the price of the underlying asset changes continuously in time.  To do this, we first introduce the key ideas of stochastic calculus in a mathematically rigorous, but still accessible, way.  Then, using the Black-Scholes model, we show how we can price a wide range of derivatives, using both the PDE approach and the alternative martingale approach.  Finally we look at several more recent models that attempt to rectify some of the known deficiencies of the Black-Scholes model.

Semester B Elective Modules - Choose any 3 from the following, with the requirement that no more than 2 modules with ECOM codes may be taken in Semesters A and B combined:

Advanced Computing in Finance

This module covers the advanced programming techniques in C++ that are widely used by professional software engineers and quantitative analysts & developers. The most important of these techniques is object-oriented programming, embracing the concepts of encapsulation, inheritance and polymorphism. We then use these techniques to price a wide range of financial derivatives numerically, using several different pricing models and numerical methods. On completion of this module, you will have acquired the key skills needed to apply for your first role as a junior ‘quant’ or software developer in a financial institution.

Topics include:

  • Advanced programming in C++: Classes and objects, dynamic memory allocation, templates, the C++ standard library, strings, container classes, smart pointers, design patterns
  • Stochastic models for asset prices (GBM, local volatility, stochastic volatility, jump diffusion)
  • Financial derivatives, including options on shares (e.g. European, American, digital, barrier, Asian, lookback, compound, chooser)
  • Implied volatility and the construction of the volatility smile
  • Fixed income and rates (bonds and yield-to-maturity, discount factor curve bootstrapping, stochastic interest rate models)
  • Numerical methods (interpolation, numerical quadrature, non-linear solvers, binomial trees (Cox-Ross-Rubinstein), Monte Carlo methods, finite-difference methods for PDEs)

Advanced Derivatives Pricing and Risk Management

This module covers a number of advanced topics in the pricing and risk-management of various types of derivative securities that are of key importance in today's financial markets. In particular, the module covers models for interest rate derivatives (short-rate and forward-curve models), and looks at the multi-curve framework. It then considers credit risk management and credit derivatives (both vanilla and exotic). Finally, it also discusses credit valuation adjustment (CVA) and related concepts.

Topics include:

  • Interest rate modelling (instruments, curve bootstrapping, Black's model, short-rate models, the Heath-Jarrow-Morton framework, the LIBOR market model)
  • Credit risk and credit derivatives (instruments, models for default risk, bootstrapping hazard rate curves, copula models for correlation products)
  • Credit risk management and valuation adjustment (general concepts, netting and collateral, CVA, models for wrong-way risk, DVA, FVA and other xVA)

Advanced Machine Learning

This module builds on the earlier module "Machine Learning with Python", covering a number of advanced techniques in machine learning, such as dimensionality reduction, support vector machines, decision trees, random forests, and clustering. Although the underlying theoretical ideas are clearly explained, this module is very hands-on, and you will implement various applications using Python in the weekly coursework assignments.

Bayesian Statistics

The module aims to introduce you to the Bayesian paradigm. The module will show you some of the problems with frequentist statistical methods, show you that the Bayesian paradigm provides a unified approach to problems of statistical inference and prediction, enable you to make Bayesian inferences in a variety of problems, and illustrate the use of Bayesian methods in real-life examples.

Topics include:

The Bayesian paradigm: likelihood principle, sufficiency and the exponential family, conjugate priors, examples of prior to posterior analysis, mixtures of conjugate priors, non-informative priors, two-sample problems, predictive distributions, constraints on parameters, point and interval estimation, hypothesis tests, nuisance parameters.

  • Linear models: use of non-informative priors, normal priors, two and three-stage hierarchical models, examples of one-way model, exchangeability between regressions, growth curves, outliers and influential observations.
  • Approximate methods: normal approximations to posterior distributions, Laplace’s method for calculating ratios of integrals, Gibbs sampling, finding full conditionals, constrained parameter and missing data problems, graphical models. Advantages and disadvantages of Bayesian methods.
  • Examples: appropriate examples will be discussed throughout the course. Possibilities include epidemiological data, randomised clinical trials, radiocarbon dating

Computational Statistics with R

This module introduces modern methods of statistical inference for small samples, which use computational methods of analysis, rather than asymptotic theory. Some of these methods such as permutation tests and bootstrapping are now used regularly in modern business, finance and science.

Topics include:

The techniques developed will be applied to a range of problems arising in business, economics, industry and science. Data analysis will be carried out using the user-friendly, but comprehensive, statistics package R.

  • Probability density functions: the empirical cdf; q-q plots; histogram estimation; kernel density estimation.
  • Nonparametric tests: permutation tests; randomisation tests; link to standard methods; rank tests.
  • Data splitting: the jackknife; bias estimation; cross-validation; model selection.
  • Bootstrapping: the parametric bootstrap; the simple bootstrap; the smoothed bootstrap; the balanced bootstrap; bias estimation; bootstrap confidence intervals; the bivariate bootstrap; bootstrapping linear models

Applied Risk Management

The aim of this module is to present the strategic concepts in the risk management activities of financial institutions, and in particular the processes employed in management of various risk types. You will learn how to analyse the issues, and to formulate, justify and present plausible and appropriate solutions to identified problems.

Topics include:

  • Risk identification and ranking, risk appetite
  • The global financial crisis of 2008
  • Credit risk, credit ratings, CDS spreads, credit derivatives
  • Market risk
  • Liquidity risk
  • Regulatory risk, regulatory capital requirements, Basel III
  • The various forms of operational risk

Bond Market Strategies

Bond markets are a critical part of the global financial system. This module explores global bond markets from a practitioner perspective. The module is designed to help students learn key bond market mathematics, identify value and understand the key risks. The module will explore how bond market strategies can be employed to capture value, create portfolios and meet specific investment objectives. The course also links core material with topical issues in global bond markets, showing students the critical importance of bond markets for the banking system, the wider financial system, the economy and government policymaking.

Credit Ratings

This module provides an overview of credit ratings, risk, analysis and management, putting considerable emphasis on practical applications. The module gives training to students and professionals wishing to pursue a career in credit trading, financial engineering, risk management, structured credit and securitisation, at an investment bank, asset manager, rating agency and regulator; as well as in other sectors where knowledge of credit analysis is required, such as insurance companies, private equity firms, pension, mutual and hedge funds. Further, it gives a unique set of perspectives on the recent developments following the financial crisis of 2007, and the intense criticism of the rating agencies and the banking industry.

Topics include:

  • Introduction to credit risk
  • Credit risk analysis and management
  • Credit ratings agencies, the ratings process, rating types
  • Rating banks, sovereign debt and structured finance instruments
  • Credit risk transfer and mitigation

Financial Data Analytics

This module will provide students with a general understanding of current applications of data analytics to finance and in particular to derivatives and investment banking. It will introduce a range of analytical tools such as volatility surface management, yield curve evolution and FX volatility/correlation management. It will also provide you with an overview of some standard tools in the field such as Python, R, Excel/VBA and the Power BI Excel functionality. Students are not expected to have any familiarity with coding or any of the topics above, as the module will develop these from scratch. It will provide you with the understanding of a field necessary to prepare for a career in finance in roles such as trading, structuring, management, risk management and quantitative positions in investment banks and hedge funds.

Systemic Trading Strategies

The use of systems for trading and investing has grown exponentially over the last twenty years, gradually replacing the discretionary judgement of human beings. This course will help you understand why systems have become so important in financial markets, and provide an overview of key concepts needed to understand and develop strategies for systematic trading and investing.

Trading and Risk Systems Development

This module introduces you to some of the key technologies that are widely used for developing software applications in the financial markets and banking sectors.  In particular, we focus on three programming environments/languages (Excel, VBA and C++) which are often used in conjunction to build complete trading and risk management systems.  It is a highly practical module, focusing on current industry practice, and therefore you will be well equipped to apply for a programming role in a financial institution.

Topics include:

  • Overview of typical requirements for trading and risk management systems
  • Introduction to Microsoft Excel, and its use as a ‘front end’ for applications
  • Fundamentals of programming in VBA (Microsoft Visual Basic for Applications)
  • Manipulating Excel from VBA, the Excel object model
  • Review of C++, generation of dynamically-linked libraries (DLLs) used as ‘back ends’ containing computation analytics
  • Complete system development (Excel/VBA/C++) of a derivatives pricing tool
  • Review of other technologies used in practice, including Java, COM, Python, .NET, C#, F#

Financial Mathematics Project and Dissertation

The project component of the MSc programme will give you the opportunity to undertake some significant and advanced study in an area of interest, under the guidance of an expert in that field. Many projects involve a substantial amount of programming and analysis. Your project will be assessed by a written dissertation (of up to 60 pages) which you will submit in early September.

Possible project topics may include:

  • The application of a 3-factor HJM model for pricing inflation-linked bonds
  • Credit valuation adjustment (CVA) for interest rate swaps: Investigation of wrong-way risk using Monte Carlo / OpenCL
  • The Heston model and its numerical implementation on a GPU using CUDA C/C++
  • Jump-diffusion models for equity prices
  • The LIBOR market model for interest rate derivatives
  • Option pricing using finite-difference methods on CPUs and GPUs
  • Parallelism in the Alternate Direction Implicit (ADI) method for solving PDEs for stochastic volatility models
  • Pricing passport options
  • The pricing and risk-management of basket credit derivatives (NTDs and CDOs) using Gaussian copula models
  • The SABR stochastic volatility model
Back to top