Math Computational Finance Option pricing using Brownian bridge and Stratified samlping

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

Math Option pricing using Quasi Monte Carlo simulation

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

2.1 Mathematical Basis: Risk-Neutral Pricing

Computational Finance Improving Monte Carlo

ELEMENTS OF MONTE CARLO SIMULATION

Chapter 2 Uncertainty Analysis and Sampling Techniques

Monte Carlo Methods in Financial Engineering

MONTE CARLO EXTENSIONS

EFFICIENT MONTE CARLO ALGORITHM FOR PRICING BARRIER OPTIONS

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

Monte Carlo Methods for Uncertainty Quantification

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

Stochastic Differential Equations in Finance and Monte Carlo Simulations

1.1 Basic Financial Derivatives: Forward Contracts and Options

Computational Finance

Optimal Search for Parameters in Monte Carlo Simulation for Derivative Pricing

Computer Exercise 2 Simulation

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

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

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

Computer Exercise 2 Simulation

King s College London

Monte Carlo Methods in Finance

Valuation of Asian Option. Qi An Jingjing Guo

Monte Carlo Methods for Uncertainty Quantification

Assignment - Exotic options

Numerical schemes for SDEs

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

Market interest-rate models

The Black-Scholes Model

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

Quasi-Monte Carlo for Finance

Gamma. The finite-difference formula for gamma is

Pricing of European and Asian options with Monte Carlo simulations

Market Volatility and Risk Proxies

Stochastic Modelling in Finance

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

10. Monte Carlo Methods

King s College London

1 The continuous time limit

Week 1 Quantitative Analysis of Financial Markets Distributions B

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

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

1 Geometric Brownian motion

MATH3075/3975 FINANCIAL MATHEMATICS TUTORIAL PROBLEMS

Results for option pricing

The Black-Scholes Model

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

Math 416/516: Stochastic Simulation

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

Contents Critique 26. portfolio optimization 32

Brooks, Introductory Econometrics for Finance, 3rd Edition

Practical example of an Economic Scenario Generator

AN IMPROVED BINOMIAL METHOD FOR PRICING ASIAN OPTIONS

Lecture 8: The Black-Scholes theory

Monte Carlo Simulations

About Black-Sholes formula, volatility, implied volatility and math. statistics.

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

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

Black-Scholes Option Pricing

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

Quasi-Monte Carlo Methods in Financial Engineering: An Equivalence Principle and Dimension Reduction

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

A No-Arbitrage Theorem for Uncertain Stock Model

Multilevel quasi-monte Carlo path simulation

BROWNIAN MOTION Antonella Basso, Martina Nardon

Monte Carlo Methods for Uncertainty Quantification

The Use of Importance Sampling to Speed Up Stochastic Volatility Simulations

Quasi-Monte Carlo for finance applications

AMH4 - ADVANCED OPTION PRICING. Contents

Multilevel Monte Carlo for Basket Options

Sensitivity of American Option Prices with Different Strikes, Maturities and Volatilities

Quasi-Monte Carlo for Finance Applications

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

Monte Carlo Simulation of a Two-Factor Stochastic Volatility Model

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

Implementing Models in Quantitative Finance: Methods and Cases

Lecture 17. The model is parametrized by the time period, δt, and three fixed constant parameters, v, σ and the riskless rate r.

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

Journal of Mathematical Analysis and Applications

Risk Neutral Valuation

Option Pricing Using Bayesian Neural Networks

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

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

An Efficient Quasi-Monte Carlo Simulation for Pricing Asian Options under Heston's Model

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

Introduction to Game-Theoretic Probability

GRAPHICAL ASIAN OPTIONS

Lecture 7: Computation of Greeks

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

Reading: You should read Hull chapter 12 and perhaps the very first part of chapter 13.

MÄLARDALENS HÖGSKOLA

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

STOCHASTIC CALCULUS AND BLACK-SCHOLES MODEL

Handbook of Financial Risk Management

