AD in Monte Carlo for finance

Similar documents
Smoking Adjoints: fast evaluation of Greeks in Monte Carlo calculations

"Vibrato" Monte Carlo evaluation of Greeks

Module 4: Monte Carlo path simulation

Monte Carlo Methods for Uncertainty Quantification

Module 2: Monte Carlo Methods

King s College London

Monte Carlo Methods in Financial Engineering

Monte Carlo Methods in Structuring and Derivatives Pricing

Monte Carlo Simulations

Monte Carlo Methods for Uncertainty Quantification

AMH4 - ADVANCED OPTION PRICING. Contents

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

Multilevel Monte Carlo Simulation

Market interest-rate models

Numerical schemes for SDEs

Handbook of Financial Risk Management

Rapid computation of prices and deltas of nth to default swaps in the Li Model

Monte Carlo Based Numerical Pricing of Multiple Strike-Reset Options

"Pricing Exotic Options using Strong Convergence Properties

Multilevel Monte Carlo for VaR

MONTE CARLO EXTENSIONS

2 f. f t S 2. Delta measures the sensitivityof the portfolio value to changes in the price of the underlying

King s College London

Optimal Search for Parameters in Monte Carlo Simulation for Derivative Pricing

Simulating Stochastic Differential Equations

Barrier Option. 2 of 33 3/13/2014

Definition Pricing Risk management Second generation barrier options. Barrier Options. Arfima Financial Solutions

IEOR E4703: Monte-Carlo Simulation

Monte Carlo Greeks in the lognormal Libor market model

2.1 Mathematical Basis: Risk-Neutral Pricing

Monte Carlo Methods for Uncertainty Quantification

Financial Mathematics and Supercomputing

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

Interest Rate Curves Calibration with Monte-Carlo Simulatio

Computational Finance Improving Monte Carlo

Estimating the Greeks

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

MATH4143: Scientific Computations for Finance Applications Final exam Time: 9:00 am - 12:00 noon, April 18, Student Name (print):

MOUNTAIN RANGE OPTIONS

The Use of Importance Sampling to Speed Up Stochastic Volatility Simulations

Computational Finance

Multilevel Monte Carlo for Basket Options

Math 416/516: Stochastic Simulation

Practical example of an Economic Scenario Generator

Monte Carlo Methods in Finance

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

Sensitivity Analysis on Long-term Cash flows

SYSM 6304: Risk and Decision Analysis Lecture 6: Pricing and Hedging Financial Derivatives

EFFICIENT MONTE CARLO ALGORITHM FOR PRICING BARRIER OPTIONS

Stochastic Grid Bundling Method

Recent Advances in Fractional Stochastic Volatility Models

Calculating Implied Volatility

Computing Greeks with Multilevel Monte Carlo Methods using Importance Sampling

Binomial model: numerical algorithm

Computer Exercise 2 Simulation

Gamma. The finite-difference formula for gamma is

MSc in Financial Engineering

Volatility Smiles and Yield Frowns

Asian Option Pricing: Monte Carlo Control Variate. A discrete arithmetic Asian call option has the payoff. S T i N N + 1

Variance Reduction Through Multilevel Monte Carlo Path Calculations

Economathematics. Problem Sheet 1. Zbigniew Palmowski. Ws 2 dw s = 1 t

Proxy Scheme and Automatic Differentiation: Computing faster Greeks in Monte Carlo simulations

Value at Risk Ch.12. PAK Study Manual

With Examples Implemented in Python

IEOR E4703: Monte-Carlo Simulation

TEST OF BOUNDED LOG-NORMAL PROCESS FOR OPTIONS PRICING

Extended Libor Models and Their Calibration

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

Convergence Analysis of Monte Carlo Calibration of Financial Market Models

MLEMVD: A R Package for Maximum Likelihood Estimation of Multivariate Diffusion Models

Results for option pricing

Computational Finance. Computational Finance p. 1

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

Research on Monte Carlo Methods

Counterparty Credit Risk Simulation

MINIMAL PARTIAL PROXY SIMULATION SCHEMES FOR GENERIC AND ROBUST MONTE-CARLO GREEKS

Risk Neutral Valuation

Volatility Smiles and Yield Frowns

JDEP 384H: Numerical Methods in Business

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

MATH6911: Numerical Methods in Finance. Final exam Time: 2:00pm - 5:00pm, April 11, Student Name (print): Student Signature: Student ID:

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

