Monte Carlo Methods for Uncertainty Quantification

Similar documents
Monte Carlo Methods for Uncertainty Quantification

Monte Carlo Methods for Uncertainty Quantification

Lecture outline. Monte Carlo Methods for Uncertainty Quantification. Importance Sampling. Importance Sampling

Monte Carlo Methods for Uncertainty Quantification

Module 4: Monte Carlo path simulation

Monte Carlo Methods. Prof. Mike Giles. Oxford University Mathematical Institute. Lecture 1 p. 1.

Monte Carlo Methods for Uncertainty Quantification

2.1 Mathematical Basis: Risk-Neutral Pricing

King s College London

ELEMENTS OF MONTE CARLO SIMULATION

"Vibrato" Monte Carlo evaluation of Greeks

Multilevel Monte Carlo for VaR

Write legibly. Unreadable answers are worthless.

Multilevel quasi-monte Carlo path simulation

IEOR E4703: Monte-Carlo Simulation

Chapter 2 Uncertainty Analysis and Sampling Techniques

King s College London

EFFICIENT MONTE CARLO ALGORITHM FOR PRICING BARRIER OPTIONS

AD in Monte Carlo for finance

Exact Sampling of Jump-Diffusion Processes

Computational Finance

Optimal Search for Parameters in Monte Carlo Simulation for Derivative Pricing

"Pricing Exotic Options using Strong Convergence Properties

STOCHASTIC CALCULUS AND BLACK-SCHOLES MODEL

Module 2: Monte Carlo Methods

Multilevel Monte Carlo for Basket Options

Computational Finance Improving Monte Carlo

Simulating Stochastic Differential Equations

NEWCASTLE UNIVERSITY SCHOOL OF MATHEMATICS, STATISTICS & PHYSICS SEMESTER 1 SPECIMEN 2 MAS3904. Stochastic Financial Modelling. Time allowed: 2 hours

Numerical schemes for SDEs

Monte Carlo Methods in Finance

Overview. Transformation method Rejection method. Monte Carlo vs ordinary methods. 1 Random numbers. 2 Monte Carlo integration.

Quasi-Monte Carlo for Finance

Numerical Methods II

Monte Carlo Simulations

AMH4 - ADVANCED OPTION PRICING. Contents

MASM006 UNIVERSITY OF EXETER SCHOOL OF ENGINEERING, COMPUTER SCIENCE AND MATHEMATICS MATHEMATICAL SCIENCES FINANCIAL MATHEMATICS.

The Use of Importance Sampling to Speed Up Stochastic Volatility Simulations

Lecture Note 8 of Bus 41202, Spring 2017: Stochastic Diffusion Equation & Option Pricing

MONTE CARLO EXTENSIONS

10. Monte Carlo Methods

- 1 - **** d(lns) = (µ (1/2)σ 2 )dt + σdw t

Lecture 3. Sergei Fedotov Introduction to Financial Mathematics. Sergei Fedotov (University of Manchester) / 6

Valuation of performance-dependent options in a Black- Scholes framework

Multilevel Monte Carlo Simulation

Math Computational Finance Option pricing using Brownian bridge and Stratified samlping

MONTE CARLO METHODS FOR AMERICAN OPTIONS. Russel E. Caflisch Suneal Chaudhary

Barrier Option. 2 of 33 3/13/2014

Monte Carlo and Empirical Methods for Stochastic Inference (MASM11/FMS091)

MAS452/MAS6052. MAS452/MAS Turn Over SCHOOL OF MATHEMATICS AND STATISTICS. Stochastic Processes and Financial Mathematics

Gamma. The finite-difference formula for gamma is

Computer Exercise 2 Simulation

Math 416/516: Stochastic Simulation

1 The continuous time limit

Monte Carlo Methods in Financial Engineering

IEOR E4703: Monte-Carlo Simulation

From Discrete Time to Continuous Time Modeling

Market interest-rate models

Monte Carlo Simulations in the Teaching Process

1.1 Basic Financial Derivatives: Forward Contracts and Options

STOCHASTIC VOLATILITY AND OPTION PRICING

BROWNIAN MOTION Antonella Basso, Martina Nardon

Stochastic Differential Equations in Finance and Monte Carlo Simulations

Interest Rate Curves Calibration with Monte-Carlo Simulatio

Market Volatility and Risk Proxies

Chapter 4: Commonly Used Distributions. Statistics for Engineers and Scientists Fourth Edition William Navidi

Hedging with Life and General Insurance Products

MAS3904/MAS8904 Stochastic Financial Modelling