STOCHASTIC VOLATILITY AND OPTION PRICING

Accelerated Option Pricing Multiple Scenarios

A NEW EFFICIENT SIMULATION STRATEGY FOR PRICING PATH-DEPENDENT OPTIONS

Transcription:

. Math 623 - Computational Finance Option pricing using Brownian bridge and Stratified samlping 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, a discretely sampled arithmetic and geometric Asian 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) 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 [3]. I. INTRODUCTION In this assignment we are pricing a European style vanilla call option and Asian option 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) and Asian option continuously averaged, ( + 1 T S u du K) (4) T 0 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 [4] A closed form solution for the price of a European Call and Put is given by [4] 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) S(T ) = S(0)e (r a 1 2 σ2 )T +σw (T ) (5) x = initial seed

2 a = multiplier m = modulus c = shift The following are the values for the variables m = 2 31 1, a = 16807 (13) 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. The files ParkMiller.h, Park- Miller.cpp, Antithetic.h and Antithetic.cpp implements the function for the above formula as a class. 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.20 (17) IV. 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[5]. 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 ). (18) Sobol sequences [6] 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, (19) 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 (20) 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, (21) 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... (22) 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. (23) The above description of the sobol sequence generation was taken from [2].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.055 (24) As we can see that the option price using sobol sequences and quasi monti carlo method is the closest to the closed formed solution. V. ASIAN CALL OPTIONS Asian options are path-dependent options, with payoffs that depend on the average price of the underlying

3 asset or the average exercise price. There are two categories or types of Asian options: average rate options (also known as average price options) and average strike options. The payoffs depend on the average price of the underlying asset over a predetermined time period. An average is less volatile than the underlying asset, therefore making Asian options less expensive than standard European options. Asian options are commonly used in currency and commodity markets. The payoff of asian option continuously averaged is, ( + 1 T S u du K) (25) T 0 The payoff of asian option using Arithmetic averaging is, ( 1 T + N S(t i ) K) (26) n=1 The Geometric average is the nth root of the product of the n sample points. The Arithmetic average is the sum of the stock values divided by the number of sampling points. Although Geometric Asian options are not commonly used in practice, they are often used as a good initial guess for the price of arithmetic Asian options. This technique is used to improve the convergence rate of the Monte Carlo model when pricing arithmetic Asian options.the above description of asian option was taken from [9] and the payoff of asian option using Geometric averaging is, ( exp( 1 T + N ln(s(t)) K) (27) n=1 The closed form C++ code for geometric averaged asian option is given in asianclosed().we have also implemented C++ pricing using Monte Carlo simulation with Park-Miller uniforms with antithetics for Arithmetic, Geometric Asian call and using Quasi Monte Carlo technique with Sobol sequences. The results are below For Geometric Asian call options Closed form geometric Asiancall = 3.80 (33) MC geometric, P ark Miller, antithetics = 3.03 (34) QMC geometric, Sobol sequence = 3.92 (35) For Geometric Asian call options MC arithmetic, P ark Miller, antithetics = 4.09(36) QM C arithmetic, Sobol sequence = 4.22(37) VI. BROWNIAN BRIDGE WITH TERMINAL STRATIFICATION 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 (38) 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 W (s i ) = x i (39) W (s i+1 ) = x i+1 (40) Asian option with Geometric averaging also has a closed form solution which we have implemented in the C++ code. The closed form formula is given below, V = V (0)N(d 1 ) e rt KN(d 2 ) (28) (s s i )) + where ( ) 1 1 V (0) = D(t)exp (N + 1)v t + 2 12N (N + 1)(2N + 1)σ2 twhere Z is Normally distributed random variable. (29) Stratified (Regional) sampling. σ avg = D(t) = e rt S(0) (30) σ 1 N(N + 1)(2N + 1) (31) N 3/2 6 v = r d σ2 2 (32) and is given by, W (s) = W (s i ) + (s s i )W (s i+1 ) (41) (42) 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.

