Math Computational Finance Double barrier option pricing using Quasi Monte Carlo and Brownian Bridge methods

Similar documents
Math Computational Finance Option pricing using Brownian bridge and Stratified samlping

Math Option pricing using Quasi Monte Carlo simulation

Math Computational Finance Barrier option pricing using Finite Difference Methods (FDM)

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

EFFICIENT MONTE CARLO ALGORITHM FOR PRICING BARRIER OPTIONS

Computational Finance Improving Monte Carlo

2.1 Mathematical Basis: Risk-Neutral Pricing

Assignment - Exotic options

ELEMENTS OF MONTE CARLO SIMULATION

MONTE CARLO EXTENSIONS

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

Chapter 2 Uncertainty Analysis and Sampling Techniques

Monte Carlo Methods in Financial Engineering

Computer Exercise 2 Simulation

Market interest-rate models

Journal of Mathematical Analysis and Applications

MÄLARDALENS HÖGSKOLA

Stochastic Differential Equations in Finance and Monte Carlo Simulations

10. Monte Carlo Methods

Math 623 (IOE 623), Winter 2008: Final exam

Gamma. The finite-difference formula for gamma is

Optimized Least-squares Monte Carlo (OLSM) for Measuring Counterparty Credit Exposure of American-style Options

On the Scrambled Sobol sequences Lecture Notes in Computer Science 3516, , Springer 2005

Computational Finance

Financial Risk Forecasting Chapter 7 Simulation methods for VaR for options and bonds

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

Optimal Search for Parameters in Monte Carlo Simulation for Derivative Pricing

Monte Carlo Methods for Uncertainty Quantification

The Black-Scholes Model

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

Monte Carlo Methods in Finance

Brooks, Introductory Econometrics for Finance, 3rd Edition

1.1 Basic Financial Derivatives: Forward Contracts and Options

Computer Exercise 2 Simulation

Lecture 15: Exotic Options: Barriers

Queens College, CUNY, Department of Computer Science Computational Finance CSCI 365 / 765 Fall 2017 Instructor: Dr. Sateesh Mane.

Monte Carlo Methods in Structuring and Derivatives Pricing

As we saw in Chapter 12, one of the many uses of Monte Carlo simulation by

King s College London

Quasi-Monte Carlo for Finance

Stratified Sampling in Monte Carlo Simulation: Motivation, Design, and Sampling Error

Monte Carlo Simulations

MATH3075/3975 FINANCIAL MATHEMATICS TUTORIAL PROBLEMS

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

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

A Continuity Correction under Jump-Diffusion Models with Applications in Finance

Introduction Dickey-Fuller Test Option Pricing Bootstrapping. Simulation Methods. Chapter 13 of Chris Brook s Book.

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

Stochastic Modelling in Finance

Monte Carlo Methods for Uncertainty Quantification

Market Volatility and Risk Proxies

The Black-Scholes Model

Math 416/516: Stochastic Simulation

The accuracy of the escrowed dividend model on the value of European options on a stock paying discrete dividend

Pricing of European and Asian options with Monte Carlo simulations

A Moment Matching Approach To The Valuation Of A Volume Weighted Average Price Option

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

Pricing Barrier Options under Local Volatility

MONTE CARLO BOUNDS FOR CALLABLE PRODUCTS WITH NON-ANALYTIC BREAK COSTS

Contents Critique 26. portfolio optimization 32

Numerical schemes for SDEs

Barrier Option. 2 of 33 3/13/2014

Week 1 Quantitative Analysis of Financial Markets Distributions B

King s College London

Chapter 15: Jump Processes and Incomplete Markets. 1 Jumps as One Explanation of Incomplete Markets

CHAPTER 10 OPTION PRICING - II. Derivatives and Risk Management By Rajiv Srivastava. Copyright Oxford University Press

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

The value of foresight

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

Implementing Models in Quantitative Finance: Methods and Cases

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Academic Press is an Imprint of Elsevier

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

Handbook of Financial Risk Management

