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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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: