Monte-Carlo Pricing under a Hybrid Local Volatility model

Similar documents
Financial Mathematics and Supercomputing

Pricing Early-exercise options

Market interest-rate models

Methods for Pricing Strongly Path-Dependent Options in Libor Market Models without Simulation

Handbook of Financial Risk Management

Long Dated FX products. Dr. Sebastián del Baño Rollin Global Head FX and Equity Quantitative Research

Analytical formulas for local volatility model with stochastic. Mohammed Miri

INTEREST RATES AND FX MODELS

A Consistent Pricing Model for Index Options and Volatility Derivatives

Algorithmic Differentiation of a GPU Accelerated Application

Stochastic Grid Bundling Method

Multi-level Stochastic Valuations

Managing the Newest Derivatives Risks

ESGs: Spoilt for choice or no alternatives?

American Option Pricing: A Simulated Approach

Monte Carlo Methods in Structuring and Derivatives Pricing

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

Financial Risk Modeling on Low-power Accelerators: Experimental Performance Evaluation of TK1 with FPGA

Barrier Option. 2 of 33 3/13/2014

Accelerating Quantitative Financial Computing with CUDA and GPUs

Monte Carlo Simulations

Practical example of an Economic Scenario Generator

Callable Bond and Vaulation

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

Institute of Actuaries of India. Subject. ST6 Finance and Investment B. For 2018 Examinationspecialist Technical B. Syllabus

Puttable Bond and Vaulation

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

Interest Rate Models: An ALM Perspective Ser-Huang Poon Manchester Business School

Heston Stochastic Local Volatility Model

New GPU Pricing Library

Interest Rate Volatility

Interest Rate Bermudan Swaption Valuation and Risk

Calibration Lecture 4: LSV and Model Uncertainty

AN ANALYTICALLY TRACTABLE UNCERTAIN VOLATILITY MODEL

Interest Rate Cancelable Swap Valuation and Risk

Domokos Vermes. Min Zhao

GPU-Accelerated Quant Finance: The Way Forward

Credit Portfolio Simulation with MATLAB

"Pricing Exotic Options using Strong Convergence Properties

State processes and their role in design and implementation of financial models

Machine Learning for Quantitative Finance

Fixed Income Modelling

Interest Rate Modeling

Monte Carlo Methods in Financial Engineering

2.1 Mathematical Basis: Risk-Neutral Pricing

Hedging Strategy Simulation and Backtesting with DSLs, GPUs and the Cloud

"Vibrato" Monte Carlo evaluation of Greeks

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

MOUNTAIN RANGE OPTIONS

CB Asset Swaps and CB Options: Structure and Pricing

Risk managing long-dated smile risk with SABR formula

NAG for HPC in Finance

Exotic Derivatives & Structured Products. Zénó Farkas (MSCI)

Local Volatility Pricing Models for Long-Dated FX Derivatives

Reduce to the max. Efficient solutions for mid- size problems in interest rate derivative pricing and risk management at RLB OOE.

An Introduction to Structured Financial Products (Continued)

RISKMETRICS. Dr Philip Symes

On VIX Futures in the rough Bergomi model

History of Monte Carlo Method

Outline. GPU for Finance SciFinance SciFinance CUDA Risk Applications Testing. Conclusions. Monte Carlo PDE

Ultimate Control. Maxeler RiskAnalytics

F1 Acceleration for Montecarlo: financial algorithms on FPGA

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

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

A Poor Man s Guide. Quantitative Finance

Callable Libor exotic products. Ismail Laachir. March 1, 2012

Numerical Methods for Pricing Energy Derivatives, including Swing Options, in the Presence of Jumps

Callability Features

Computational Finance. Computational Finance p. 1

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

Advanced Equity Derivatives by Oliver Brockhaus

Bayesian Finance. Christa Cuchiero, Irene Klein, Josef Teichmann. Obergurgl 2017

FX Smile Modelling. 9 September September 9, 2008

Economic Scenario Generator: Applications in Enterprise Risk Management. Ping Sun Executive Director, Financial Engineering Numerix LLC

Pricing Implied Volatility

Value at Risk Ch.12. PAK Study Manual

Pricing with a Smile. Bruno Dupire. Bloomberg

On modelling of electricity spot price