Keywords: Digital options, Barrier options, Path dependent options, Lookback options, Asian options.

FE610 Stochastic Calculus for Financial Engineers. Stevens Institute of Technology

Practical example of an Economic Scenario Generator

1. In this exercise, we can easily employ the equations (13.66) (13.70), (13.79) (13.80) and

Accelerated Option Pricing Multiple Scenarios

Pricing Asian Options

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

Monte Carlo Methods for Uncertainty Quantification

Week 7 Quantitative Analysis of Financial Markets Simulation Methods

Advanced Numerical Methods

Mathematical Finance Why would you need to know what an option is? Presenters Ron Grosz Patricia Parker-Davis

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

Queens College, CUNY, Department of Computer Science Computational Finance CSCI 365 / 765 Spring 2018 Instructor: Dr. Sateesh Mane.

A SIMPLE DERIVATION OF AND IMPROVEMENTS TO JAMSHIDIAN S AND ROGERS UPPER BOUND METHODS FOR BERMUDAN OPTIONS

MAFS Computational Methods for Pricing Structured Products

BROWNIAN MOTION Antonella Basso, Martina Nardon

A No-Arbitrage Theorem for Uncertain Stock Model

Black-Scholes Option Pricing

American Foreign Exchange Options and some Continuity Estimates of the Optimal Exercise Boundary with respect to Volatility

1 The continuous time limit

Risk Neutral Valuation

MFE/3F Questions Answer Key

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

1 Geometric Brownian motion

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

MATH 476/567 ACTUARIAL RISK THEORY FALL 2016 PROFESSOR WANG

Option Pricing Using Bayesian Neural Networks

Transcription:

