Stochastic Local Volatility: Excursions in Finite Differences

Similar documents
Option Anatomy. Copenhagen University March Jesper Andreasen Danske Markets, Copenhagen

ZABR -- Expansions for the Masses

Calibration Lecture 4: LSV and Model Uncertainty

Pricing Barrier Options under Local Volatility

Implementing Models in Quantitative Finance: Methods and Cases

FE610 Stochastic Calculus for Financial Engineers. Stevens Institute of Technology

Monte Carlo Methods in Structuring and Derivatives Pricing

Write legibly. Unreadable answers are worthless.

Extrapolation analytics for Dupire s local volatility

Heston Stochastic Local Volatility Model

Advanced Topics in Derivative Pricing Models. Topic 4 - Variance products and volatility derivatives

Pricing with a Smile. Bruno Dupire. Bloomberg

Local Variance Gamma Option Pricing Model

Dynamic Relative Valuation

Market interest-rate models

Tangent Lévy Models. Sergey Nadtochiy (joint work with René Carmona) Oxford-Man Institute of Quantitative Finance University of Oxford.

Exploring Volatility Derivatives: New Advances in Modelling. Bruno Dupire Bloomberg L.P. NY

Volatility Smiles and Yield Frowns

Smoking Adjoints: fast evaluation of Greeks in Monte Carlo calculations

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

Monte Carlo Methods for Uncertainty Quantification

A Hybrid Commodity and Interest Rate Market Model

3.4 Copula approach for modeling default dependency. Two aspects of modeling the default times of several obligors

A Consistent Pricing Model for Index Options and Volatility Derivatives

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

Valuation of Volatility Derivatives. Jim Gatheral Global Derivatives & Risk Management 2005 Paris May 24, 2005

Pricing Variance Swaps under Stochastic Volatility Model with Regime Switching - Discrete Observations Case

Handbook of Financial Risk Management

FX Smile Modelling. 9 September September 9, 2008

Local vs Non-local Forward Equations for Option Pricing

Hedging Credit Derivatives in Intensity Based Models

Simple Robust Hedging with Nearby Contracts

Numerical Methods in Option Pricing (Part III)

Stochastic Volatility (Working Draft I)

