MLMC for inaccurate SDE calculations

Click here to load reader

  • date post

    14-Feb-2017
  • Category

    Documents

  • view

    218
  • download

    2

Embed Size (px)

Transcript of MLMC for inaccurate SDE calculations

  • MLMC for inaccurate SDE calculations

    Mike Giles, Mario Hefter, Lukas Mayer,Steffen Omland, Klaus Ritter

    Mathematical Institute, University of Oxford

    Dept. of Mathematics, TU Kaiserslautern

    Rhein-Main Arbeitskreis, Feb 5, 2016

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 1 / 34

  • Outline

    introduction to multilevel Monte Carlo (MLMC)

    overview of current collaboration into a new kind of MLMCapplication

    In presenting MLMC, I hope to emphasise the simplicity of the idea the approach can be used in different ways in different contexts.

    There are lots of people working on a very wide variety of applications I wont have time to cover this but more details are available from mywebpages.

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 2 / 34

  • Monte Carlo method

    In stochastic models, we often have

    S Prandom input intermediate variables scalar output

    The Monte Carlo estimate for E[P ] is an average of N independentsamples (n):

    Y = N1N

    n=1

    P((n)).

    This is unbiased, E[Y ]=E[P ], and the Central Limit Theorem proves thatas N the error becomes Normally distributed with variance N1V[P ].

    For r.m.s. error, need N = O(2) samples, so O(2) total cost if eachone has O(1) cost.

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 3 / 34

  • Monte Carlo method

    In many cases, this is modified to

    S Prandom input intermediate variables scalar output

    where S , P are approximations to S ,P , in which case the MC estimate

    Y = N1N

    n=1

    P((n))

    is biased, and the Mean Square Error is

    E[ (Y E[P ])2] = N1 V[P] +(E[P] E[P ]

    )2

    Greater accuracy requires larger N and smaller weak error E[P ]E[P ].

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 4 / 34

  • SDE Path Simulation

    My interest was in SDEs (stochastic differential equations) for finance,which in a simple one-dimensional case has the form

    dSt = a(St , t) dt + b(St , t)dWt

    Here dWt is the increment of a Brownian motion Normally distributedwith variance dt.

    This is usually approximated by the simple Euler-Maruyama method

    Stn+1 = Stn + a(Stn , tn) h + b(Stn , tn)Wn

    with uniform timestep h, and increments Wn with variance h.

    In simple applications, the output of interest is a function of the final value:

    P f (ST )

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 5 / 34

  • SDE Path Simulation

    Geometric Brownian Motion: dSt = r St dt + St dWt

    t0 0.5 1 1.5 2

    S

    0.5

    1

    1.5

    coarse pathfine path

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 6 / 34

  • SDE Path Simulation

    Two kinds of discretisation error:

    Weak error:E[P ] E[P ] = O(h)

    Strong error: (E

    [sup[0,T ]

    (StSt

    )2])1/2

    = O(h1/2)

    For reasons which will become clear, I prefer to use the Milsteindiscretisation for which the weak and strong errors are both O(h).

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 7 / 34

  • SDE Path Simulation

    The Mean Square Error is

    N1 V[P] +(E[P ] E[P ]

    )2 a N1 + b h2

    If we want this to be 2, then we need

    N = O(2), h = O()

    so the total computational cost is O(3).

    To improve this cost we need to

    reduce N variance reduction or Quasi-Monte Carlo methods

    reduce the cost of each path (on average) MLMC

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 8 / 34

  • Two-level Monte Carlo

    If we want to estimate E[P1] but it is much cheaper to simulate P0 P1,then since

    E[P1] = E[P0] + E[P1P0]we can use the estimator

    N10

    N0

    n=1

    P(0,n)0 + N

    11

    N1

    n=1

    (P(1,n)1 P

    (1,n)0

    )

    Benefit: if P1P0 is small, its variance will be small, so wont need manysamples to accurately estimate E[P1P0], so cost will be reduced greatly.

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 9 / 34

  • Multilevel Monte Carlo

    Natural generalisation: given a sequence P0, P1, . . . , PL

    E[PL] = E[P0] +

    L

    =1

    E[PP1]

    we can use the estimator

    N10

    N0

    n=1

    P(0,n)0 +

    L

    =1

    {N1

    N

    n=1

    (P(,n) P

    (,n)1

    )}

    with independent estimation for each level of correction

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 10 / 34

  • Multilevel Monte Carlo

    If we define

    C0,V0 to be cost and variance of P0

    C,V to be cost and variance of PP1

    then the total cost isL

    =0

    N C and the variance isL

    =0

    N1 V.

    Using a Lagrange multiplier 2 to minimise the cost for a fixed variance

    N

    L

    k=0

    (Nk Ck +

    2N1k Vk)= 0

    givesN =

    V/C = N C =

    V C

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 11 / 34

  • Multilevel Monte Carlo

    Setting the total variance equal to 2 gives

    = 2

    (L

    =0

    V C

    )

    and hence, the total cost is

    L

    =0

    N C = 2

    (L

    =0

    VC

    )2

    in contrast to the standard cost which is approximately 2 V0 CL.

    The MLMC cost savings are therefore approximately:

    VL/V0, ifVC increases with level

    C0/CL, ifVC decreases with level

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 12 / 34

  • Multilevel Path SimulationWith SDEs, level corresponds to approximation using M timesteps,giving approximate payoff P at cost C = O(h

    1 ).

    Simplest estimator for E[PP1] for >0 is

    Y = N1

    N

    n=1

    (P(n) P

    (n)1

    )

    using same driving Brownian path for both levels.

    Analysis gives MSE =

    L

    =0

    N1 V +(E[PL]E[P ]

    )2

    To make RMS error less than

    choose N

    V/C so total variance is less than12

    2

    choose L so that(E[PL]E[P ]

    )2< 12

    2

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 13 / 34

  • Multilevel Path Simulation

    For Lipschitz payoff functions P f (ST ), we have

    V V[PP1

    ] E

    [(PP1)2

    ]

    K 2 E[(ST ,ST ,1)2

    ]

    =

    {O(h), Euler-Maruyama

    O(h2 ), Milstein

    and hence

    V C =

    {O(1), Euler-Maruyama

    O(h), Milstein

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 14 / 34

  • MLMC Theorem

    (Slight generalisation of version in 2008 Operations Research paper)

    If there exist independent estimators Y based on N Monte Carlo samples,each costing C, and positive constants , , , c1, c2, c3 such that 12 min(, ) and

    i)E[PP ]

    c1 2

    ii) E[Y] =

    E[P0], = 0

    E[PP1], > 0

    iii) V[Y] c2 N1 2

    iv) E[C] c3 2

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 15 / 34

  • MLMC Theorem

    then there exists a positive constant c4 such that for any ,

    c4 2(log )2, = ,

    c4 2()/, 0 < < .

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 16 / 34

  • MLMC Theorem

    Two observations of optimality:

    MC simulation needs O(2) samples to achieve RMS accuracy .When > , the cost is optimal O(1) cost per sample on average.

    (Would need multilevel QMC to further reduce costs)

    When < , another interesting case is when = 2, which

    corresponds to E[Y] and

    E[Y 2 ] being of the same order as .In this case, the total cost is O(/), which is the cost of a singlesample on the finest level again optimal.

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 17 / 34

  • New research

    We are interested in three sources of inaccuracy (quite different to theusual stochastic uncertainty):

    reduced precision in performing path calculations

    reduced number of bits in uniform random number generation

    reduced accuracy in converting uniform r.v.s to Normal

    Objectives:

    design good MLMC estimators

    analyse variance behaviour and determine complexity(based on some appropriate cost model)

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 18 / 34

  • Low precision computations

    Standard C/C++ computations have a choice of two levels of floatingpoint precision:

    single (float) 32-bit with 24-bit mantissa

    double (double) 64-bit with 54-bit mantissa

    In each case, only finitely many numbers can be represented othernumbers are rounded to nearest representable value. 1 ulp (unit of leastprecision) is the difference between one representable value and its nearestneighbour

    relative error 1 ulp/value {

    107, single

    1016, double

    Rounding error introduced by addition/multiplication can be modelled asNormally distributed with magnitude 1 ulp.

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 19 / 34

  • Low precision computations

    Most people do calculations in double precision, so why should we care?

    on CPUs, single precision is twice as fast as double, if code isvectorised.

    on GPUs, the difference can be a factor 510, and there is an extrafactor 2 on the latest NVIDIA GPUs if you use half-precision with a10-bit mantissa.

    FPGAs (field-programmable gate arrays) allow arbitrary fixed-pointand floating point arithmetic, with huge potential savings.

    The first work was particularly motivated by FPGAs for which exactNormal r.v.s can be generated easily.

    Mike Giles et al (Oxford/KL) MLMC for inaccurate calculations 20 / 34

  • MLMC approach 1Consider o