. Math 623 - Computational Finance Double barrier option pricing using Quasi Monte Carlo and Brownian Bridge methods Pratik Mehta pbmehta@eden.rutgers.edu Masters of Science in Mathematical Finance Department of Mathematics, Rutgers University This paper describes the implementation of a C++ program to calculate the value of a european style call option and a discretely sampled Double barrier option on an underlying asset, given input parameters for stock price (s=100), strike price (k=110),volatility (v=30%), interest rate (r=5%), maturity (T=1 year), U = 120 knock in, and L = 90 knock out usingbrownian bridge with terminal stratification, Quasi Monte Carlo simulation with low discrepancy Sobol sequences and Monte Carlo with antithetic sampling. We compare the results of all these methods. The underlying stock price is assumed to follow geometric brownian motion. The program calculates the option prices using the Monte Carlo/Quasi MC method with 10,000 simulations, 1000 strata for stratified sampling and uses the solution to the Stochastic differential equation of the stock process [2]. I. INTRODUCTION In this assignment we are pricing a European style vanilla call option and discretely double barrier option (t = 6) using Brownian Bridge with terminal stratification, low discrepancy Sobol sequences and comparing results with closed form solution and Monte Carlo using antithetic sampling. ds(t) = (rs(t)dt + σs(t)dw (t) (1) the solution to the above Stochastic Differential Equation is, S(T ) = S(0)e (r 1 2 σ2 )T +σw (T ) the payoff for the call option is, (2) (S(T ) k) + (3) We also price a double barrier option, with the conditions, Up and in and Down and out. This can be represented by, (S(T ) k) + 1 max(s(t)) U 1 S(t) L (4) We have modified Joshi s code from chapter 7 (EquityFXMain.cpp), as was required for this assignment. II. VANILLA CALL : CLOSED FORM BLACK-SCHOLES-MERTON Here, K is the strike price and S(T ) is the terminal stock price at the payoff date. The price of the underlying at terminal time,t, is given by [3] S(T ) = S(0)e (r a 1 2 σ2 )T +σw (T ) (5) A closed form solution for the price of a European Call and Put is given by [3] and c(t, x) = xe at N(d + (T, x)) e rt KN(d (τ, x)) (6) p(t, x) = e rt KN( d (T, x)) xe at N( d + (τ, x)). (7) Here, N is the Normal Cumulative Distribution density and the parameters, d + and d are given by d + = d + σ T = 1 [log σ xk (r T + + 12 ) ] σ2 T.(8) The function bsm in the file Equity- MainFX.cpp describes the implementation of the above closed form Black Scholes Merton model. The output is as follows, Closed form option price = 9.057 (9) III. VANILLA CALL : MONTE CARLO WITH PARK-MILLER AND ANTITHETIC SAMPLING Park-Miller is one of the many random number generators thats are used to produce random samples for Monte Carlo simulation. It is on of the Linear Congruential Generators (LCG). It has a period of, 2 31 1 (10) The general form of a LCG generator is, x i+1 = (ax i + c) mod m 1 (11) u i+1 = x i+1 /m 1 (12)

2 x = initial seed a = multiplier m = modulus c = shift The following are the values for the variables m = 2 31 1, a = 16807 (13) rebate may be paid at expiration if the option has not been knocked in (knocked-out) during its lifetime. The barrier monitoring frequency specifies how often the price is checked for a breach of the barrier. All of the analytical models have a flag to change the monitoring frequency where the default frequency is continuous. Knock-out options are represented as (S(T ) k) + 1 S(t) L (19) Park Miller s uniform random number generator is implemented by Mark Joshi. We then pass these uniform values to inverse cumulative distribution to get normally distributed variables. We use antithetic sampling which is described below. We use the barrier class to price the vanilla call option. We set the Upper barrier U = 100 and L = 0, so that the barrier option now behaves like a vanilla option. We have implemented this function in the file BrownianBridgePath.h and cpp. In Antithetic sampling we take one sample using Park Miller and the use the negative of the same value as second sample. In this was we get the following equation S(t i+1 ) = S(t i )(1 + rτ + σ T Z i+1 ) (14) S(t i+1 ) = S(t i )(1 + rτ σ T Z i+1 ) (15) Using the above formula, we can reduce the variance of the samples.the result of Monte Carlo simulation on using the above variance reduction technique. Ŷ AV = 1 + Y i n (Σni=1(Ỹi )) (16) 2 The output for out call option is, MC vanilla call with P ark Miller = 9.036 (17) IV. DOUBLE BARRIER OPTIONS Barrier options are path-dependent options, with payoffs that depend on the price of the underlying asset at expiration and whether or not the asset price crosses a barrier during the life of the option. There are two categories or types of Barrier options: knock-in and knock-out. Knock-in or in options are paid for up front, but you do not receive the option until the asset price crosses the barrier. This Knock-in can be represented by, (S(T ) k) + 1 max(s(t)) U (18) Double Barrier options are options with two barriers, In this assignment we price a boucle barrier option with knock in upper barrier U and a knock out lower barrier L. U = 120, L = 90. This means the option will only pay if we cross U at least once on the discrete monitoring dates and always remain above the barrier L.[8] This option can be represented as, (S(T ) k) + 1 max(s(t)) U 1 S(t) L (20) V. DOUBLE BARRIER WITH PARK - MILLER UNIFORMS AND ANTITHETIC SAMPLING Park Miller s uniform random number generator is implemented by Mark Joshi. We then pass these uniform values to inverse cumulative distribution to get normally distributed variables. We use antithetic sampling which is described below. We use the barrier class to price double barrier call option. We set the Upper barrier U = 120 and L = 90, We have implemented this function in the file BrownianBridgePath.h and cpp. In Antithetic sampling we take one sample using Park Miller and the use the negative of the same value as second sample. In this was we get the following equation S(t i+1 ) = S(t i )(1 + rτ + σ T Z i+1 ) (21) S(t i+1 ) = S(t i )(1 + rτ σ T Z i+1 ) (22) We use the above formula for path generation and then check for the barrier conditions, and if we satisfy the conditions than we calculate the payoff and then average them. Using the above formula, we can reduce the variance of the samples.the result of Monte Carlo simulation on using the above variance reduction technique. Ŷ AV = 1 + Y i n (Σni=1(Ỹi )) (23) 2 Knock-out or out options come into existence on the issue date but becomes worthless if the asset price hits the barrier before the expiration date. If the option is a knock-in (knock-out), a predetermined cash MC double barrier P ark Miller antithetics = 8.6 (24)

3 VI. BROWNIAN BRIDGE WITH TERMINAL STRATIFICATION - VANILLA CALL AND DOUBLE BARRIER OPTIONS The brownian bridge path generation is usually used in conjunction with variance reduction techniques like stratified sampling. Suppose W (t) is a R-valued Brownian motion and suppose we know the some values of Brownian motion, W (s 1 ) = x 1,..., W (s k ) = x k (25) we can find the value of W (s) where s in (s i, s i+1 ) conditional on the k values. This conditional distribution of W (s) is on and is given by, W (s i ) = x i (26) W (s i+1 ) = x i+1 (27) W (s) = (s i+1 s i )W (s i ) + (s s i )W (s i+1 ) (s i+1 s i ) (s i+1 s i )(s s i )) + (s i+1 s i ) where Z is Normally distributed random variable. Stratified (Regional) sampling. (28) (29) Stratified sampling is a divide-and-conquer strategy which partitions the state space into regions, and then a sampling plan is devised for each region. Moreover, common sense suggests that the smaller the region, the less variance that should exist in that region, and so a variance reduction may be achievable in each of the smaller regions that partition the entire space. Divide U into k subdivisions, or strata, U i, where k is the total number of possible combinations described above. We have U = U 1 U 2... U k such that U i U j =, for all i j and 1i, j k. if we let N i = U i, then N = k N i. i=1 Draw a sample S i from each stratum U i. The above description of asian option was taken from [6] The algorithm for implementing Brownian bridge with Stratification is given below (30) for i = 1,..., k, (31) generate U nif[0, 1]; (32) V = (i 1 + U)/K; (33) W (t m ) = t m φ 1 (34) a = (s i+1 s i )W (s i ) + (s s i )W (s i+1 ) (s i+1 s i ) (35) b = (s i+1 s i )(s s i )) (s i+1 s i ) (36) W i = a + bz (37) return(w (t 1 )...W (t m )) (38) We have implemented this algorithm in the file GeometricBrownianPath.h and cpp. It is implemented as a class and uses different member function to calculate prices of Vanilla and Asian options. We have used the above algorithm in conjunction with Park-Miller uniforms. For vanilla Asian call options (39) MC V anilla, P ark Miller, stratified = 8.91 (40) For Double barrier call options (41) MC Double Barrier stratified = 7.86 (42) VII. DOUBLE BARRIER/VANILLA CALL, QUASI MONTE CARLO WITH SOBOL SEQUENCE A major drawback of Monte Carlo integration with pseudo-random numbers is given by the fact that the error term scales only as 1/ N.This is inherent to methods based on random numbers.this leads to the idea to choose the points deterministically such that to minimize the integration error.low-discrepancy sequence is a sequence with the property that for all values of N, its subsequence x1,..., xn has a low discrepancy. Roughly speaking, the discrepancy of a sequence is low if the number of points in the sequence falling into an arbitrary set B is close to proportional to the measure of B, as would happen on average (but not for particular samples) in the case of a uniform distribution[4]. We now have the main theorem of quasi-monte Carlo integration: If f has bounded variation on [0, 1] d then for any x 1,..., x N [0, 1] d we have 1 N N n=1 f(x n ) dxf(x) V (f)d (x 1,..., x N ). (43) Sobol sequences [5] are obtained by first choosing a primitive polynomial over Z of degree g: P = x g + a 1 x g 1 +... + a g 1 x + 1, (44)