The stochastic calculus

Equity correlations implied by index options: estimation and model uncertainty analysis

Hedging with Life and General Insurance Products

CS 774 Project: Fall 2009 Version: November 27, 2009

The Pennsylvania State University. The Graduate School. Department of Industrial Engineering AMERICAN-ASIAN OPTION PRICING BASED ON MONTE CARLO

Dr. Maddah ENMG 625 Financial Eng g II 10/16/06

Proxy simulation schemes using likelihood ratio weighted Monte Carlo

Investigation into Vibrato Monte Carlo for the Computation of Greeks of Discontinuous Payoffs

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

Practical Hedging: From Theory to Practice. OSU Financial Mathematics Seminar May 5, 2008

MFE/3F Questions Answer Key

Introduction to Financial Mathematics

Chapter 3: Black-Scholes Equation and Its Numerical Evaluation

Hedging under Model Uncertainty

Optimal robust bounds for variance options and asymptotically extreme models

Calibration Lecture 1: Background and Parametric Models

MFE/3F Questions Answer Key

Interest Rate Bermudan Swaption Valuation and Risk

Transcription:

AD in Monte Carlo for finance Mike Giles giles@comlab.ox.ac.uk Oxford University Computing Laboratory AD & Monte Carlo p. 1/30

Overview overview of computational finance stochastic o.d.e. s Monte Carlo simulation sensitivity analysis use of AD future prospects AD & Monte Carlo p. 2/30

Computational finance There are 3 main approaches to the pricing of financial options based on equities, bonds, exchange rates,... Monte Carlo methods (50%?) simple, flexible efficient for high-dimensional problems trees (25%?) simple version of explicit finite differences PDE methods (25%?) more complicated efficient for low-dimensional problems excellent for American options (free boundary) AD & Monte Carlo p. 3/30

Stochastic ODEs A generic stochastic ODE is of the form dx = a(x, t) dt + b(x, t) dw Here W (t) is a Wiener variable (Brownian motion) with the properties: for s < t, W (t) W (s) is Normally distributed with mean 0 and variance t s for any q < r < s < t, W (t) W (s) is independent of W (r) W (q) In the multi-dimensional generalisation X(t) and W (t) are both vectors. AD & Monte Carlo p. 4/30

Stochastic ODEs Example: geometric Brownian motion ds = r S dt + σ S dw This is the simplest model of the behaviour of a stock price S with W (t) representing the uncertainty of the real world. The simplest option is a European call (an option to buy at a certain time T and price K) whose payoff value is g(s(t )) = e rt max(0, S K) What is wanted is the expected (or average) value E[f] simulate lots of paths compute the average payoff AD & Monte Carlo p. 5/30

Stochastic ODEs For the generic stochastic ODE, simplest to use Euler approximation X n+1 = X n + a(x n, t n ) t + b(x n, t n ) W n with each W n independently Normally distributed with zero mean and variance t. For each path X n (m) can compute a payoff g (m), and then average these to get g = M 1 M m=1 g (m) AD & Monte Carlo p. 6/30

Stochastic ODEs Key foundation is Central Limit Theorem: If g has mean µ g and variance σ 2 g, then for large N g µ g M 1/2 σ g ν where ν is Normally distributed with zero mean and unit variance. Hence, there is a 99.9% probability that µ g lies in the interval [g 3M 1/2 σ g, g + 3M 1/2 σ g ] with σ g estimated from the sample variance. AD & Monte Carlo p. 7/30

Stochastic ODEs The M 1/2 convergence is independent of dimension (very good for high dimensions) but not very rapid In practice, lots of techniques are used to reduce the variance: antithetic variables control variates stratified sampling importance sampling quasi Monte Carlo methods... but these are not relevant to this talk AD & Monte Carlo p. 8/30