Short-time-to-expiry expansion for a digital European put option under the CEV model. November 1, 2017

Enlargement of filtration

UQ, STAT2201, 2017, Lectures 3 and 4 Unit 3 Probability Distributions.

An Introduction to Stochastic Calculus

Limit Theorems for the Empirical Distribution Function of Scaled Increments of Itô Semimartingales at high frequencies

A No-Arbitrage Theorem for Uncertain Stock Model

Math Option pricing using Quasi Monte Carlo simulation

LIBOR models, multi-curve extensions, and the pricing of callable structured derivatives

Using Monte Carlo Integration and Control Variates to Estimate π

Financial Mathematics and Supercomputing

Risk Neutral Valuation

Monte Carlo and Empirical Methods for Stochastic Inference (MASM11/FMSN50)

Homework Assignments

Last Time. Martingale inequalities Martingale convergence theorem Uniformly integrable martingales. Today s lecture: Sections 4.4.1, 5.

Importance Sampling for Option Pricing. Steven R. Dunbar. Put Options. Monte Carlo Method. Importance. Sampling. Examples.

M.I.T Fall Practice Problems

M5MF6. Advanced Methods in Derivatives Pricing

Computational Finance. Computational Finance p. 1

Bluff Your Way Through Black-Scholes

Results for option pricing

FE610 Stochastic Calculus for Financial Engineers. Stevens Institute of Technology

Numerical Simulation of Stochastic Differential Equations: Lecture 1, Part 1. Overview of Lecture 1, Part 1: Background Mater.

Practical example of an Economic Scenario Generator

Module 10:Application of stochastic processes in areas like finance Lecture 36:Black-Scholes Model. Stochastic Differential Equation.

Analysing multi-level Monte Carlo for options with non-globally Lipschitz payoff

BROWNIAN MOTION II. D.Majumdar

Monte Carlo Methods in Option Pricing. UiO-STK4510 Autumn 2015

Multi-Asset Options. A Numerical Study VILHELM NIKLASSON FRIDA TIVEDAL. Master s thesis in Engineering Mathematics and Computational Science

Lecture 4. Finite difference and finite element methods

2.3 Mathematical Finance: Option pricing

Drunken Birds, Brownian Motion, and Other Random Fun

GENERATION OF STANDARD NORMAL RANDOM NUMBERS. Naveen Kumar Boiroju and M. Krishna Reddy

Transcription:

Monte Carlo Methods for Uncertainty Quantification Abdul-Lateef Haji-Ali Based on slides by: Mike Giles Mathematical Institute, University of Oxford Contemporary Numerical Techniques Haji-Ali (Oxford) Monte Carlo methods 1 1 / 29

Lecture outline Lecture 1: Monte Carlo basics motivating applications basics of mean and variance random number generation Monte Carlo estimation Central Limit Theorem and confidence interval Lecture 2: Variance reduction control variate Latin Hypercube randomised quasi-monte Carlo Haji-Ali (Oxford) Monte Carlo methods 1 2 / 29

Lecture outline Lecture 3: financial applications financial models approximating SDEs weak and strong convergence mean square error decomposition multilevel Monte Carlo Lecture 4: PDE applications PDEs with uncertainty examples multilevel Monte Carlo Haji-Ali (Oxford) Monte Carlo methods 1 3 / 29

Application 1 Consider a bridge with 7 elements and pinned joints: Design will compute a force balance, work out compression / extension of each element, and therefore determine the natural length to be cast. However, the manufactured elements will vary from design in both length and extensibility 14 uncertain inputs. If two supporting joints have fixed position, then analysis has 6 unknowns (coordinates of free joints) and 6 equations (force balance at free joints). Haji-Ali (Oxford) Monte Carlo methods 1 4 / 29

Application 1 Given manufacturing data on the variability of the natural length and extensibility, what might we want to know? RMS deviation of joint position from design RMS deviation of forces from design probability of maximum compression / extension force being outside some specified range Note: if we turn this into a full finite element analysis, then the computational cost becomes much larger. Haji-Ali (Oxford) Monte Carlo methods 1 5 / 29

Application 2 Consider a square trampoline, with vertical position given by ( 2 ) Z T x 2 + 2 Z y 2 = L(x, y), 0<x <1, 0<y <1 where T is the tension and L(x, y) is the applied load. Here the uncertainty could be in the boundary conditions: simplest case would be uncertainty in the 4 corner values of Z(x, y) with straight line interpolation along each edge a more complicated case might add a Fourier decomposition of the perturbation from the straight line interpolation Z(x, 0) = (1 x) Z 0,0 + x Z 1,0 + a n sin(nπx) n=1 Could also have uncertainty in the tension and the loading. Haji-Ali (Oxford) Monte Carlo methods 1 6 / 29