where each a i is either 0 or 1. The coefficients a i are used in the recurrence relation v i = a 1 v i 1 a 2 v i 2... a g 1 v i g+1 v i g [v i g /2 (45) g ], where denotes the bitwise exclusive-or operation and each v i is a number which can be written as v i = m i /(2 i ) with 0 < m i < 2 i. Consequetive quasi-random numbers are then obtained from the relation x n+1 = x n v c, (46) where the index c is equal to the place of the rightmost zero-bit in the binary representation of n. For example n = 11 has the binary representation 1011 and the rightmost zero-bit is the third one. Therefore c = 3 in this case. For a primitive polynomial of degree g we also have to choose the first g values for the m i. The only restriction is that the m i are all odd and m i < 2 i. There is an alternative way of computing x n : x n = g 1 v 1 g 2 v 2... (47) where...g 3 g 2 g 1 is the Gray code representation of n. The basic property of the Gray code is that the representations for n and n + 1 differ in only one position. The Gray code representation can be obtained from the binary representation according to...g 3 g 2 g 1 =...b 3 b 2 b 1...b 4 b 3 b 2. (48) The above description of the sobol sequence generation was taken from [1].We have used Sobol sequence generator by S.Joe and R.Y.Kuo. We pass a file with the primitive polynomial and values of all the coefficient. This Sobol generator is capable of producing vary high dimensional sequences from 0 to 1. In our application we need only 1 dimensional sequence since we are evaluating a vanilla call option at expiry. We have implemented a function MCSobol in Sobol.cpp which uses sobol sequences to implement Quasi Monte Carlo simulation. The function sobolpoints returns an array with sobol sequences which are used for option price calculation. The price with this method is, QM C vanilla call with Sobol sequences = 9.056 (49) The double barrier call option with Sobol sequence price is, QM C Double Barrier Sobol sequences = 8.10 (50) As we can see that the option price using sobol sequences and quasi monte carlo method is the closest to the closed formed solution. VIII. ANSWER TO THE QUESTIONS Q1 We have compared our results with those of the closedform continuously monitored single barrier options from Kerry Back s and Espen Haug s spreadsheets. We have attached the snapshots below. The results are as follows, Haug down and out call = 6.335 (51) Haug up and in call = 9.006 (52) Black s down and out call = 6.33 (53) Q2 We have compared our results with those of the closedform continuously monitored double barrier options from Espen Haug s spreadsheet. We have compared our results, Haug up in and down in call = 9.05 (54) Haug up out and down out call = 0.0035 (55) Q3 Brownian Bridge Effect of varying strata size We have varied the number of strata, and hence the strata size and calculated the option price. We used the following number of strata, 10,100,300,600,900,1200 and 5000. The results of varying the number of strata are presented in the second table below. We find that varying the size changes the answers marginally. The change is not significant. THe answer seems to increase with the strata size till about 600 and then decreases. IX. BENCHMARKING We have used many spreadsheet based model to benchmark our results. The summary go the benchmarking is given below and is also tabularised below. Excel spreadsheets by Haug and Black does not provide Up-andin-down-and-out call option. Hence we have benchmarked our results using, Numerix, the closed form single barrier and up and in down and in double barrier options from the VBA sheets. The results are, N umerix option price vanilla = 9.08 (56) Numerix up in and down out = 8.24 (57) Haug down and out call = 6.335 (58) Haug up and in call = 9.006 (59) Black s down and out call = 6.33 (60) Haug up in and down in call = 9.05 (61) Haug up out and down out call = 0.0035 (62) 4

