Skip to main content Skip to navigation

IB9TD-15 Simulation and Machine Learning for Finance

Department
Warwick Business School
Level
Taught Postgraduate Level
Module leader
Alexander Stremme
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 web page

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

  • Deploy basic knowledge of key Machine Learning techniques and models for finance problems
  • Explain different types of Machine Learning, and implement neural networks to machine learning problems
  • Understand the Central Limit Theory's importance in Monte-Carlo Integration
  • Estimate the complexity of an algorithm and compare the complexity of different algorithms
  • Evaluate models and simulation results for reliability and accuracy
  • Decompose complex problems and design step-by-step solutions
  • Translate real-world problems into mathematical forms.

Indicative reading list

Reading lists can be found in Talis

Subject specific skills

Manipulate vectors and matrices, write loops, functions and complete programmes in Python
Price financial options using Monte-Carlo Integration including implementing variance reduction techniques, as well as computing associated Greeks.
Determine the accuracy of a finite-differenct numerical approximation, and understand the stability of numerical schemes and the sources of error in different numerical implementations.
Simulate stochastic ODEs, using Euler or Milstein methods, and to use these methods to price Asian and Barrier options
Classify a variety of data and make predictions using Support Vector Machines, including employing a variety of kernels.

Transferable skills

Tool Proficiency: NumPy / SciPy (numerical computations); Matplotlib / Seaborn: (data visualization); Pandas: (data manipulation); scikit-learn / TensorFlow / PyTorch: (machine learning).

Study time

Type Required
Lectures 10 sessions of 2 hours (13%)
Practical classes 10 sessions of 2 hours (13%)
Private study 44 hours (29%)
Assessment 66 hours (44%)
Total 150 hours

Private study description

Prep for lectures and practical classes

Costs

No further costs have been identified for this module.

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

Assessment group D
Weighting Study time Eligible for self-certification
Assessment component
Class test 1 20% 13 hours No
Reassessment component is the same
Assessment component
Class test 2 20% 13 hours No
Reassessment component is the same
Assessment component
Exam 60% 40 hours No
  • Answerbook Pink (12 page)
  • Students may use a calculator
Reassessment component is the same
Feedback on assessment

via myWBS

Past exam papers for IB9TD

Courses

This module is Core for:

  • Year 1 of TIBS-N3G2 Postgraduate Taught Mathematical Finance