One-Factor Models { 1 Key features of one-factor (equilibrium) models: { All bond prices are a function of a single state variable, the short rate. {

On the Ross recovery under the single-factor spot rate model

Developments in Volatility Derivatives Pricing

A Robust Option Pricing Problem

Monte Carlo Methods in Financial Engineering

King s College London

A distributed Laplace transform algorithm for European options

Optimal Hedging of Variance Derivatives. John Crosby. Centre for Economic and Financial Studies, Department of Economics, Glasgow University

The Use of Importance Sampling to Speed Up Stochastic Volatility Simulations

From Discrete Time to Continuous Time Modeling

"Pricing Exotic Options using Strong Convergence Properties

Adjoint methods for option pricing, Greeks and calibration using PDEs and SDEs

King s College London

Volatility Smiles and Yield Frowns

Simple Robust Hedging with Nearby Contracts

FX Barrien Options. A Comprehensive Guide for Industry Quants. Zareer Dadachanji Director, Model Quant Solutions, Bremen, Germany

Computational Methods in Finance

TEACHING NOTE 98-04: EXCHANGE OPTION PRICING

Time-changed Brownian motion and option pricing

Advanced Numerical Techniques for Financial Engineering

The Uncertain Volatility Model

Convergence Analysis of Monte Carlo Calibration of Financial Market Models

No-Arbitrage Conditions for the Dynamics of Smiles

Utility Indifference Pricing and Dynamic Programming Algorithm

CS476/676 Mar 6, Today s Topics. American Option: early exercise curve. PDE overview. Discretizations. Finite difference approximations

EFFICIENT MONTE CARLO ALGORITHM FOR PRICING BARRIER OPTIONS

Barrier Option. 2 of 33 3/13/2014

AD in Monte Carlo for finance

Recovering portfolio default intensities implied by CDO quotes. Rama CONT & Andreea MINCA. March 1, Premia 14

Applied Stochastic Processes and Control for Jump-Diffusions

With Examples Implemented in Python

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

2.1 Mathematical Basis: Risk-Neutral Pricing

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

Simulating Continuous Time Rating Transitions

Boundary conditions for options

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

Computational Finance

Monte Carlo Methods for Uncertainty Quantification

Using the Risk Neutral Density to Verify No Arbitrage in Implied Volatility by Fabrice Douglas Rouah

Valuing volatility and variance swaps for a non-gaussian Ornstein-Uhlenbeck stochastic volatility model

An arbitrage-free method for smile extrapolation

Risk managing long-dated smile risk with SABR formula

Multi-Curve Pricing of Non-Standard Tenor Vanilla Options in QuantLib. Sebastian Schlenkrich QuantLib User Meeting, Düsseldorf, December 1, 2015

MATH3075/3975 FINANCIAL MATHEMATICS TUTORIAL PROBLEMS

"Vibrato" Monte Carlo evaluation of Greeks

Research Article Exponential Time Integration and Second-Order Difference Scheme for a Generalized Black-Scholes Equation

An IMEX-method for pricing options under Bates model using adaptive finite differences Rapport i Teknisk-vetenskapliga datorberäkningar

THAT COSTS WHAT! PROBABILISTIC LEARNING FOR VOLATILITY & OPTIONS

AN ANALYTICALLY TRACTABLE UNCERTAIN VOLATILITY MODEL

Arbitrage Bounds for Volatility Derivatives as Free Boundary Problem. Bruno Dupire Bloomberg L.P. NY

TEST OF BOUNDED LOG-NORMAL PROCESS FOR OPTIONS PRICING

RISKMETRICS. Dr Philip Symes

Binomial model: numerical algorithm

Numerics for SLV models in FX markets

IEOR E4703: Monte-Carlo Simulation

The Black-Scholes Model

Quasi-Monte Carlo for Finance

MFE/3F Questions Answer Key

A Brief Introduction to Stochastic Volatility Modeling

Managing the Newest Derivatives Risks

The University of Chicago, Booth School of Business Business 41202, Spring Quarter 2011, Mr. Ruey S. Tsay. Solutions to Final Exam.

Analytical formulas for local volatility model with stochastic. Mohammed Miri

European option pricing under parameter uncertainty

Merton s Jump Diffusion Model

Stochastic Differential Equations in Finance and Monte Carlo Simulations

Transcription:

Stochastic Local Volatility: Excursions in Finite Differences ICBI Global Derivatives Paris April 0 Jesper Andreasen Danske Markets, Copenhagen kwant.daddy@danskebank.dk

Outline Motivation: Part A & B. Part A: Volatility Interpolation -- from discrete quotes to a full arbitrage consistent continuum. - The local volatility model. - The implicit finite difference method used for volatility interpolation. - Relation to Variance Gamma and Laplace transforms. - Numerical example for SX5E.

Part B: Finite difference based calibration and simulation. - The stochastic local volatility model. - Backward and forward partial differential equations. - Finite difference solution of PDEs and discrete forward-backward equations. - Calibration. - Simulation in an FD grid. - Numerical examples for exotic options. - Correlation: Simulation with negative probabilities. Conclusion. 3

References Andreasen, J. and B. Huge (00): Finite Difference Based Calibration and Simulation. www.ssrn.com. Andreasen, J. (009): Planck-Fokker Boundary Conditions. Danske Markets working paper. Andreasen, J. and B. Huge (0): Volatility Interpolation. Risk March, 86-89. Carr, P. (008): Local Variance Gamma. Bloomberg working paper. Dupire, B. (994): Pricing with a Smile. Risk July, 8-0. Nabben, R. (999): On Decay Rates of Tridiagonal and Band Matrices. SIAM J. Matrix Anal. Appl. 0, 80-837. Østerby, O. (00): The Finite Difference Method for Parabolic Partial Differential Equations. Aarhus University. 4

Part A: Volatility Interpolation Generally, (stochastic) local volatility models require a full arbitrage consistent continuum of European option prices. But we only observe European option prices for discrete expiries and strikes. We provide an efficient and stable numerical algorithm for interpolation and extrapolation of a set of discrete option prices into a full continuum of arbitrage consistent option prices. The method is based on the fully implicit finite difference method and results by Nabben (999). The method is fast: approximately 0.05s for stretching 0 expiries with 0 strikes into a full continuous surface of option prices that is consistent with absence of arbitrage. 5

Part B: FD Calibration and Simulation A typical practitioner model set-up is:. SDE: Dynamics given by a an Stochastic Differential Equation.. Calibration: to European options using closed-form results or approximations. 3. FD: Backward pricing of exotics by numerical solution of finite difference approximation of the partial differential equation (PDE) associated with the SDE. 4. MC: Forward pricing of exotics by Monte-Carlo simulation of Euler approximation of SDE. 6

Example:. SDE: Heston stochastic volatility model.. Calibration: by numerical inversion of Fourier transforms. 3. FD solution on D Craig-Sneyd. 4. MC by Andersen (008) approximations of the Heston model. 7

Here we present an alternative approach where:. SDE: Stochastic local volatility model.. Calibration by solution of a D implicit FD scheme for the forward (Fokker-Planck) PDE. 3. Backward pricing by solution of a D implicit FD scheme for the backward PDE. 4. Forward pricing by Monte-Carlo simulation in a D implicit FD grid. Two pieces of innovation here: MC simulation in an implicit FD grid can be implemented to be as efficient as Euler discretisation but significantly more accurate. The discrete finite difference schemes in (, 3, 4) can be set up to be mutually consistent. 8

Again, the results are based on a combination of results in Nabben (999) and excursions in the fully implicit finite difference method. We will present the results in the context of a stochastic local volatility model but the methodology is generally applicable to other types of models. For the SLV case the methodology fits very nicely with the volatility interpolation scheme presented in part A. If time permits, we will round off by presenting some ideas for extending the methodology to non-zero correlation between stock and volatility. 9

Part A: Local Volatility Assume zero rates and that the underlying stock evolves according to the Markov diffusion ds( t) ( t, s( t)) dw () Option prices satisfy the backward PDE 0 (, ) V t t s V ss () subject to boundary conditions defining the particular claim in question. The initial European option prices are given by c( t, k) E[( s( t) k ) ] (3) Double integration of the Fokker-Planck equation or local time arguments can be used to derive the Dupire s forward equation 0

c t k c c k s k (4) 0 t (, ) kk, (0, ) ( 0 ) This equation gives a direct link between (time 0) observed option prices and the local volatility function: c (, ) (, ) t t k tk c ( t, k) kk (5) This is the local volatility approach: Numerically differentiate the surface of observed option prices to obtain a local volatility function and use this local volatility function to price exotics by numerical solution of the backward equation or Monte-Carlo simulation. This only works if we have an arbitrage consistent surface in expiry and strike of initial option prices, i.e. if for all ( tk, ). ct ( t, k) 0, ckk ( t, k) 0, ck ( t, k ) 0 (6)

Volatility Interpolation Suppose the volatility function is independent of time and consider the fully implicit finite difference discretisation of Dupire s equation: where ( ( ) ) (, ) (, ), (0, ) ( 0 ) kk t k c t t k c t k c k s k (7) ( ) ( ( ) ( ) ( )) kk f k k f k k f k f k k (8) In matrix format (7) can be written as where Ac( t t) c( t ) (9)

0 z z z z z z, t k ( ) zn zn zn 0 A z j k j (0) This matrix is diagonally dominant with positive diagonal and non-positive off diagonal elements. Nabben (999) shows that A 0 () Also, we have that A, (,,)' () so the rows of A can be interpreted as transitions probabilities and the results () and () imply that these probabilities are non-negative and sum to unity. 3

The rows of A look like exponential densities (for constant volatility): 0.6 0.4 0. 0. 0.08 0.06 0.04 0.0 0 -.50 -.00-0.50 0.00 0.50.00.50 The fact that the rows in A are densities can be used to show that the mapping (7) is convexity preserving and increasing in expiry. Hence, c( t h) h c( t h) 0, A ( c( t h)) 0, c( t h) 0 kk kk k (3) for all h 0 provided that ( ) 0 kk ct. 4

Proof of convexity preservation: ( h ) c( t kk h) c( t) kk kk kk kk kk kk c t kk h A c t kk ( h ) c( t h) c( t) ( h ) c( t h) c( t) ( ) ( )' ( ) 0 Proof of increasing values in expiry: ( h ) c( t h) c( t) kk [( h ) c( t h)] 0 h kk kk kk h c t h A c t h h kk c( t h) ( h ) c( t h) 0 ( ) ( )[ ( )] 0 5

So given arbitrage consistent prices at one expiry, c( ti, k ), and a volatility function, i() k, we can construct a full surface of arbitrage consistent European option prices up to the next expiry by c t t t c t t t t (4) ( ) [ ( ) ] ( ), [, ] i kk i i i It is important to note that for all includes the next expiry t. i t t i we roll to t from i t in one step. This (of course) 6

Volatility Interpolation Algorithm For the strike grid { k j k j k } 0 j,, N, the expiries 0 t0 t t m, and the discrete option { cˆ ( t, k ˆ )}, the algorithm can be summarized as: prices i ij i,, m; j,, n i 0. Set i 0 and c( t0, k j ) ( s0 k j ).. Let the volatility function i() k be piecewise flat with n i steps.. Solve the problem non-linear problem inf ( c( t, kˆ ) cˆ ( t, k ˆ )) i() j i i, j i i, j, c( t i, k) [ ( t ) ( ) ] (, ) i ti i k c t kk i k 3. If i m set i: i and go to. 7

4. For each t i t t i find the option prices as c t k t t k c t k (, ) [ ( ) ( ) ] (, ) i i kk i The update in step is extremely quick as it only involves solution of one tri-diagonal matrix system with a computational cost ON. ( ) 0 expiries, each with 0 discrete option quotes solved on a FD grid of 00-00 strike points goes in less than 0.05s of CPU time. Due to stability of the fully implicit finite difference method the algorithm is robust. In fact, we have implemented this as a default pre pricing step for all our stochastic local volatility model. 8

Tridag Matrix Solution Matrix inversion is normally time consuming but for a tri-diagonal matrix it is actually very easy and ON. ( ) From Numerical Recipes: void kmatrixalgebra::tridag( int rows, const kvalarray<double>& a, const kvalarray<double>& b, const kvalarray<double>& c, const kvalarray<double>& r, kvalarray<double>& x, kvalarray<double>& ws) { int j; double bet; bet =.0/b(0); x(0) = r(0)*bet; } // decomposition and forward substitution for(j=;j<rows;++j) { ws(j) = c(j-)*bet; bet =.0/(b(j) - a(j)*ws(j)); x(j) = (r(j) - a(j)*x(j-))*bet; } // backsubstitution for(j=rows-;j>=0;--j) { x(j) -= ws(j+)*x(j+); } 9

Relation between Model and Local Volatility In between calibration expiries we have c t k t t k c t k (, ) [ ( ) ( ) ] (, ) i i kk i Note that the resulting local volatilities ( tk, ) are linked to the model volatilities through the non-linear relationship: 0 [ ( t, k) ][ ( t t ) ( ) ] (, ) i i k c t kk i k t k So the local volatilities will not be (perfectly) piecewise flat in time even though the generating model volatilities are. 0

SX5E Example Black volatilities (as of March 00): t\k 0.53 0.5864 0.6597 0.733 0.7697 0.8063 0.843 0.863 0.8796 0.8979 0.963 0.9346 0.959 0.97 0.9896.0079.06.0445.069.08.0995.78.36.78.095.46.394.397.466 0.05 0.3365 0.36 0.3043 0.88 0.74 0.586 0.466 0.358 0.47 0.59 0.09 0.056 0.045 0.05 0.933 0.0 0.906 0.797 0.69 0.59 0.488 0.39 0.3 0.3 0.4 0.076 0.04 0.98 0.959 0.99 0.97 0.764 0.67 0.578 0.489 0.405 0.39 0.53 0.84 0.3 0.069 0.05 0.984 0.944 0.9 0.74 0.36 0.3058 0.887 0.77 0.557 0.407 0.69 0.4 0.039 0.96 0.90 0.885 0.867 0.87 0.53 0.3079 0.936 0.798 0.663 0.53 0.404 0.84 0.73 0.074 0.988 0.94 0.854 0.8 0.785 0.77 0.300 0.876 0.75 0.637 0.59 0.4 0.99 0.98 0.04 0.0 0.95 0.888 0.839 0.793.769 0.843 0.753 0.666 0.575 0.497 0.48 0.347 0.83 0.3 0.5 0.09 0.039 0.99 0.945.67 0.73 0.555 0.4 0.75 0.6 0.058.784 0.3366 0.378 0.309 0.863 0.7 0.58 0.448 0.3 0.9 0. 0.054 0.988 0.93 0.849 3.78 0.39 0.39 0.976 0.848 0.7 0.585 0.469 0.384 0.69 0.86 0.03 0.054 0.00 0.964 4.778 0.3008 0.975 0.848 0.7 0.6 0.50 0.39 0.305 0.3 0.64 0.05 0.054 0.0 5.774 0.809 0.693 0.584 0.486 0.399 0.3 0.5 0.9 0.35

Calibration accuracy k\t 0.53 0.5864 0.6597 0.733 0.7697 0.8063 0.843 0.863 0.8796 0.8979 0.963 0.9346 0.959 0.97 0.9896.0079.06.0445.069.08.0995.78.36.78.095.46.394 0.05 0.0% -0.07% 0.0% 0.0% -0.0% 0.00% 0.0% -0.0% 0.0% 0.0% 0.0% -0.06% 0.00% -0.0% -0.0% 0.0-0.05% 0.0% 0.0% -0.0% 0.00% 0.0% -0.0% 0.00% -0.0% 0.00% -0.0% 0.00% -0.09% 0.03% 0.97 0.0% 0.00% 0.00% 0.00% 0.0% -0.0% 0.00% 0.00% 0.00% 0.0% 0.00% -0.0% 0.00% -0.04% 0.74-0.0% -0.0% 0.00% 0.0% 0.0% 0.00% 0.00% 0.00% 0.0% -0.0% 0.03% -0.03% 0.0% 0.00% 0.53-0.0% -0.0% 0.00% 0.0% 0.0% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.0% 0.77 0.00% 0.00% 0.00% -0.0% 0.00% 0.00% 0.00% -0.0% 0.03% 0.0% -0.0% 0.0% -0.0% 0.07%.769 0.00% 0.0% -0.0% 0.0% -0.0% 0.00% 0.00% -0.0% 0.0% -0.0% 0.00% 0.00% 0.00% 0.0%.67 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%.784 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% -0.0% 0.0% -0.03% 0.00% 3.78 0.00% -0.0% 0.0% -0.0% 0.0% -0.0% 0.0% -0.03% 0.0% -0.0% 0.0% -0.05% 4.778 0.08% -0.3% 0.05% 0.06% -0.0% -0.0% 0.00% -0.0% 0.00% -0.0% 0.0% 5.774 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%

5.878 9.365 45.79 786.397 488.6 87.93 5333.37 0096.35 93.07 368.34 5.505657 4.948746 4.39835 3.83494 3.7803.7793.74337 0.0464 0.59887.06055.6746 Forward Volatility Example The calibration runs in less than 0.05s on a strike grid of 00 points. Std error of 0.03% BS. After calibration we compute all the option prices (<0.0s) and from these we can derive the forward volatility surface using the Dupire equation ( tk, ) c ( t, k)/ c ( t, k ). t kk 00.00% 80.00% 60.00% 40.00% 0.00% 0.00% 3

The forward volatility surface is not perfectly smooth but the important point is that it contains no poles, i.e. no spikes or negative variance. and consequently, there are no arbitrages in the surface of option prices. Within strikes close to spot the local volatilities are almost flat. 4

Relation to Variance Gamma and Laplace Transform The results that we have presented here are related to the results found by Carr (008) for the local variance gamma model. However, the ideas of the numerical routine and the filling of the gaps between the discrete expiries by one-stepping the implicit FD algorithm are, to our knowledge, new. Consider the option prices generated by the time-homogeneous Dupire equation g k g g k s k (5) 0 t ( ), (0, ) ( 0 ) kk Then the Laplace transform of the option prices t/ T( u) h( u, k) e g( t, k) dt 0 Tu () (6) satisfy the equation of the implicit finite difference equation: 5

T u k k h u k g k [ ( ) ( ) ] (, ) (0, ) (7) So the prices of the fully implicit finite difference scheme (7) correspond to option prices from the model () where we draw the maturity from an exponentially distribution. It also shows that we can introduce a deterministic time change to control the interpolation in the expiry dimension. The option prices can also be interpreted as coming from an local volatility variance gamma model with a specific choice of parameters. 6

Part B: Stochastic Local Volatility Assume zero rates and that the underlying stock and volatility evolve according to the SDEs ds z ( t, s) dw dz ( z) dt z dz, z(0) dw dz 0 (8) For now we assume zero-correlation between the stochastic volatility factor and the underlying stock. Derivatives prices v v( t, s x, z y ) satisfy the backward PDE 0 D x v D x v D y v t y x Dy ( y) y y y (9) 7

subject to boundary conditions defining the particular claim in question. We can find European derivatives prices by integrating the payoff over the marginal density v(0, s, z) p( t, x, y) v( t, x, y) dxdy (0) where the density (or the Green s function) satisfies the forward (Fokker-Planck) equation p D p D p p x y x s y z t D* [ x p yp] x * Dy p [ ( y) p] [ y p] y y 0 * * x y, (0,, ) ( (0)) ( (0)) () This equation is dual to the backward equation. At skool the proof is typically buried in adjoint operator theory and things like that. 8

The main point here is that () runs forward from time 0 whereas (9) runs backward to time 0 from the terminal boundary conditions. Essentially, the difference is that the solution to (9) is the price of one derivative for all times, spot and volatility levels whereas the solution to () are the densities (as seen from time 0) to all spot and volatility levels in future time. or equivalently the option prices for all strikes and expiries. For the initial European option prices c( t, k) E[( s( t) k ) ] () double integration of the Fokker-Planck equation or local time arguments can be used to derive Dupire s forward equation ( tk, ) ct ( tk, ) E [ z ( t ) s ( t ) k ] c kk ( tk, ) (3) 9

Here we can compute the conditional expectation as E[ z( t) s( t) k] zpr( z s( t) k) dz y ( p( t, k, y) ) dy p( t, k, y') dy' (4) 30

Calibration The above suggest that the local volatility surface can be calibrated to the initially observed European option prices can by: 0. Take all European option prices { c( t, k )} t as given (or from the vol interpol algo) 0. Discretise (9) for numerical solution on the time grid 0 t t. Set i. 0. Set c (, ) (, ) t ti k ti k E [ z ( t ) s ( t ) k ] c ( t, k ) i i kk i and solve for () for E [ z ( t ) s ( t ) k ]. i i 3. Set c (, ) (, ) t ti k ti k E [ z ( t ) s ( t ) k ] c ( t, k, i : i, and go to. ) i i kk i After calibration of the local volatility surface we can solve for exotic option prices by discrete solution of the backward equation (9) and/or Monte-Carlo simulation of a discretisation of the SDE (8). 3

This is the route taken in Lipton (00) and in the first generation of our own SLV. 3

Problem: The discrete forward solution will (typically) not be consistent with the discrete backward solution or the simulation scheme. The backward FD issue is typically less of an issue than the consistency with the simulation scheme. Very fine time stepping may be necessary in the MC to achieve a sufficient degree of convergence and accuracy. Direct discretisation of the forward equation () necessitates a set of non-trivial boundary conditions at the edges of the grid. See Lucic (008). 33

Finite Difference Solution A slightly primitive discretisation of the backward equation (9) is the LOD scheme ( td ) v( t ) v( t ) x / ( td ) v( t ) v( t ) i y i i i / (5) where D is a finite difference tridiagonal matrix discretisation of the operator 0 a a a td a a a, a t x ( t ) an an an 0, x j i x j (6) In (5) the first equation has to be solved for each y and then the second equation has to be solved for each x. 34

The scheme (5) is as stable as the implicit scheme, in the Nabben sense that we have ( td ) ( ) y td x 0 and O( t x y ) accurate and convergent. We have v t td td v t (7) ( i) ( y) ( x) ( i ) Multiplying (7) with a function p( t, x, y ) yields p t v t p t td td v t (8) ( i)' ( i) ( i)'( y) ( x) ( i ) So if we define p( t, x, y ) to be the solution to 35

pt ( ) 0 x x(0) y y(0) ( td )' p( t ) p( t ) y / ( td )' p( t ) p( t ) i x i i / i (9) then p( t, x, y ) is the Green s function for the discrete system (5), in the sense that European option prices that satisfy (5) also satisfy v( t ) p( t )' v( t ) p( t, x, y) v( t, x, y ) (30) 0 n n n n x y Equation (9) is thus exactly consistent with the backward scheme (5). The adjoint operators are in this case replaced by the transpose of the matrix. There is no need to take special care of the boundary conditions at the edges because these are implicitly defined by the backward scheme. 36

(9) can in turn be manipulated to yield the following equation for the European call values 0 [ c( t, x) c( t, x)] ( x) E[ y( t ) x] (, ) h h / h h xxc t x t h c( t, k) ( x k) p( t, x, y) h / h / x y E[ y( t ) x] h y y yp( t, x, y) h p( t, x, y) h (3) which is the discrete version of the stochastic volatility Dupire equation c t 0 E[ s k] c k (3) Equation (3) is used as the basis for calibrating the model to observed European call prices, rather than the continuous time equation (3). 37

This achieves full consistency between the backward FD solution and the calibration. 38

Calibration algorithm:. Take all European option prices { c( t, k )} t as given (or from the vol interpol algo) 0. Discretise the model on the time grid 0 t t. Set h 0. 0 (, ) ( 3. Set (, ) c t, ) h x c t x t x h h E [ y ( t ) x ] c ( t, x ) h xx h. 4. Solve (9) for p( t, x, y ). h 5. Set c( t, x) c( t, x) ( t, x) h h / h E [ y ( t ) x ] c ( t, x. ) 6. h: h, and go to 3. h xx h The steps 4-5 can in principle be repeated but this does not seem necessary in practice. 39

Monte-Carlo We have the transition v t td td v t (33) ( i) ( y) ( x) ( i ) random y random x The point here is that this can be simulated as first step y and then step x. Again, the matrix 0 a a a A td a a a, a t x ( t ) an an an 0, x j i x j (34) 40

is diagonally dominant with positive diagonal and non-positive off diagonal elements. Nabben (999) shows that Also, as A 0 (35) A, (,,)' (36) the rows of A can be interpreted as transitions probabilities and the results (35) and (36) imply that these probabilities are non-negative and sum to unity. 4

As we have seen the rows of A look like exponential densities: 0.6 0.4 0. 0. 0.08 0.06 0.04 0.0 0 -.50 -.00-0.50 0.00 0.50.00.50 The transition matrices ( td ) ( td ) y x can thus be seen as discrete Markov chains. 4

Decomposition of Tridiagonal Matrices Computing inverses of matrices is generally very time consuming, On ( 3). Though we also know that tridiagonal matrix equations Ax On. () b can be solved in linear time Nabben (999), however, show that the inverse of a tridiagonal matrix A can be found in linear time Onin () the sense that there exist vectors x, y, p, q which can be found in linear time so that A ij x y q / q, i j i j j i x y p / p, i j j i i j (37) For simulation we need the distribution functions Q Q ( x ) Pr( x( t ) x x( t ) x ) A (38) kl k l i l i k km m l 43

The distribution functions can be used for propagating x using uniforms by the scheme x t Q u u U (39) if x() t x. i ( i ) ( ), ~ (0,) k k The distribution functions can also be found in linear time, in the sense that there exists linear time algorithms that produce decomposition vectors UV, so that Q U V. kl k l This can be combined with bisection to yield efficient routines for simulation. The trouble, however, with all these routines is that they are prone to numerical overflow, in the sense that the elements of the vectors UV, tend to be either very large (say e3) or very small (say e-3). So in our implementation we actually use an algorithm that finds the diagonal elements of { Q } (in linear time) and then uses a recursive formula to step away from the diagonal. kk 44

The point here is that in most cases we will only need a few steps (0, or ) to find the right column entry. Huge (00) presents an On () algorithm for identifying x, y, d n satisfying A d ij i j i A ii xi yi / Aii x A A A, j i j j, j ij ij, x j Ajj y A A A, j i j j, j ij ij, y j Ajj This combined with Q Q A A i ij ii ik ik k j k i can be used for going from one column to the next in the transition matrix. j 45

Algorithm for Decomposition of Tridiagonal Matrix // the vectors a, b, c are the three diagonals of the matrix A void hugedecomp( int n, const double* a, const double* b, const double* c, double* x, double* y, double* d) { // dimension check if(n<=0) return; if(n==) { x[0] =.0; y[0] =.0; d[0] =.0/b[0]; return; } // input // output // help int i; // fwd x[0] =.0; x[] =.0; for(i=;i<n;++i) { x[i] = x[i-] - (a[i-]/b[i-])*(c[i-]/b[i-])*x[i-]; } // bwd y[n-] =.0/(x[n-] - (a[n-]/b[n-])*(c[n-]/b[n-])*x[n-]); y[n-] = y[n-]; for(i=n-3;i>=0;--i) { y[i] = y[i+] - (a[i+]/b[i+])*(c[i+]/b[i+])*y[i+]; } } // set d d[0] = x[0]*y[0]/b[0]; for(i=;i<n;++i) { d[i] = -(a[i]/b[i])*(y[i]/y[i-])*d[i-] + x[i]*y[i]/b[i]; } 46

Simulation Algorithm Simulation algorithm 0. Suppose x( t ) x h i. Set j i.. Draw a uniform u~ U (0,).. If u Q ii: while u Q ij, set j: j. Go to 4. 3. If u Q ii: while u Qij, set j: j. Go to 4. 4. Set x( t ) x h j. Note that all calculations here are based on simple operations no exp() or ln() or similar. In typical implementation 80% of the time will be spent in step. 47

Monte-Carlo Implementation Before we do the simulations we need to solve one (calibration) forward grid and the equivalent of one backward grid (decomposition algorithm). [Could actually be combined.] In applications this runs in around 0.4s per underlying asset. The simulations themselves are very quick and only marginally more expensive than Euler discretisation and only involve elementary functions..but the important point is that the we do not need to do the fine time-stepping that is normally necessary with the Euler stepping. In fact, in the case of very frequent sampling is needed for a particular product we may use a Brownian bridge for sampling in between FD grid time points. Multi asset can be implemented by using a Gaussian copula between the different underlying stocks. 48

Numerical Examples: Calibration SX5E on Feb, 0. LVI model first used for interpolation and extrapolation of European option price quotes. Local volatility function for vol-of-var 0: 49

The difference between local volatilities for ( t, k) 0 ( t, k ) : 0.5 50

The difference between local volatilities for ( t, k) ( t, k ) : 0 5

Numerical Examples: Exotic Options MC simulate monthly returns over 36 months: R i St () i St ( ) i Different pay-offs - Realised variance: V R - Capped realised variance: min( VK, ) - Floored realised variance: max( KV, ) - Straddle sum: R i i i i 5

Sensitivity to vol-of-vol: Vol of Var dp slv mc.epsilon 0.0000% 00.0000% 00.0000% 300.0000% Std PRICES error CAPPEDREALVAR 0.357 0.85 0.64 0.078 0.0007 FLOOREDREALVAR 0.43 0.466 0.567 0.665 0.007 REALVAR 0.89 0.86 0.843 0.854 0.0030 STRADDLES.83.755.530.3460 0.0089 Intuition: Realised variance ~ variance swap ~ log contract ~ European pay-off. Straddles ~ sqrt(variance) => concave in variance => decrease in vol-of-vol. Capped variance ~ realised variance cap on variance => decrease in vol-of-vol. Floored variance ~ realised variance + floor on variance => increase in vol-of-vol. 53

Conclusion Excursions in the implicit finite difference method to come up with: - An arbitrage free volatility interpolation/extrapolation scheme. - Forward-backward consistent PDE pricing and calibration. - Consistent MC pricing and calibration. Methods are quick and simple in the sense that they only require elementary operations. Basic idea is to use the fully implicit finite difference method as a discrete model in itself rather than purely a tool for approximation of the continuous PDE. Doing so we are able to develop an effective volatility interpolation scheme and achieve full consistency between calibration, backward pricing and simulation in SLV models. 54

Extensions: - SLV Model extends to the multi asset case via Gaussian copulas. - One-step FD grids can be used to rectify option price approximations (such as SABR) that produce negative implied densities. Non-zero correlation and applications to hybrids and interest rates under investigation. 55