Application 2 Again there are various outputs we might be interested in: average values for min Z(x, y) and max Z(x, y) RMS variation in these due to uncertainty Note: biggest displacements likely to occur in the middle, not significantly affected by high order Fourier perturbations on the boundary. Haji-Ali (Oxford) Monte Carlo methods 1 7 / 29

Application 3 In computational finance, the behaviour of assets (e.g.stocks) is modelled by stochastic differential equations such as: ds = r S dt + σ S dw where dw is the increment of a Brownian motion, which is Normally distributed with zero mean and variance dt. The stochastic term σ S dw models the uncertainty in the day-to-day evolution of the asset price, due to random events. We will not cover the theory of Ito calculus which is necessary to work with SDEs, but it can be proved that d log S = (r 1 2 σ2 ) dt + σ dw and hence S(T ) = S(0) exp ( (r 1 2 σ2 )T + σ W (T ) ) Haji-Ali (Oxford) Monte Carlo methods 1 8 / 29

Application 3 Later, we will consider a basket call option based on 5 assets, each with ( ) S i (T ) = S i (0) exp (r 1 2 σ2 i )T + σ i W i (T ) and with the option value being f = exp( rt ) max ( 0, 1 5 ) S i (T ) K What we want to estimate is the expected value of this option. i Haji-Ali (Oxford) Monte Carlo methods 1 9 / 29

Objective In general, we start with a random sample ω usually compute some intermediate quantity U then evaluate a scalar output f (U) ω U f (U) The objective is then to compute the expected (or average) value E[f (U)] Haji-Ali (Oxford) Monte Carlo methods 1 10 / 29

Basics In some cases, the random inputs are discrete: X has value x i with probability p i, and then E[f (X )] = i f (x i ) p i In other cases, the random inputs are continuous random variables: scalar X has probability density p(x) if Then P(X (x, x +dx)) = p(x) dx + o(dx) E[f (X )] = f (x) p(x) dx In either case, if a, b are random variables, and λ, µ are constants, then E[a + µ] = E[λ a] = E[a + b] = Haji-Ali (Oxford) Monte Carlo methods 1 11 / 29

Basics In some cases, the random inputs are discrete: X has value x i with probability p i, and then E[f (X )] = i f (x i ) p i In other cases, the random inputs are continuous random variables: scalar X has probability density p(x) if Then P(X (x, x +dx)) = p(x) dx + o(dx) E[f (X )] = f (x) p(x) dx In either case, if a, b are random variables, and λ, µ are constants, then E[a + µ] = E[a] + µ E[λ a] = λ E[a] E[a + b] = E[a] + E[b] Haji-Ali (Oxford) Monte Carlo methods 1 11 / 29

Basics The variance is defined as [ V[a] E (a E[a]) 2] = E [a 2 2a E[a] + (E[a]) 2] = E [ a 2] (E[a]) 2 It then follows that V[a + µ] = V[λ a] = V[a + b] = Haji-Ali (Oxford) Monte Carlo methods 1 12 / 29

Basics The variance is defined as [ V[a] E (a E[a]) 2] = E [a 2 2a E[a] + (E[a]) 2] = E [ a 2] (E[a]) 2 It then follows that where V[a + µ] = V[a] V[λ a] = λ 2 V[a] V[a + b] = V[a] + 2 Cov[a, b] + V[b] [ ] Cov[a, b] E (a E[a]) (b E[b]) Haji-Ali (Oxford) Monte Carlo methods 1 12 / 29

Basics X 1 and X 2 are independent continuous random variables if p joint (x 1, x 2 ) = p 1 (x 1 ) p 2 (x 2 ) We then get E[f 1 (X 1 ) f 2 (X 2 )] Hence, if a, b are independent, Cov[a, b]= Haji-Ali (Oxford) Monte Carlo methods 1 13 / 29

