Accessibility statement

# Computational Finance with Python - MAT00113M

« Back to module search

• Department: Mathematics
• Credit value: 20 credits
• Credit level: M
• Academic year of delivery: 2024-25
• See module specification for other years: 2023-24

## Module summary

This module covers a number of computational methods appropriate to finance, such as tree, finite difference, and Monte Carlo simulation approaches. Computational techniques are developed in a risk management or derivatives pricing context, alongside Python programming skills.

## Related modules

• None

### Prohibited combinations

• None

Prerequisites are Mathematical Methods of Finance OR Mathematical Finance in Discrete Time for 2024/25.

This module has no formal prerequisites for MSc students taking it as a core module. Elective / MSc students should have a basic probability and statistics and linear algebra. Familiarity with stochastic processes and mathematical finance would be beneficial but not as important as a willingness to learn new material in the context of the techniques studied in the module.

The module is suitable for students who are new to programming.

## Module will run

Occurrence Teaching period
A Semester 2 2024-25

## Module aims

This module covers a number of computational methods appropriate to finance, such as tree, finite difference, and Monte Carlo simulation approaches. Computational techniques are developed in a risk management or derivatives pricing context, alongside Python programming skills.

## Module learning outcomes

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

1. Construct trees to approximate continuous time stochastic processes described by stochastic differential equations in order to solve problems arising in finance.

2. Implement finite difference schemes to solve ordinary and partial differential equations arising in finance.

3. Implement efficient Monte Carlo simulation schemes in the context of financial applications.

4. Critically evaluate the appropriateness and effectiveness of computational techniques in specific financial applications.

5. Use Python effectively as a computing language for implementing a range of numerical techniques relevant to finance.

## Module content

The following topics will be covered:

• Brief introduction to quantitative finance and stochastic calculus from an applied point of view.

• Binomial and trinomial tree methods for approximating continuous time stochastic processes in finance.

• Finite difference schemes, including explicit, implicit and Crank-Nicolson schemes, for solving partial differential equations in the context of financial applications.

• Monte Carlo simulation schemes, including generating random numbers from certain distributions, discretizing and simulating stochastic differential equations and a number of variance reduction techniques, such as antithetic variates, control variates and importance sampling.

• Use of these approaches to solve problems in a financial setting, for example, computing the prices and hedge ratios of options in the Black-Scholes model.

Python programming skills will be developed alongside the computational techniques. Python will be used to implement the methods listed above. Other techniques relevant to finance, such as root finding, calibration methods and Fourier based methods, will be used to illustrate facets of Python programming in a financial context.

## Indicative assessment

Essay/coursework 90
Essay/coursework 10

### Special assessment rules

None

If a student has a failing module mark, only failed components need to be reassessed

### Indicative reassessment

Essay/coursework 90
Essay/coursework 10

## Module feedback

Current Department policy on feedback is available in the student handbook. Coursework and examinations will be marked and returned in accordance with this policy.