4 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 [8] The algorithm for implementing Brownian bridge with Stratification is given below (43) for i = 1,..., k, (44) generate U nif[0, 1]; (45) V = (i 1 + U)/K; (46) W (t m ) = t m φ 1 (47) a = W (s i ) + (s s i )W (s i+1 ) (48) b = (s s i )) (49) W i = a + bz (50) return(w (t 1 )...W (t m )) (51) 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 (52) MC V anilla, P ark Miller, stratified = 9.05 (53) For Geometric Asian call options (54) MC geometric, P ark Miller, stratified = 3.53 (55) For Arithmetic Asian call options (56) MC arithmetic, P ark Miller, stratified = 3.82 (57) VII. ANSWER TO THE QUESTIONS Brownian Bridge 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 (58) 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 (59) W (s i+1 ) = x i+1 (60) W (s) = W (s i ) + (s s i )W (s i+1 ) (s s i )) + (61) (62) The brownian motions here are conditionally dependent. We begin by W (t 0 ) = 0 and we use inverse CDF to calculate W (t m ) and we use the above conditional distribution to calculate the intermediate Brownian motion. In this way we can calculate the brownian motions at all the required points. We use the algorithm described in the above section to pre-generate brownian motions at all the required intermediate points and the use them to calculate the spot process in the following way, logs(t i ) = logs(t i 1 ) + (r σ2 2 ) (t i t i 1 ) (63) +σ (W (t i) W (t i 1 )) (64) As we can see we use the regenerated pairs of brownian motions to calculate the spot process. Joshi s Method Mark Joshi uses the function GetGaussian to get a Independent gaussian variables and stores it in the array MJArray names Variates. This is in contradiction to the Brownian motions generated by Brownian Bridge where they are conditionally dependent on two neighboring brownian motion. Mark Joshi uses random numbers and implements the following equation to replace W(T), W (T ) = tn(0, 1) (65) And his code uses the above substitution of multiplying standard deviation with Normally distributed random variable. ) logs(t i ) = logs(t i 1 ) + (r σ2 (t i t i 1 ) (66) 2 ( ) +σ tn(0, 1) (67) 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, 1,50,100,500 and 1000. 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. Besides the most optimal answers are found around the strata size of 100.

5 VIII. 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. Numerix and the Excel spreadsheets by Haug does not provide the user the ability to produce Sobol sequences and also they use Arithmetic averaging. Hence we have benchmarked our results using the closed form and monte carlo simulations in Numerix and Haug VBA sheets.we have also used Kerry Back s spreadsheet for closed form solution to geometric averaging Asian option as well as Curran approximation for Arithmetic averaging.[7] N umerix option price vanilla = 9.08 (68) Haug Excel option price, vanilla = 9.05 (69) N umerix option price Asian = 4.66 (70) Haug Excel option price, Asian = 4.11 (71) Kerry Back s closed form = 3.81 (72) Curran approximation, arithmetic = 4.12 (73)

6 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 Haug European Vanilla Call 9.05 9.20 9.75 9.05 9.08 9.05 Asian Geometric Call 3.81 3.03 3.53 3.92 - - Asian Arithmetic Call - 4.09 3.82 4.22 4.66 4.11 TABLE II: Effect of varying Strata size S(0)=100 and K=110 Strata size Vanilla call Asian option, Geometric Asian option, Arithmetic 1 9.746 3.538 3.877 50 9.752 3.525 3.825 100 9.757 3.538 3.829 500 9.757 3.534 3.843 1000 9.761 3.539 3.826

FIG. 1: Vanilla call 7

8 FIG. 2: Curran Approximation. FIG. 3: Closed form Asian, Back s model.

FIG. 4: Haug s model 9

[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] used Daksh Aggrawal s computer for some of the benchmarking [7] www.cecs.csulb.edu/ ebert/teaching/lectures/552/ [8] rss.acs.unt.edu/rdoc/library/fexoticoptions 10