Basics X 1 and X 2 are independent continuous random variables if p joint (x 1, x 2 ) = p 1 (x 1 ) p 2 (x 2 ) We then get E[f 1 (X 1 ) f 2 (X 2 )] = = = ( f 1 (x 1 ) f 2 (x 2 ) p joint (x 1, x 2 ) dx 1 dx 2 f 1 (x 1 ) f 2 (x 2 ) p 1 (x 1 ) p 2 (x 2 ) dx 1 dx 2 ) ( ) f 1 (x 1 ) p 1 (x 1 ) dx 1 f 2 (x 2 ) p 2 (x 2 ) dx 2 = E[f 1 (X 1 )] E[f 2 (X 2 )] Hence, if a, b are independent, Cov[a, b]=0 = V[a+b] = V[a] + V[b] More generally, the variance of the sum of independent r.v. s is the sum of their variances. Haji-Ali (Oxford) Monte Carlo methods 1 13 / 29

Random Number Generation Monte Carlo simulation starts with random number generation, usually split into 2 stages: generation of independent uniform (0, 1) random variables conversion into random variables with a particular distribution (e.g. Normal) Very important: never write your own generator, always use a well validated generator from a reputable source Matlab Intel MKL Haji-Ali (Oxford) Monte Carlo methods 1 14 / 29

Uniform Random Variables Pseudo-random generators use a deterministic (i.e. repeatable) algorithm to generate a sequence of (apparently) random numbers on (0, 1) interval. What defines a good generator? a long period how long it takes before the sequence repeats itself 2 32 is not enough (need at least 2 40 ) various statistical tests to measure randomness well validated software will have gone through these checks For information see Intel MKL information www.intel.com/cd/software/products/asmo-na/eng/266864.htm Matlab information www.mathworks.com/moler/random.pdf Wikipedia information en.wikipedia.org/wiki/random number generation Haji-Ali (Oxford) Monte Carlo methods 1 15 / 29

Normal Random Variables N(0, 1) Normal random variables (mean 0, variance 1) have the probability distribution p(x) = φ(x) 1 2π exp( 1 2 x 2 ) The Box-Muller method takes two independent uniform (0, 1) random numbers y 1, y 2, and defines x 1 = 2 log(y 1 ) cos(2πy 2 ) x 2 = 2 log(y 1 ) sin(2πy 2 ) It can be proved that x 1 and x 2 are N(0, 1) random variables, and independent: p joint (x 1, x 2 ) = p(x 1 ) p(x 2 ) Haji-Ali (Oxford) Monte Carlo methods 1 16 / 29

Inverse CDF A more flexible alternative uses the cumulative distribution function CDF (x) for a random variable X, defined as CDF (x) = P(X < x) If Y is a uniform (0, 1) random variable, then can define X by Proof? X = CDF 1 (Y ). For N(0, 1) Normal random variables, CDF (x) = Φ(x) x φ(s) ds = 1 2π x exp ( 1 2 s2) ds Φ 1 (y) is approximated in software in a very similar way to the implementation of cos, sin, log. Haji-Ali (Oxford) Monte Carlo methods 1 17 / 29

Normal Random Variables Φ(x) 1 0.8 0.6 0.4 0.2 0 4 2 0 2 4 x Φ 1 (x) 4 3 2 1 0 1 2 3 4 0 0.5 1 x Haji-Ali (Oxford) Monte Carlo methods 1 18 / 29

MATLAB rand(n,m) generates a matrix of independent r.v. s each uniformly distributed on unit interval (0, 1) randn(n,m) generates a matrix of independent r.v. s each Normally distributed with zero mean and unit variance rng controls the random engine seed. Running rng(0) at the beginning of your program will give you the same random numbers. Reproduciblity! norminv(u) computes Φ 1 (u) normcdf(x) computes Φ(x) normpdf(x) computes φ(x) Haji-Ali (Oxford) Monte Carlo methods 1 19 / 29

Python numpy.random.rand(n,m) generates a matrix of independent r.v. s each uniformly distributed on unit interval (0, 1) numpy.random.randn(n,m) generates a matrix of independent r.v. s each Normally distributed with zero mean and unit variance numpy.random.seed controls the random engine seed. Running numpy.random.seed(0) at the beginning of your program will give you the same random numbers. Reproduciblity! scipy.stats.norm.ppf(u) computes Φ 1 (u) scipy.stats.norm.cdf(x) computes Φ(x) scipy.stats.norm.pdf(x) computes φ(x) Haji-Ali (Oxford) Monte Carlo methods 1 20 / 29