FE610 Stochastic Calculus for Financial Engineers. Stevens Institute of Technology

HIGH PERFORMANCE COMPUTING IN THE LEAST SQUARES MONTE CARLO APPROACH. GILLES DESVILLES Consultant, Rationnel Maître de Conférences, CNAM

Introduction to Financial Mathematics

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

Latest Developments: Interest Rate Modelling & Interest Rate Exotic & FX Hybrid Products

King s College London

SPEED UP OF NUMERIC CALCULATIONS USING A GRAPHICS PROCESSING UNIT (GPU)

Pricing of a European Call Option Under a Local Volatility Interbank Offered Rate Model

CUDA Implementation of the Lattice Boltzmann Method

Real-World Quantitative Finance

Bruno Dupire April Paribas Capital Markets Swaps and Options Research Team 33 Wigmore Street London W1H 0BN United Kingdom

GRAPHICAL ASIAN OPTIONS

Implementing Models in Quantitative Finance: Methods and Cases

Modeling spark spread option and power plant evaluation

Introduction to Sequential Monte Carlo Methods

ABSA Technical Valuations Session JSE Trading Division

Toward a coherent Monte Carlo simulation of CVA

Contents. Part I Introduction to Option Pricing

Pricing Barrier Options under Local Volatility

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

Robust Optimization Applied to a Currency Portfolio

Market risk measurement in practice

Transcription:

Monte-Carlo Pricing under a Hybrid Local Volatility model Mizuho International plc GPU Technology Conference San Jose, 14-17 May 2012

Introduction Key Interests in Finance Pricing of exotic derivatives Monte-Carlo simulations Local Volatility model for Foreign Exchange Rates (FX) Hybrid with Interest Rate models (IR)

Introduction Key Interests in Finance Pricing of exotic derivatives Monte-Carlo simulations Local Volatility model for Foreign Exchange Rates (FX) Hybrid with Interest Rate models (IR) Key Interests in CUDA High-dimensional Monte-Carlo simulations Texture memory (layered)

Introduction Plan of the talk Description of the problem and motivation for parallel programming and textures

Introduction Plan of the talk Description of the problem and motivation for parallel programming and textures Outline of implementation in CUDA

Introduction Plan of the talk Description of the problem and motivation for parallel programming and textures Outline of implementation in CUDA Numerical tests Call/Put options in Local Volatility (LV) model Exotic swaps in LV model Exotic swaps in Hybrid LV model

Introduction Plan of the talk Description of the problem and motivation for parallel programming and textures Outline of implementation in CUDA Numerical tests Call/Put options in Local Volatility (LV) model Exotic swaps in LV model Exotic swaps in Hybrid LV model Conclusion on performance and use in industry

Description of the problem The product: Power-Reverse Dual Coupon Swap (PRDC)

Description of the problem The product: Power-Reverse Dual Coupon Swap (PRDC) Underlying swap: for a series of dates 0 T i 30 years

Description of the problem The product: Power-Reverse Dual Coupon Swap (PRDC) Underlying swap: for a series of dates 0 T i 30 years receive option on FX i with strike K i : +max(fx i K i,0)

Description of the problem The product: Power-Reverse Dual Coupon Swap (PRDC) Underlying swap: for a series of dates 0 T i 30 years receive option on FX i with strike K i : +max(fx i K i,0) pay option on IR i with strike Q i : max(ir i Q i,0)

Description of the problem The product: Exotic exercise Target Redemption Note (TARN) with target A

Description of the problem The product: Exotic exercise Target Redemption Note (TARN) with target A Monitor coupon sum i C i = max(fx k K k,0) k=1

Description of the problem The product: Exotic exercise Target Redemption Note (TARN) with target A Monitor coupon sum i C i = max(fx k K k,0) k=1 if C i > A, cancel all remaining cash-flows

Description of the problem The product: Main features Sensitive to FX smile modelling of smile

Description of the problem The product: Main features Sensitive to FX smile modelling of smile Sensitive to FX-IR correlation, IR volatility modelling of IR stochasticity multi-factor FX-IR hybrid

Description of the problem The product: Main features Sensitive to FX smile modelling of smile Sensitive to FX-IR correlation, IR volatility modelling of IR stochasticity multi-factor FX-IR hybrid Path-dependent due to exotic exercise mainly Monte-Carlo

