Skip to main content Skip to navigation

MA907-15 Simulation and Machine Learning for Finance

Department
Warwick Mathematics Institute
Level
Taught Postgraduate Level
Module leader
Dwight Barkley
Credit value
15
Module duration
10 weeks
Assessment
40% coursework, 60% exam
Study location
University of Warwick main campus, Coventry
Module aims

To provide both a theoretical and a practical understanding of numerical methods in finance, in particular those related to simulations of stochastic processes and machine learning.

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

Week 1-2 Introduction to Python. Syntax. How to create and manipulated vectors and matrices. How to get help. How to make plots and use plots to understand what you are calculating. How to use flow control: loops and if statements. How to use and write functions. How to write programmes.

Week 3 Basic concepts in numerical computation. Computational complexity of algorithms. Order of accuracy. Numerical stability. Sources of error. Finite-differences and Taylor's Theorem. Floating point arithmetic. Algorithm design. Testing, debugging and validation.

Week 4 Introduction to Monte-Carlo methods. Central limit theorem. Monte-Carlo methods for European call and put options. Greeks.

Week 5 Variance reduction techniques. Antithetic, Control variates, Importance sampling, Stratified sampling. Variance reduction for Greeks.

Week 6 Numerical methods for ordinary and stochastic differential equations. Euler and Milstein schemes. Strong and week convergence. Pricing Asian and Barrier Options.

Week 7 Introduction to Machine Learning, Flexible non-parametric models (descriptive not generative). Supervised, unsupervised and semi-supervised learning. Loss, risk and generalisation error. Correct use of training, test and validation sets.

Weeks 8-10 Two of the following three topics will be covered:
Artificial Neural networks. Introduction: neurons and activation functions. Networks; layers, units, activation functions, connectivity. Training: back-propagation, stochastic-gradients with minibatches, initialization, learning rate, early stopping. Particular features of “Deep” neural networks and their training.

Support vector machines. Linear hyperplane classifiers. Kernels and Support Vector Machines. Gaussian processes. What is a GP? GP regression. Covariance functions and the choice there of. Inference, including techniques to accelerate computations. Bayesian optimizationexploration/exploitation trade-offs.

Learning outcomes

By the end of the module, students should be able to:

  • Manipulate vectors and matrices, write loops, functions and complete programmes in Python, and be able to valid Python programmes.
  • Ability to price financial options using Monte-Carlo Integration including implementing variance reduction techniques, as well as computing associated Greeks.
  • Estimate the complexity of an algorithm and compare the complexity of different algorithms.
  • Determine the accuracy of a finite-differenct numerical approximation; understand of stability of numerical schemes and the sources of error in different numerical implementations.
  • Understand the Central Limit Theory and its importance in Monte-Carlo Integration including being able to estimate the variance from finite sample sizes.
  • Ability to simulate stochastic ODEs, using Euler or Milstein methods, and to use these methods to price Asian and Barrier options.
  • Demonstrate basic knowledge of key Machine Learning techniques.
  • Demonstrate understanding of different types of Machine Learning .
  • Apply models for Machine Learning to a problem in Finance .
Indicative reading list

H. Press, S.A. Teukolsky, W.T. Vetterling and B.P. Flannery, Numerical Recipes, Cambridge (1992)

P. Glasserman, Monte Carlo methods in financial engineering, (Springer, 2004)

R Johansson, Numerical Python Scientific computing and Data Science Applications with Numpy SciPy and Matplotlib, (Second Edition) Apress (2019)

M Hetland , Beginning Python from Novice to Professional (Third Edition) Apress (2017)

D. Higham, An Introduction to Financial Option Valuation: Mathematics, Stochastics and Computation, Cambridge University Press Paperback, (2004)

P.E. Kloeden, E. Platen and H. Schurz, Numerical solutions of SDE through computer experiments, Springer (1997)

I Goodfellow, Y Bengio and A Courville, Deep Learning (MIT Press 2016) ·

C.E. Rasmussen and C.K.I. Williams, Gaussian Processes for Machine Learning, (MIT Press, 2005)

B Scholkopf, Learning with Kernels: Support Vector Machines, Regularization, Optimization and Beyond (MIT Press 2002)H. Press, S.A. Teukolsky, W.T. Vetterling and B.P. Flannery, Numerical Recipes, Cambridge (1992)

Subject specific skills

No subject specific skills defined for this module.

Transferable skills

No transferable skills defined for this module.

Study time

Type Required
Lectures 10 sessions of 2 hours (13%)
Practical classes 12 sessions of 2 hours (16%)
Private study 106 hours (71%)
Total 150 hours
Private study description

No private study requirements defined for this module.

Costs

No further costs have been identified for this module.

You do not need to pass all assessment components to pass the module.

Students can register for this module without taking any assessment.

Assessment group D1
Weighting Study time
Class test 5%

Given in week 3 or 4, just after completing the (Python) programming material to ensure that students are prepared to use Python for the remainder of the module.

Programming Project 35%

Students will be asked to analyse a model relevant for financial maths using Python. A typical project contains 15 to 20 pages of explanation, tables, graphs and diagrams illustrating the results and the analysis of numerical results. The project also includes the relevant Python codes written by the student.

Examination 60%
  • Answerbook Pink (12 page)
  • Students may use a calculator
Feedback on assessment

Feedback will be provided both in-class during case discussion plus written feedback both generic and specific.

Past exam papers for MA907

Courses

This module is Core for:

  • Year 1 of TIBS-N3G1 Postgraduate Taught Financial Mathematics