Expectation and Integration If X is a random variable uniformly distributed on [0, 1] then its probability density function is { 1, 0<x <1 p(x) = 0, otherwise and therefore E[f (X )] = I [f ] = 1 0 f (x) dx. The generalisation to a d-dimensional cube I d = [0, 1] d, is E[f (X )] = I [f ] = f (x) dx. I d Thus the problem of finding expectations is directly connected to the problem of numerical quadrature (integration), often in very large dimensions. Haji-Ali (Oxford) Monte Carlo methods 1 21 / 29

Expectation and Integration Suppose we have a sequence X n of independent samples from the uniform distribution. An approximation to the expectation/integral is given by I N [f ] = N 1 N n=1 f (X n ). Note that this is an unbiased estimator, since for each n, E[f (X n )] = E[f (X )] = I [f ] and therefore [ ] E I N [f ] = I [f ] Haji-Ali (Oxford) Monte Carlo methods 1 22 / 29

Central Limit Theorem In general, define error ε N (f ) = I [f ] I N [f ] RMSE, root-mean-square-error = E[(ε N (f )) 2 ] The Central Limit Theorem proves (roughly speaking) that for large N ε N (f ) σ N 1/2 Z with Z a N(0, 1) random variable and σ 2 the variance of f : σ 2 = V[f (X )] = (f (x) I [f ]) 2 dx. I d provided σ 2 is finite. Haji-Ali (Oxford) Monte Carlo methods 1 23 / 29

Distribution of Monte Carlo estimator 0.6 M = 10000 M = 1000 0.4 0.2 0 4 3 2 1 0 1 2 3 4 Haji-Ali (Oxford) Monte Carlo methods 1 24 / 29

Central Limit Theorem More precisely, provided σ is finite, then as N, CDF(N 1/2 σ 1 ε N ) CDF(Z) so that [ ] P N 1/2 σ 1 ε N < s P [Z < s] = and [ ] N P 1/2 σ 1 ε N > s [ ] N P 1/2 σ 1 ε N < s P [ Z > s] = P [ Z < s] = Haji-Ali (Oxford) Monte Carlo methods 1 25 / 29

Central Limit Theorem More precisely, provided σ is finite, then as N, CDF(N 1/2 σ 1 ε N ) CDF(Z) so that [ ] P N 1/2 σ 1 ε N < s P [Z < s] = Φ(s) and [ ] N P 1/2 σ 1 ε N > s [ ] N P 1/2 σ 1 ε N < s P [ Z > s] = 2 Φ( s) P [ Z < s] = 1 2 Φ( s) Haji-Ali (Oxford) Monte Carlo methods 1 25 / 29

Distribution of Monte Carlo estimator 0.6 0.4 0.2 0 4 3 2 1 0 1 2 3 4 Area under curve = Φ( 2) + 1 Φ(2) = 2Φ( 2) 4.5% Haji-Ali (Oxford) Monte Carlo methods 1 26 / 29

Estimated Variance Given N samples, the empirical variance is σ 2 = N 1 N n=1 (f (x n ) I N ) 2 = I (2) N (I N) 2 where I N = N 1 N n=1 f (x n ), I (2) N = N 1 N (f (x n )) 2 n=1 E [ σ 2]? Haji-Ali (Oxford) Monte Carlo methods 1 27 / 29

Estimated Variance Given N samples, the empirical variance is σ 2 = N 1 N n=1 (f (x n ) I N ) 2 = I (2) N (I N) 2 where I N = N 1 N n=1 f (x n ), I (2) N = N 1 N (f (x n )) 2 n=1 E [ σ 2]? σ 2 is a slightly biased estimator for σ 2 ; an unbiased estimator is σ 2 = (N 1) 1 N n=1 (f (x n ) I N ) 2 = N ( I (2) N 1 N (I N) 2) Haji-Ali (Oxford) Monte Carlo methods 1 27 / 29

Confidence Interval How many samples do we need for an accuracy of ε with probability c? Since [ ] P N 1/2 σ 1 ε < s 1 2 Φ( s), define s so that 1 2 Φ( s) = c s = Φ 1 ((1 c)/2) c 0.683 0.9545 0.9973 0.99994 s 1.0 2.0 3.0 4.0 ε < N 1/2 σ s with probability c this is the confidence interval. To ensure ε < ε with probability c we can put ( ) σ s(c) 2 N 1/2 σ s(c) = ε = N =. ε Note: twice as much accuracy requires 4 times as many samples. Haji-Ali (Oxford) Monte Carlo methods 1 28 / 29

Summary so far Monte Carlo estimation / quadrature is straightforward and robust confidence bounds can be obtained as part of the calculation can calculate the number of samples N needed for chosen accuracy accuracy = O(N 1/2 ), CPU time = O(N) = accuracy = O(CPU time 1/2 ) = CPU time = O(accuracy 2 ) the key now is to reduce number of samples required by reducing the variance Haji-Ali (Oxford) Monte Carlo methods 1 29 / 29