Description of the problem The model: Dupire s Local Volatility [1] Diffusion with volatility σ(t, FX) dfx FX = (r d r f )dt +σ(t,fx)dw r d is the domestic interest rate r f is the foreign interest rate dw is a Brownian motion

Description of the problem The model: Calibration to the market of FX options

Description of the problem The model: Calibration to the market of FX options Market characterized by implied volatility θ(t, FX) once differentiable in t, twice in FX (ideally) satisfies non-arbitrage conditions (ideally)

Description of the problem The model: Calibration to the market of FX options Market characterized by implied volatility θ(t, FX) once differentiable in t, twice in FX (ideally) satisfies non-arbitrage conditions (ideally) Model fits the market exactly for Dupire s condition ( θ σ 2 (t,fx) = f t, θ FX, 2 θ ) FX 2

Description of the problem The model: Sampling the volatility LV matrix defined as σ ni = σ(t n,fx i )

Description of the problem The model: Sampling the volatility LV matrix defined as σ ni = σ(t n,fx i ) Typical size 200 200 = 40,000 entries

Description of the problem The model: Sampling the volatility LV matrix defined as σ ni = σ(t n,fx i ) Typical size 200 200 = 40,000 entries Bi-linear interpolation in t and FX texture memory [2] simple but lacks flexibility

Description of the problem The model: Sampling the volatility LV matrix defined as σ ni = σ(t n,fx i ) Typical size 200 200 = 40,000 entries Bi-linear interpolation in t and FX texture memory [2] simple but lacks flexibility Linear interpolation in FX at known t layered textures slightly more complicated but more flexible and/or accurate

Description of the problem Summary Multi-factor and path-dependent product Monte-Carlo simulation good speed-up expected with CUDA

Description of the problem Summary Multi-factor and path-dependent product Monte-Carlo simulation good speed-up expected with CUDA Model requires interpolation of a matrix benefit from texture memory

Description of the problem Summary Multi-factor and path-dependent product Monte-Carlo simulation good speed-up expected with CUDA Model requires interpolation of a matrix benefit from texture memory Multiple cash-flows, monitoring, smile-modelling large number of time steps high-dimensional problem inline random number generation

Implementation Outline Single-thread: On each path j, at each time t n

Implementation Outline Single-thread: On each path j, at each time t n 1 calculate next uniform random number

Implementation Outline Single-thread: On each path j, at each time t n 1 calculate next uniform random number 2 transform to Gaussian, then Brownian motion increment dwn j

Implementation Outline Single-thread: On each path j, at each time t n 1 calculate next uniform random number 2 transform to Gaussian, then Brownian motion increment dwn j 3 read previous spot FXn j from memory

Implementation Outline Single-thread: On each path j, at each time t n 1 calculate next uniform random number 2 transform to Gaussian, then Brownian motion increment dwn j 3 read previous spot FXn j from memory 4 calculate volatility σ by calling texture at (t n,fxn) j

Implementation Outline Single-thread: On each path j, at each time t n 1 calculate next uniform random number 2 transform to Gaussian, then Brownian motion increment dwn j 3 read previous spot FXn j from memory 4 calculate volatility σ by calling texture at (t n,fxn) j 5 calculate new spot FX j n+1 = FXj ne (r d r f 1 2 σ2 )(t n+1 t n)+σdw j n

Implementation Outline Single-thread: On each path j, at each time t n 1 calculate next uniform random number 2 transform to Gaussian, then Brownian motion increment dwn j 3 read previous spot FXn j from memory 4 calculate volatility σ by calling texture at (t n,fxn) j 5 calculate new spot FX j n+1 = FXj ne (r d r f 1 2 σ2 )(t n+1 t n)+σdw j n 6 calculate product(s)

Implementation Outline Single-thread: On each path j, at each time t n 1 calculate next uniform random number 2 transform to Gaussian, then Brownian motion increment dwn j 3 read previous spot FXn j from memory 4 calculate volatility σ by calling texture at (t n,fxn) j 5 calculate new spot FX j n+1 = FXj ne (r d r f 1 2 σ2 )(t n+1 t n)+σdw j n 6 calculate product(s) 7 write new spot in memory

