Applications for 2020 are now open. Apply here.
A one-year (full-time), two-year (part-time) MSc programme, designed to prepare students for a wide range of careers in quantitative finance and risk management.
Mathematical finance is a subject that is both mathematically challenging and deployed every day by sophisticated practitioners in the financial markets. Our objective is to provide you with everything you need to get into this area at a level where you can understand–and contribute to–industry practice and the latest research.
Our intake consists mainly of recent graduates in mathematical sciences and engineering seeking positions in the financial services sector. However, we welcome applications from candidates already in employment in that area who want to upgrade various aspects of their mathematical and financial expertise and expand their portfolio of skills. We usually recruit a small number of students each year from this category who fulfil our academic requirements.
Candidates reading for the MSc in Mathematics and Finance follow seven compulsory core modules, and choose another five from a menu of elective modules divided into three indicative streams: Derivatives Pricing, Market Microstructure and Machine Learning in Finance that are offered in autumn and spring terms. The modules cover fundamental mathematics, finance and economic background, scientific computing and statistical methodology. The summer period is devoted to the project.
Project and placements
- A supervised thesis project takes place during the summer months after the theoretical modules have been completed.
- Students who have achieved an acceptable level of academic competence will be offered as candidates to external sponsors.
- These industry-based placements take place in banks, consultancies, hedge funds, insurance companies, rating agencies, or financial software companies.
- Each project is normally based on new areas of possible interest to the sponsor, or extensions to existing lines of work.
- An academic supervisor and the sponsor work with the student to scope out the project at the start; supervision is a joint activity between the former two.
- Undertaking the project on site gives students a genuine insight into the reality of the financial marketplace.
Programming in C++
We regard it as essential that students become proficient in object-oriented programming. The computing environment at the college is based on wireless networking. Students must equip themselves, at their own expense, with a laptop running Windows. We will supply the software you need: Microsoft Visual Studio, Microsoft Office and Matlab, a software environment for scientific computing. The teaching in programming stretches over the autumn and spring terms and consists of lectures, laboratory sessions and a series of graded exercises which must be submitted.
Recommended reading and further information
To find out more about the course, including pre-course reading course handbooks, timetables, information on careers support offered and social events, please see the current student pages.
The part-time option
The MSc in Mathematics and Finance can be taken on a part-time basis. Students attend the same lectures as those taking the degree full-time. The courses are spread more or less evenly over two years, instead of one, and the project is taken in the second year. There is a need to attend lectures on about three days a week. Considerable flexibility is needed by those in full-time employment who pursue this option. A typical sample schedule would look like this:
- Stochastic Processes
- Mathematical Finance: Introduction to Option Pricing Theory
- Computing in C++ I: Programming in C
- Electives, from the list of Elective Modules
- Statistical Methods in Finance
- Interest Rate Modelling
- Programming in C++ II: Object oriented programming
- Electives, from the list of Elective Modules
- Simulation Methods for Finance
- Electives, from the list of Elective Modules
- Quantitative Risk Management
- Electives, from the list of Elective Modules
Derivatives Pricing Stream
Malliavin Calculus in Finance
Malliavin Calculus is an extremely powerful tool in stochastic analysis, extending the classical notion of derivative to the space of stochastic processes. A certain number of results arising from this theory turn out to provide the right framework to analysis several problems in mathematical finance. The module will be divided into two parts: the first one will concentrate on developing the theoretical tools of Malliavin Calculus, including analysis on Wiener space, the Wiener chaos decomposition, the Ornstein-Uhlenbeck semigroup and hypercontractivity, the Malliavin derivative operator and the divergence operator, and Sobolev spaces and equivalence of norms. The second part of the module will focus on understanding how these tools come in handy in order to price and hedge financial derivatives, and to compute their sensitivities.
Topics in Derivatives Pricing
Derivatives pricing is at the core of trading and model validation, in so far as traders and quantitative analysts rely on stochastic models to build their trades and monitor their risks. The goal of this module is to introduce the technical tools needed to understand the specificities of these models and their inherent risks.
Selected Topics in Quantitative Finance
Option markets are extremely diverse, spanning several different asset classes and many pricing and hedging strategies. The goal of this module is to complement the other option-flavoured modules, focusing on the specificities of Foreign Exchange and Fixed Income markets. For each of these markets, the module will study their specific characteristics and evolutions, develop the technical tools needed to understand the pricing of derivatives, and explain how to set up trading and hedging strategies therein. A strong emphasis will be given on the actual implementation of the models and their calibration to real data.
In order to do so, the module will constantly strike a fair balance between the mathematical framework and specific tools (stochastic analysis, Fourier methods, fractional calculus), the numerical aspects (actual implementation of the models, optimization routines) and the data (calibration on real data, backward testing of hedging strategies)
Numerical Methods in Finance
Numerical Methods are at the very core of quantitative modelling, no matter which area one considers. The goal of this module is to complement the Core module on Simulation Methods to investigate other techniques that are widely spread among the financial industry. We shall investigate two popular techniques, namely PDE methods and Fourier methods.
For each case, we will start with a theoretical framework, explaining how the option pricing problem can be turn, depending on the model used, either into a PDE problem, or into a Fourier integration issue. We shall then focus our attention to the actual numerical methods needed to implement these two approaches, and test them on real models and real data.
Market Microstructure Stream
Many optimisation problems can be reformulated as convex optimisation problems (COP). These have many highly desirable features, in particular it is possible to numerically solve them efficiently and reliably. Morever, COP have a rich, and beautiful theory behind them: convex analysis, i.e. the theory of convex functions and sets, which leads to duality techniques and optimality and complimentary conditions crucial to solving a COP. Moreover, COP also admit several important subclasses of problems with additional nice properties: Linear, Quadratic and Conical optimisation problems, to just mention a few.
This module is devoted to explaining how to identify and solve several classes of COP. To better do this, we cover some of the underlying convex analysis, e.g. we talk about subgradients and Fenchel-Moreau conjugates. In particular, we cover in some detail the geometry of linear programming, discussing for example Farkas' lemma, the Bipolar theorem and the Minkowski-Weyl characterisation of polyhedra.
Moreover, as COP occur naturally throughout mathematical finance, participants of this course will learn a spectrum of COP applications through a series of examples of practical relevance; in particular, we will cover cash flow matching, mean-variance portfolio optimization (in the way of Markowitz), robust portfolio optimisation etc.
In this module we will at times use Python and CVXOPT to numerically solve some COP. We will discuss the simplex algorithm, and its theoretical relevance to the study of Linear optimisation problems. We will also briefly talk of numerical methods for COP in more generality.
Stochastic Control in Finance
Many problems in mathematical finance (and in other areas) are essentially optimisation problems subject to random perturbations, where some controls play the role of a performance criterion. The goal of this module is to bring the main concepts and techniques from dynamic stochastic optimisation and stochastic control theory to the realm of quantitative finance. It will therefore naturally start with a theoretical part focussing on required elements of stochastic analysis, and with a motivation through several examples of control problems in Finance. We will then turn to the classical PDE approach of dynamic programming, including controlled diffusion processes, dynamic programming principle, the Hamilton-Jacobi-Bellman equation and its verification theorem. We will finally see how to derive an solve dynamic programming equations for various financial problems such as the Merton portfolio problem, pricing under transaction costs, super-replication with portfolio constraints, and target reachability problems.
Algorithmic and High-Frequency Trading
The increase in computer power over the last decades has given rise to prices being quoted and stocks being traded at an ever-increasing pace. Since humans are not able to place orders at this speed, algorithms have replaced classical traders to optimise portfolios and investments. In this module, we will study specificities of this market, and in particular, we shall develop the mathematical tools required to develop such algorithms in this high-frequency framework. The module will start with a short review of stochastic optimal control, which forms the mathematical background. We shall then move on to study optimal execution, namely how and when to place buy/sell orders in this market, both assuming continuous trading and in the context of limit and market orders. The last part of the module will be dedicated to the concept of market making and statistical arbitrage in high-frequency settings.
The goal of the module is to develop thorough understanding of how trades occur in financial markets. The main market types will be described as well as traders’ main motives for why they trade. Market manipulation and high-frequency trading strategies have received a lot of attention in the press recently, so the module will illustrate them and examine recent developments in regulations that aim to limit them. Liquidity is a key theme in market microstructure, and the students will learn how to measure it and to recognise the recent increase in liquidity fragmentation and hidden, “dark” liquidity. The Flash Crash of 6 May 2010 will be analysed as a case study of sudden loss of liquidity. The remaining part of the module focuses on statistical analysis of market microstructure, concentrating on statistical modelling of tick-by-tick data, measurement of price impact and volatility estimation using high-frequency data.
This module gives students a foundation for quantitative portfolio management and for understanding market price determination. Key concepts include risk measurement, risk-reward trade-offs, portfolio optimization, benchmarking, equilibrium asset pricing, market efficiency, and pricing anomalies. Specific portfolio management tools include mean-variance optimization, CAPM and APT asset pricing, factor models (e.g., Fama-French), momentum strategies, and performance evaluation. The course will present essential theories and formulas and will also review important institutional and empirical facts about equity, bond, and commodity markets.
Machine Learning in Finance Stream
Algorithmic Trading and Machine Learning
The aim of the course is to present in some detail a series of models/techniques used in the algorithmic trading space. For each topic, we shall emphasize both theoretical aspects as well as practical applications. The course consists of two main blocks: 1) optimal execution theory and 2) machine learning for finance.
Optimal execution techniques are typically used by quantitative brokers to buy/sell large numbers of securities. Machine learning algorithms are often used by hedge fund and trading desks to generate trading signals, quote on exchange and hedge complex portfolios.
The basic optimal execution problem consists of an agent (e.g. a bank or a broker) who needs to buy or sell a pre-specified number of units of a given asset within a fixed time frame (e.g. an hour, a day, etc.). Assuming that the purchase or sale of the asset will have an adverse impact on its price, what is the execution policy which minimizes market impact? This problem can be formulated as a trade-off between the expected execution cost and the price risk due to exogenous factors. We shall solve the optimization problem using different types of impact models (temporary, transient, permanent) and risk functions (variance, VaR).
Machine learning techniques are becoming increasingly popular in the financial industry. For example, they are used to help predict asset prices, improve the hedging and pricing of complex portfolios. In the lectures we shall analyse in detail some of the most popular supervised learning algorithms such as LASSO/Ridge regression, logistic regression and support vector machines. We shall also introduce unsupervised learning techniques such as clustering and PCA. We will talk about issues related to model selection, overfitting and explore ways to deal with other problems such as selection bias. Trading applications will be presented during the course. Students will be requested to implement some of the models presented in the lectures in Python.
Data Analysis and Machine Learning
This course is an introduction to data analysis and ‘machine learning’ techniques, a vast and hugely active area of research and applications.
The emphasis will be on methodology and each technique will be illustrated by applications in finance. Implementation of key algorithms in R, Python or MATLAB will be discussed. The course will first provide an overview clarifying the distinction between estimation and statistical learning. A major component of the course consists of learning methods for linear relations, regression and its refinements, and principal components analysis. The course will then proceed to non-linear learning, where statistical classification methods, kernel estimation will be introduced. The remainder of the course deals with statistical learning for real-time algorithms, focusing on online learning and bandits.
Rough Path Theory in Machine Learning
Rough path theory was developed in the 1990s in order to understand the structure and information content of a given path (be it a financial time series, a hand-drawn character or the route taken by a vehicle). It turned out to be one of the key developments in stochastic analysis over the past 20 years, and has allowed for a better understanding (and new proofs) to many problems in this field. The goal of this module is to provide students with a flavour of this powerful theory and to understand how it can efficiently be applied in machine learning, one of the fast-developing techniques in the financial industry nowadays. One of the key elements in this exploration is the so-called signature of a path, of which we shall study the algebraic properties, the faithfulness, as well as the inversion and asymptotic properties. We shall further see how this signature is in fact a feature set in machine learning, and illustrate these results in mathematical finance (in particular to predict financial time series), as well as in other areas (handwriting recognition, computer vision, classification problems in medical data).
Deep learning is subfield of Machine Learning that applies deep neural nets to represent and predict complex data. It has recently revolutionised several areas such as image recognition and artificial intelligence and it is currently gaining traction also in the financial industry. The module will first introduce the multi-layer neural nets and explain their universal approximation property. Subsequently, the module proceeds to the training of neural nets, starting from the derivation of the gradient of a neural net and its evaluation through backpropagation, culminating in the stochastic gradient descent and related modern optimisation methods. Techniques to avoid overfitting in training are also elucidated. The remainder of the module focuses on the practical implementation and training of deep neural nets using Keras and TensorFlow, with examples in computational and statistical finance. Time permitting, elements of recurrent neural nets are also sketched.