Greeks What is relevant is that we don t just want to know the expected value of some payoff V = E[g(S(T )]. We also want to know a whole range of Greeks corresponding to first (and second) derivatives of V with respect to various parameters: = V S 0, ρ = V r, Γ = 2 V S0 2, V Vega = σ. These are needed for hedging (cancels out uncertainty to leading order) and for risk analysis. AD & Monte Carlo p. 9/30

Finite difference sensitivities If V (θ) = E[g(S(T ))] for a particular value of an input parameter θ, and sufficiently differentiable, then the sensitivity V can be approximated by one-sided finite θ difference V θ = V (θ+ θ) V (θ) θ + O( θ) or by central finite difference V θ = V (θ+ θ) V (θ θ) 2 θ + O(( θ) 2 ) AD & Monte Carlo p. 10/30

Finite difference sensitivities The clear advantage of this approach is that it is very simple to implement (hence the most popular in practice?) However, the disadvantages are: expensive (2 extra sets of calculations for central differences) significant bias error if θ too large large variance if g(s(t )) discontinuous and θ small AD & Monte Carlo p. 11/30

Pathwise sensitivities Under certain conditions (e.g. g, a and b are continuous and piecewise differentiable) [ ] [ ] g(x(t )) g X(T ) E[g(X(T ))] = E = E. θ θ X θ with X(T ) θ computed by differentiating the path evolution. Pros: less expensive (1 cheap calculation for each sensitivity) no bias Cons: more difficult to implement AD & Monte Carlo p. 12/30

Generic adjoint approach Returning to the generic stochastic o.d.e. dx = a(x, t) dt + b(x, t) dw, an Euler approximation gives X(n+1) = F n (X(n)) Defining (n) = X(n) X(0), then and hence (n+1) = D(n) (n), D(n) F n(x(n)), X(n) g(x(n)) X(0) = g(x(n)) X(N) (N) = g D(N 1)D(N 2)... D(0) (0) X AD & Monte Carlo p. 13/30

Generic adjoint approach If X is m-dimensional, then D(n) is an m m matrix, and the overall computational cost is O(Nm 3 ). Alternatively, g(x(n)) X(0) = g X D(N 1) D(N 2) D(0) (0) = V (0) (0), where adjoint V (n) = ( ) g(x(n)) is calculated from X(n) V (n) = D(n) V (n+1), V (N) = ( ) g, X(N) at a computational cost which is O(Nm 2 ). AD & Monte Carlo p. 14/30

Generic adjoint approach Usual flow of data within the forward/reverse path calculations: X(0) X(1)... X(N 1) X(N) D(0) D(1) D(N 1) g/ X V (0) V (1)... V (N 1) V (N) memory requirements are not significant because data only needs to be stored for the current path. AD & Monte Carlo p. 15/30

Generic adjoint approach To calculate the sensitivity to other parameters, consider a generic parameter θ. Defining Θ(n) = X(n)/ θ, then Θ(n + 1) = F n X Θ(n) + F n θ D(n) Θ(n) + B(n), and hence g θ = = g X(N) Θ(N) g { B(N 1) + D(N 1)B(N 2) +... X(N) } + D(N 1)D(N 2)... D(1)B(0) = N 1 n=0 V (n+1) B(n). AD & Monte Carlo p. 16/30

Generic adjoint approach Different θ s have different B s, but same V s = Computational cost Nm 2 + Nm # parameters, compared to the standard forward approach for which Computational cost Nm 2 # parameters. However, the adjoint approach only gives the sensitivity of one output, whereas the forward approach can give the sensitivities of multiple outputs for little additional cost. AD & Monte Carlo p. 17/30

Generic adjoint approach Defining G(n) = 2 X(n)/ X j (0) X k (0) for a particular (j, k) it can be shown that G(n + 1) = D(n) G(n) + C(n), where C(n) is a complicated quadratic function of (n). Hence, pathwise Gammas can be computed efficiently by doing a forward calculation of, followed by an adjoint calculation to compute N 1 n=0 V (n+1) C(n), for each pair (j, k), at a savings of factor O(m) relative to a standard forward approach. AD & Monte Carlo p. 18/30

LIBOR Market Model This example models the evolution of future interest rates; an important application and a representative example. The forward rate for the interval [T i, T i+1 ) satisfies dl i (t) L i (t) = µ i(l(t)) dt + σi dw (t), 0 t T i, i σi where µ i (L(t)) = σ j δ j L j (t) 1 + δ j L j (t), j=η(t) and η(t) is the index of the next maturity date. For simplicity, we keep L i (t) constant for t > T i, and take the volatilities to be a function of the time to maturity, σ i (t) = σ i η(t)+1 (0). AD & Monte Carlo p. 19/30

LMM implementation Applying the Euler scheme to the logarithms of the forward rates yields ( L i (n+1) = L i (n) exp [µ i (L(n)) σ i 2 /2]h + σi Z(n+1) ) h. For efficiency, we first compute S i (n) = i k=η(t) σ k δ k L k (n) 1 + δ k L k (n), and then obtain µ i = σ i S i. Each timestep, there is an O(m) cost in computing the S i s, and then an O(m) cost in updating the L i s. AD & Monte Carlo p. 20/30

LMM implementation Defining ij (n) = L i (n)/ L j (0), differentiating the Euler scheme yields ij (n+1) = L i(n+1) L i (n) ij (n) + L i (n+1) σ i S ij (n) h, where S ij (n) = i k=η(nh) σ k δ k kj (n) (1 + δ k L k (n)) 2. Each timestep, there is an O(m 2 ) cost in computing the S ij s, and then an O(m 2 ) cost in updating the ij s. (Note: programming implementation requires only multiplication and addition very rapid on modern CPU s). AD & Monte Carlo p. 21/30

LMM implementation Working through the details of the adjoint formulation, one eventually finds that V i (n) = V i (n+1) for i < η(nh), and V i (n) = L i(n+1) L i (n) V i (n+1) + σ i δ i h (1+δ i L i (n)) 2 m j=i L j (n+1)v j (n+1)σ j for i η(nh). Each timestep, there is an O(m) cost in computing the summations, and then an O(m) cost in updating the V i s. The correctness of the formulation is verified by checking it gives the same sensitivities as the forward calculation. AD & Monte Carlo p. 22/30

LMM results LMM portfolio has 15 swaptions all expiring at the same time, N periods in the future, involving payments/rates over an additional 40 periods in the future. Interested in computing Deltas, sensitivity to initial N +40 forward rates, and Vegas, sensitivity to initial N +40 volatilities. Focus is on the cost of calculating the portfolio value and the sensitivities, relative to just the value. AD & Monte Carlo p. 23/30

LMM results Finite differences versus forward pathwise sensitivities: 250 200 finite diff delta finite diff delta/vega pathwise delta pathwise delta/vega relative cost 150 100 50 0 0 20 40 60 80 100 Maturity N AD & Monte Carlo p. 24/30

LMM results Forward versus adjoint pathwise sensitivities: 40 35 30 forward delta forward delta/vega adjoint delta adjoint delta/vega relative cost 25 20 15 10 5 0 0 20 40 60 80 100 Maturity N AD & Monte Carlo p. 25/30

AD results The figures show my hand-coded implementations. FastOpt have produced preliminary timings using TAC++ (C/C++ version of TAF, still under development) Timings for 120 deltas and 120 vegas: forward reverse hand-coded 35 1.3 TAC + gcc 240 5.3 TAC + icc 40 3.0 The improved relative performance using TAC++ with icc appears due to its identification and optimisation of repeated sub-expressions generated by TAC++. AD & Monte Carlo p. 26/30

AD in future? First, some numbers: 10 4 10 6 paths 20 200 timesteps 20 2000 operations per timestep 1 100 state variables Two good solutions: complete taping of each individual path (would probably fit within L2/L3 cache) store just state variables on initial forward pass, then recalculate/tape each timestep (would probably fit within L1 cache) AD & Monte Carlo p. 27/30

AD in future? The ideal (which is what I did in hand-coded version) in forward pass, for each timestep store state variables all results of expensive operations (e.g. exponential, inverse) in reverse pass, recalculation only requires inexpensive operations (e.g. addition, multiplication) In principle, a natural tradeoff between memory access and re-computation, and could be automated given some user input on typical values for key loop indices. However, difficult to develop generic tools which are optimal under widely-differing circumstances. AD & Monte Carlo p. 28/30

Prospects for the future just given presentations at Quant Congresses in London and New York; article with Monte Carlo expert (Paul Glasserman) appearing in December issue of Risk; CSFB planning to start an internal project; HSBC may be interested too; have also talked to some of the software vendors; hard to predict but it could be an interesting new application area for AD. AD & Monte Carlo p. 29/30

Further Information www.comlab.ox.ac.uk/mike.giles/finance.html papers and talks on finance applications www.comlab.ox.ac.uk/mike.giles/airfoil/ paper and codes for a talk on using Tapenade to generate linear/adjoint versions of a simple airfoil code (to be presented at a workshop in Bangalore in Dec 05) AD & Monte Carlo p. 30/30