Implementation Outline Single-thread: On each path j, at each time t n 1 calculate next uniform random number 2 transform to Gaussian, then Brownian motion increment dwn j 3 read previous spot FXn j from memory 4 calculate volatility σ by calling texture at (t n,fxn) j 5 calculate new spot FX j n+1 = FXj ne (r d r f 1 2 σ2 )(t n+1 t n)+σdw j n 6 calculate product(s) 7 write new spot in memory Loop on path, then time.

Implementation Outline Multi-thread: Sequential in time, parallel on paths

Implementation Outline Multi-thread: Sequential in time, parallel on paths Grid configuration 1-dimensional grid of N blocks blocks 1-dimensional blocks of N threads threads s = N blocks N threads = number of concurrent threads

Implementation Outline Multi-thread: Sequential in time, parallel on paths Grid configuration 1-dimensional grid of N blocks blocks 1-dimensional blocks of N threads threads s = N blocks N threads = number of concurrent threads Thread j calculates paths j,j +s,j +2s,etc...

Implementation Outline Multi-thread: Sequential in time, parallel on paths Grid configuration 1-dimensional grid of N blocks blocks 1-dimensional blocks of N threads threads s = N blocks N threads = number of concurrent threads Thread j calculates paths j,j +s,j +2s,etc... Thread j must remember previous spot values for paths j,j +s,j +2s,etc... too much for shared memory store previous spot values in global memory

Implementation Outline Multi-thread: Thread j: calculates products on paths j,j +s,j +2s,etc... sums them in local variable writes sums in shared memory

Implementation Outline Multi-thread: Thread j: calculates products on paths j,j +s,j +2s,etc... sums them in local variable writes sums in shared memory Synchronize

Implementation Outline Multi-thread: Thread j: calculates products on paths j,j +s,j +2s,etc... sums them in local variable writes sums in shared memory Synchronize In each block: one thread is attributed to each product accumulates in a local variable all thread sums for this product writes block-partial sum in global memory

Implementation Outline Multi-thread: Global memory contains block-partial sums for each product, each block, at each time

Implementation Outline Multi-thread: Global memory contains block-partial sums for each product, each block, at each time Transfer to host

Implementation Outline Multi-thread: Global memory contains block-partial sums for each product, each block, at each time Transfer to host On host, sum results of all blocks.

Implementation Outline Multi-thread: remark on random number generation typical number of times: 500

Implementation Outline Multi-thread: remark on random number generation typical number of times: 500 typical number of factors: 2, but easily going to 3 and more

Implementation Outline Multi-thread: remark on random number generation typical number of times: 500 typical number of factors: 2, but easily going to 3 and more typical number of simulations: 100K, but may want more

Implementation Outline Multi-thread: remark on random number generation typical number of times: 500 typical number of factors: 2, but easily going to 3 and more typical number of simulations: 100K, but may want more global generation requires minimum global memory 500 2 100,000 4 = 400MB

Implementation Outline Multi-thread: remark on random number generation typical number of times: 500 typical number of factors: 2, but easily going to 3 and more typical number of simulations: 100K, but may want more global generation requires minimum global memory 500 2 100,000 4 = 400MB cannot run on all devices, too restrictive for pratical applications use inline generation

Implementation Outline Texture: Desired interpolation

Implementation Outline Texture: Texture interpolation

Implementation Outline Texture: Linear rescaling is required

Implementation Outline Texture: Linear rescaling is required Given spots FX 0,FX 1, FX M 1, volatilities σ 0,σ 1, σ M 1

Implementation Outline Texture: Linear rescaling is required Given spots FX 0,FX 1, FX M 1, volatilities σ 0,σ 1, σ M 1 The volatility at any spot FX is σ(fx) = tex(αfx +β)

Implementation Outline Texture: Linear rescaling is required Given spots FX 0,FX 1, FX M 1, volatilities σ 0,σ 1, σ M 1 The volatility at any spot FX is σ(fx) = tex(αfx +β) with α = β = 1 M M 1 M(FX M 1 FX 0 ) ( 1 2 (M 1) FX 0 FX M 1 FX 0 )

Implementation Outline Texture: Bi-linear interpolation with standard texture σ(t,fx) = tex2d(αfx +β,γt +δ)

