COMP0043 Numerical Methods for Finance
This database contains the 2018-19 versions of syllabuses.
Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).
Numerical Methods for Finance
An introduction to numerical/computational methods with code examples (Matlab, C++, Python) and an emphasis on applications in finance (derivatives pricing, model calibration).
Programming proficiency and demonstrable skills in turning mathematical equations and models into working code; capacity to solve practical problems in financial mathematics applying modern numerical techniques.
Availability and prerequisites
This module delivery is available for selection on the below-listed programmes. The relevant programme structure will specify whether the module is core, optional, or elective.
In order to be eligible to select this module as optional or elective, where available, students must meet all prerequisite conditions to the satisfaction of the module leader. Places for students taking the module as optional or elective are limited and will be allocated according to the department’s module selection policy.
Programmes on which available:
- Introduction: Bibliography, programming languages, programming basics: data types, operators, expressions, control structures (iteration i.e. for-loop, conditional execution i.e. if-then-else, etc.), vector/array operations, input/output, plots, etc.
- Fundamental probability distributions: Normal, exponential, log-normal, chi square, etc; plot of the probability distribution function, sampling with pseudo-random numbers, histograms, transformation from uniform to other distributions using the quantile function, i.e. the inverse cumulative distribution function.
- Random numbers: Linear congruential generators, requirements and statistical tests, pathologic cases, more advanced generators; inversion and transformation in one and more dimensions, acceptance-rejection method, Box-Muller method for normal deviates, polar method by Marsaglia, Ziggurat algorithm by Marsaglia and Tsang, correlated normal random variates, quasi-random numbers.
- Monte Carlo methods: Introduction, risk-neutral valuation of options, Euler-Maruyama method for the numerical solution of a stochastic differential equation (SDE), approximation error, strong and weak solution, Milstein method.
- Important stochastic differential equations: Arithmetic and geometric Brownian motion, Ornstein-Uhlenbeck process and the Vasicek model, Cox-Ingersoll-Ross process, constant elasticity of variance processes, Brownian bridge, Heston model of stochastic volatility. Model calibration.
- Stochastic processes with jumps: Poisson process, normal compound Poisson process, Gamma process, jump-diffusion processes (Merton, Kou), time-changed Brownian motion (variance Gamma process), Lévy processes.
- Black-Scholes option pricing: A simple program that prices European calls and puts with the analytical solution, the analytical solution provided by Matlab's Financial Toolbox, the Fourier transform method, and Monte Carlo.
- Model calibration: Implied volatility, Newton-Raphson method, Jäckel's equivalent form, Jäckel's modification, complex initial guess and fractals.
- Fourier transform methods: Definitions of the Fourier transform, inverse transform, notable transform pairs (normals, double exponential/Lorentz, Dirac delta/1), discrete and fast Fourier transform, Laplace transform, transform of the derivative, solution of the standard diffusion equation by Fourier transform and in Fourier-Laplace space, fractional derivatives, space-time fractional diffusion equation and its solution in Fourier-Laplace space, characteristic function, moment-generating function, cumulant-generating function, Lévy processes, correlation/convolution theorem, auto/cross-covariance and correlation, Parseval/Plancherel theorem, shift theorem, use in option pricing.
- Exotic options: Fourier methods for the numerical pricing of discretely and continuously monitored path-dependent options like barrier and lookback.
- Partial differential equations: Classification, second-order PDEs, notable examples of elliptic, parabolic and hyperbolic PDEs, diffusion equation, Black-Scholes equation, Feynman-Kac theorem and relationship with SDEs, finite difference schemes.
A reading list is available on http://readinglists.ucl.ac.uk/departments/comps_eng.html.
The module is delivered through a combination of lectures (3 hours per week for 10 weeks), homework assignments, and self-directed learning.
This module delivery is assessed as below:
Written examination (2hrs 30mins)
In-Class Test 1 (1hr 15mins)
In-Class Test 2 (1hr 15mins)
In order to pass this module, students must achieve an overall weighted mark of 50%.