5 TABLE I: Vanilla and Asian Call pricing using Methods for S(0)=100 and K=110 Option Closed Form Park-Miller,Antithetic Park-Miller with Stratified Sobol sequence Numerix European Vanilla Call 9.05 9.036 8.91 9.056 9.08 Double barrier (Up-in, Down-out) Call - 8.60 7.86 8.10 8.24 TABLE II: Effect of varying Strata size S(0)=100 and K=110 Strata size Double barrier call Vanilla Call 10 7.79 8.81 100 7.82 8.83 300 7.83 8.82 600 7.78 8.78 900 7.84 8.81 1200 7.80 8.79 5000 7.80 8.78

6 1.StandardBarrier Standard Barrier option Implementation By Espen Gaarder Haug, Copyright 2006 [5] Down-and-out call Years Time in : Asset price ( S ) Strike price ( X ) Barrier ( H ) Rebate ( K ) Long Continuously 100.00 110.00 90.00 0.00 Time to maturity ( T ) Risk-free rate ( r ) Cost of carry ( b ) Volatility ( σ ) Adjusted Barrier Forward price Value 1.00 5.00% Continuous 3.00% Continuous 30.00% 90.0000 103.0455 6.3350 By Espen Gaarder Haug FIG. 1: Haug, Down-and-Out. 1.StandardBarrier Standard Barrier option Implementation By Espen Gaarder Haug, Copyright 2006 [2] Up-and-in call Years Time in : Asset price ( S ) Strike price ( X ) Barrier ( H ) Rebate ( K ) Time to maturity ( T ) Risk-free rate ( r ) Cost of carry ( b ) Volatility ( σ ) Adjusted Barrier Forward price Value Long Continuously 100.00 110.00 120.00 0.00 1.00 5.00% Continuous 3.00% Continuous 30.00% 120.0000 103.0455 9.0063 By Espen Gaarder Haug FIG. 2: Haug, Up-and-In.