Implementation Outline Texture: Bi-linear interpolation with standard texture σ(t,fx) = tex2d(αfx +β,γt +δ) Linear interpolation with layered texture σ(t n,fx) = tex1dlayered(αfx +β,n)

Numerical Tests Vanilla Options: Performance of the texture (500 time steps, 500K simulations) 50% 70% speed gains with texture good accuracy of the texture interpolation 100 points sufficient

Numerical Tests Vanilla Options: Gain (single thread vs. GTX 460)

Numerical Tests Exotic Swap (one factor): Additional state variable on path j C j i = i max(fx j k K k,0) k=1 one more read/write access from global memory

Numerical Tests Exotic Swap (one factor): Additional state variable on path j C j i = i max(fx j k K k,0) k=1 one more read/write access from global memory Product calculated only at cash-flow times (at most 120) less operations than for vanillas (500)

Numerical Tests Exotic Swap (one factor): Gain (single thread vs. GTX 460)

Numerical Tests Exotic Swap (hybrid 2F): r d follows Hull-White model dr d = (θ ar d )dt +σ r dw r

Numerical Tests Exotic Swap (hybrid 2F): r d follows Hull-White model it has a correlation ρ with FX dr d = (θ ar d )dt +σ r dw r dw FX = g 1 dt dw r = (ρg 1 + 1 ρ 2 g 2 ) dt

Numerical Tests Exotic Swap (hybrid 2F): r d follows Hull-White model it has a correlation ρ with FX dr d = (θ ar d )dt +σ r dw r dw FX = g 1 dt dw r = (ρg 1 + 1 ρ 2 g 2 ) dt 2 additional state variable on path j r j T, e 0 rjdt (numeraire) two more read/write accesses to global memory

Numerical Tests Exotic Swap (hybrid 2F): Gain (single thread vs. GTX 460)

Conclusion Extention to 3F, barriers very similar to 2F, TARN should not be a problem

Conclusion Extention to 3F, barriers very similar to 2F, TARN should not be a problem Extention to callables Longstaff-Schwartz not entirely parallel should not be a problem but gains may be lower use Malliavin calculus? (Abbas-Turki, GTC 2010)

Conclusion Large gains on GTX 460 and for realistic products and pricing configurations

Conclusion Large gains on GTX 460 and for realistic products and pricing configurations Possibility to run more simulations more accurate Greeks more efficient risk management

Conclusion Large gains on GTX 460 and for realistic products and pricing configurations Possibility to run more simulations more accurate Greeks more efficient risk management Value-at-Risk and Potential Exposure calculations possible without approximations

Conclusion Large gains on GTX 460 and for realistic products and pricing configurations Possibility to run more simulations more accurate Greeks more efficient risk management Value-at-Risk and Potential Exposure calculations possible without approximations Large number of scenario testing possible on exotic portfolios

Disclaimer This publication has been prepared by Sebastien Gurrieri of Mizuho International plc solely for the purpose of presentation at this conference. The opinions expressed in this presentation are those of the author and do not necessarily reflect the view of Mizuho International plc, which is not responsible for any use which may be made of its contents. It is not, and should not be construed as, an offer or solicitation to buy, or sell, any security, or any interest in a security or enter into any transaction. This publication may include details of instruments that have not been issued. There is no guarantee that such instruments will be issued in the future. This publication has been prepared solely from publicly available information. Information contained herein and the data underlying it have been obtained from, or based upon, sources believed by the author to be reliable. However, no assurance can be given that the information, data or any computations based thereon, is accurate or complete. Opinions stated in this report are subject to change without notice. There are risks associated with the financial instruments and transactions described in this publication. Investors should consult their own financial, legal, accounting and tax advisors about the risks, the appropriate tools to analyse an investment and the suitability of an investment in their particular circumstances. Mizuho International plc is not responsible for assessing the suitability of any investment. Investment decisions and responsibility for any investments is the sole responsibility of the investor. Neither the author, Mizuho International plc nor any affiliate accepts any liability whatsoever with respect to the use of this report or its contents.

References 1 B. Dupire, Pricing with a smile, Risk 7, pp. 18-20, Jan. 1994. 2 A. Bernemann, R. Schreyer and K. Spanderen, Accelerating Exotic Option Pricing and Model Calibration Using GPUs, Working Paper, Feb. 2011. 3 http://sebgur.fr/sgdev.html