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

Introductory description

Python is a widely used programming language that is increasingly essential knowledge in the financial sector. Python dominates many modern applications, particularly in Data Science and Machine Learning. The module will use Python and Jupyter notebooks to investigate a variety of computational algorithms with the goal of solving particular problems and understanding the underlying theory.

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

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

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

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)

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

Estimate the complexity of an algorithm and compare the complexity of different algorithms.
Determine the accuracy of a finite-difference numerical approximation.
Ability to price financial options using Monte-Carlo Integration including implementing variance reduction techniques, as well as computing associated Greeks.
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 path-dependent options.
Demonstrate knowledge of key Machine Learning concepts.
Ability to classify a variety of data and make predictions using Support Vector Machines, including employing a variety of kernels.
Ability to implement neural networks to Machine Learning problems .

Transferable skills

Mathematical modeling: Translating real-world problems into mathematical forms.
Algorithmic thinking: Decomposing complex problems and designing step-by-step solutions.
Model building and evaluation: Implementing and validating regression, classification, and clustering models.
Tool Proficiency: NumPy / SciPy (numerical computations); Matplotlib / Seaborn: (data visualization); Pandas: (data manipulation); scikit-learn / TensorFlow / PyTorch: (machine learning).
Critical thinking: Evaluating models and simulation results for reliability and accuracy.

Study time

Type Required
Lectures 10 sessions of 2 hours (13%)
Practical classes 10 sessions of 2 hours (13%)
Private study 80 hours (53%)
Assessment 30 hours (20%)
Total 150 hours

Private study description

Students are expected to review lectures and practical lab material. Student are expect to work through examples problems from both lectures and labs.

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 D2
Weighting Study time Eligible for self-certification
Assessment component
Class test 20% 6 hours No

This class test will assess Python programming skills related to the Simulation portion of the module. It will take place in Week 6 or 7. Students will complete Jupyter notebooks in which they will write or modify Python code to perform simulations relevant to option pricing and related financial topics.

Reassessment component is the same
Assessment component
Class test 20% 6 hours No

This class test will assess Python programming skills related to the Machine Learning portion of the module. It will take place in Week 9 or 10. Students will complete Jupyter notebooks in which they will write or modify Python code to perform machine learning tasks relevant to finance.

Reassessment component is the same
Assessment component
In-person Examination 60% 18 hours No
  • Answerbook Pink (12 page)
  • Students may use a calculator
Reassessment component is the same
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 9 of TIBS-N3G1 Postgraduate Taught Financial Mathematics