7 Asset price S 100 Exercise price K 110 Interest rate r 0.05 Volatility sigma 0.3 Dividend yield q 0.02 Time to maturity T 1 Barrier Barrier 90 Down_And_Out_Call 6.334982 FIG. 3: Black, Down-and-Out. 2.DoubleBarrier Double Barrier Option (Ikeda Kuntimo) only holds when X is inside barrier r Implementation By Espen Gaarder Haug, Copyright 2006 [3] Call up-and-in-down-and-in Time in : Years Long Continuously Asset price ( S ) 100.00 Strike price ( X ) 110.00 Lower ( L ) 90.00 Upper ( U ) 120.00 Continuous Time to maturity ( T ) 1.00 Continuous Risk-free rate ( r ) 5.00% Cost of carry ( b ) 3.00% Volatility ( σ ) 30.00% Upper curvature ( δ 1 ) 0.00 Lower curvature ( δ 2 ) 0.00 Adjusted lower barrier 90.00000 Adjusted upper barrier 120.00000 Forward price 103.04545 Value 9.0535 By Espen Gaarder Haug FIG. 4: Haug Doublw Barrier, Up-and-In,Down-and-in

8 FIG. 5: Numerix, Double Barrier 2.DoubleBarrier Double Barrier Option (Ikeda Kuntimo) only holds when X is inside barrier range, for X Implementation By Espen Gaarder Haug, Copyright 2006 [1] Call up-and-out-down-and-out Years Time in : Asset price ( S ) Strike price ( X ) Lower ( L ) Upper ( U ) Time to maturity ( T ) Risk-free rate ( r ) Cost of carry ( b ) Volatility ( σ ) Upper curvature ( δ1 ) Lower curvature ( δ2 ) Adjusted lower barrier Adjusted upper barrier Forward price Value Long Continuously 100.00 110.00 90.00 120.00 Continuous 1.00 Continuous 5.00% 3.00% 30.00% 0.00 0.00 90.00000 120.00000 103.04545 0.0035 By Espen Gaarder Haug FIG. 6: Haug Doublw Barrier, Up-and-out,Down-and-out

[1] wwwthep.physik.uni-mainz.de/ stefanw/download/lecture [2] M.S. Joshi, C++ design Patterns and Derivative Pricing, (Wiley 2008). [3] S.E. Shreve, Stochastic Calculus for Finance II Continuous Time Models, (Springer, 2004). [4] Wikipedia page for low discrepancy sequence [5] I M Sobol, USSR comp. Math [6] www.cecs.csulb.edu/ ebert/teaching/lectures/552/ [7] rss.acs.unt.edu/rdoc/library/fexoticoptions [8] rss.acs.unt.edu/rdoc/library/fexoticoptions/latex/barrieroptions 9