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

Similar documents
King s College London

Stochastic Differential Equations in Finance and Monte Carlo Simulations

Valuation of Asian Option. Qi An Jingjing Guo

King s College London

Computer Exercise 2 Simulation

Optimal Search for Parameters in Monte Carlo Simulation for Derivative Pricing

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

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

Computational Finance Improving Monte Carlo

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

JDEP 384H: Numerical Methods in Business

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

Gamma. The finite-difference formula for gamma is

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

3. Monte Carlo Simulation

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

2.1 Mathematical Basis: Risk-Neutral Pricing

Stochastic Modelling in Finance

FINANCIAL OPTION ANALYSIS HANDOUTS

The Use of Importance Sampling to Speed Up Stochastic Volatility Simulations

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

Results for option pricing

MATH 476/567 ACTUARIAL RISK THEORY FALL 2016 PROFESSOR WANG

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

Computational Finance

Math Computational Finance Option pricing using Brownian bridge and Stratified samlping

Contents Critique 26. portfolio optimization 32

Monte Carlo Simulations

Pricing theory of financial derivatives

IEOR E4703: Monte-Carlo Simulation

MAFS5250 Computational Methods for Pricing Structured Products Topic 5 - Monte Carlo simulation

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

Valuing Stock Options: The Black-Scholes-Merton Model. Chapter 13

Computational Finance Least Squares Monte Carlo

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

MSc in Financial Engineering

23 Stochastic Ordinary Differential Equations with Examples from Finance

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

Computer Exercise 2 Simulation

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

Option Pricing Using Monte Carlo Methods. A Directed Research Project. Submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE

Math 416/516: Stochastic Simulation

Numerical schemes for SDEs

The Binomial Lattice Model for Stocks: Introduction to Option Pricing

Computational Efficiency and Accuracy in the Valuation of Basket Options. Pengguo Wang 1

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

Market risk measurement in practice

AD in Monte Carlo for finance

MFE/3F Questions Answer Key

Computational Methods for Option Pricing. A Directed Research Project. Submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE

Theory and practice of option pricing

Multilevel quasi-monte Carlo path simulation

Monte Carlo Methods for Uncertainty Quantification

MFE/3F Questions Answer Key

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

Monte Carlo Methods in Structuring and Derivatives Pricing

Computational Finance. Computational Finance p. 1

Analytical Finance 1 Seminar Monte-Carlo application for Value-at-Risk on a portfolio of Options, Futures and Equities

"Vibrato" Monte Carlo evaluation of Greeks

Binomial model: numerical algorithm

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

2 Control variates. λe λti λe e λt i where R(t) = t Y 1 Y N(t) is the time from the last event to t. L t = e λr(t) e e λt(t) Exercises

Equity Asian Option Valuation Practical Guide

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

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

Calculating VaR. There are several approaches for calculating the Value at Risk figure. The most popular are the

MAFS Computational Methods for Pricing Structured Products

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

IEOR E4703: Monte-Carlo Simulation

Pricing Asian Options

6. Numerical methods for option pricing

Monte Carlo Based Numerical Pricing of Multiple Strike-Reset Options

GRAPHICAL ASIAN OPTIONS

Assignment - Exotic options

4. Black-Scholes Models and PDEs. Math6911 S08, HM Zhu

MOUNTAIN RANGE OPTIONS

Value at Risk Ch.12. PAK Study Manual

AMH4 - ADVANCED OPTION PRICING. Contents

Chapter 5 Portfolio. O. Afonso, P. B. Vasconcelos. Computational Economics: a concise introduction

Robust Optimization Applied to a Currency Portfolio

Monte Carlo Methods for Uncertainty Quantification

Risk Neutral Pricing Black-Scholes Formula Lecture 19. Dr. Vasily Strela (Morgan Stanley and MIT)

IEOR E4703: Monte-Carlo Simulation

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

Geometric tools for the valuation of performance-dependent options

The Binomial Lattice Model for Stocks: Introduction to Option Pricing

EFFICIENT MONTE CARLO ALGORITHM FOR PRICING BARRIER OPTIONS

Machine Learning for Quantitative Finance

Application of Stochastic Calculus to Price a Quanto Spread

"Pricing Exotic Options using Strong Convergence Properties

Market Risk: FROM VALUE AT RISK TO STRESS TESTING. Agenda. Agenda (Cont.) Traditional Measures of Market Risk

Black-Scholes Option Pricing

The histogram should resemble the uniform density, the mean should be close to 0.5, and the standard deviation should be close to 1/ 12 =

FINANCIAL MATHEMATICS WITH ADVANCED TOPICS MTHE7013A

Hedging Errors for Static Hedging Strategies

Week 1 Quantitative Analysis of Financial Markets Distributions B

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

MONTE CARLO EXTENSIONS

Optimal Surrender Policy for Variable Annuity Guarantees

Random Tree Method. Monte Carlo Methods in Financial Engineering

Transcription:

Asian Option Pricing: Monte Carlo Control Variate A discrete arithmetic Asian call option has the payoff ( 1 N N + 1 i=0 S T i N K ) + A discrete geometric Asian call option has the payoff [ N i=0 S T i N ] 1 N+1 K It is known that in the Black-Scholes model the price of the geometric Asian call option is given by + e rt (S 0 e ρt N(d 1 ) KN(d 2 )) where ρ := 1 2 (r 12 σ2 + ˆσ 2 ) 2N + 1 ˆσ := σ 6(N + 1) d 1 := 1 (ln(s 0 /K) + (ρ + 12 ) ) ˆσ2 T T ˆσ d 2 := 1 (ln(s 0 /K) + (ρ 12 ) ) ˆσ2 T T ˆσ The price of an arithmetic Asian option can be computed by Monte Carlo simulation. However, in order to achieve a small standard error, the number of simulations must be very high - somewhere in the neighborhood of 100,000. This can be very computationally expensive. However, if we use the payoff of the geometric Asian option as the control variate, this will allow us to obtain the same level of accuracy with fewer simulations and therefore less time. Here is the MATLAB implementation: 1

function price = geoasianopt(s0,sigma,k,r,t,nt,type) %This is a closed form solution for geometric Asian options % %S0 = Current price of underlying asset %sigma = Volatility %K = Strike price %r = Risk-free rate %T = Time to maturity %Nt = Time intervals %type (0 for call, 1 for put) adj_sigma=sigma*sqrt((2*nt+1)/(6*(nt+1))); rho=0.5*(r-(sigma^2)*0.5+adj_sigma^2); d1 = (log(s0/k)+(rho+0.5*adj_sigma^2)*t)/(adj_sigma*sqrt(t)); d2 = (log(s0/k)+(rho-0.5*adj_sigma^2)*t)/(adj_sigma*sqrt(t)); if type==0 price = exp(-r*t)*(s0*exp(rho*t)*normcdf(d1)-k*normcdf(d2)); price = exp(-r*t)*(k*normcdf(-d2)-s0*exp(rho*t)*normcdf(-d1)); function [price error] = MCCVAsianOpt(S0,sigma,K,r,T,Nt,Nc,Nruns,type) %This is a Monte Carlo pricing algorithm using control variates %for arithmetic Asian options. The control variate used is the price of %a geometric Asian option. % %S0 = Current price of underlying asset %sigma = Volatility %K = Strike price %r = Risk-free rate %T = Time to maturity %Nt = Time intervals %Nruns = Number of simulations %type (0 for call, 1 for put) %The payoff function of this option is represented by: % Max{0, (Average price of underlying asset - Strike price)} 2

% Random Number Generator %Generates random numbers from the standard normal distribution db = randn(nt,nruns); % Underlying Asset Price Process Simulation %time %dt=1/250; %T=days*dt; dt=t/nt; %Calculates the expected return k = r - (sigma^2)*0.5; %Calculates the deterministic component of the price process deterministic = repmat(k * dt * (1:Nt),1,Nruns); %Calculates the stochastic component of the price process stochastic = sigma*sqrt(dt).*cumsum(db); paths = [repmat(s0,1,nruns); S0 * exp(deterministic + stochastic)]; % Control Variates divisor=1/(nt+1); DF = exp(-r*t); %price of geometric mean Asian option using formula geoexact = geoasianopt(s0,sigma,k,r,t,nt,type); geocallprices = zeros(nc,1); geoputprices = zeros(nc,1); aricallprices = zeros(nc,1); ariputprices = zeros(nc,1); %repeated runs to find control parameter for i=1:nc; pathvector = paths(:,i); %creates vector for each price path avgpathprice = sum(pathvector)*divisor; 3

geocallprices(i) = DF*max(geomean(pathVector) - K,0); aricallprices(i) = DF*max(avgPathPrice - K,0); geoputprices(i) = DF*max(K - geomean(pathvector),0); ariputprices(i) = DF*max(K - avgpathprice,0); %finding optimal c %variance covariance matrix MatCov = cov(geocallprices, aricallprices); %c=cov(geocallprices,aricallprices)/var(geocallprices) c = -MatCov(1,2)/var(geoCallPrices); %variance covariance matrix MatCov = cov(geoputprices, ariputprices); %c=cov(geoputprices,ariputprices)/var(geoputprices) c = -MatCov(1,2)/var(geoPutPrices); controlvars=zeros(nruns,1); % Monte Carlo Algorithm for i=1:nruns; pathvector = paths(:,i); %creates vector for each price path avgpathprice = sum(pathvector)*divisor; geocallprice = DF*max(geomean(pathVector) - K,0); aricallprice = DF*max(avgPathPrice - K,0); %adjusted payoff using control variate controlvars(i) = aricallprice + c * (geocallprice - geoexact); geoputprice = DF*max(K - geomean(pathvector),0); ariputprice = DF*max(K - avgpathprice,0); %adjusted payoff - using control variate controlvars(i) = ariputprice + c * (geoputprice - geoexact); price = mean(controlvars); 4

error = std(controlvars)/sqrt(nruns); %program that runs the above functions clear; S0=100; V=0.3; K=100; r=0.03; T=5; Nt=T*252; %number of trading days until maturity Nc=1000; Nruns=100000; %monte carlo runs for standard method NrunsCV=10000; %monte carlo runs for control variate method type=1; %0 for calls; 1 for puts %Arithmetic Asian option price using Monte Carlo %[arithmeticasianprice error] = MC_AsianOpt(S0,V,K,r,T,Nt,Nruns,type) %Geometric Asian option price using formula %geoasianexactprice = geoasianopt(s0,v,k,r,t,nt,type) %Geometric Asian option price using Monte Carlo %[geoasianpricemc error] = geomcasianopt(s0,v,k,r,t,nt,nruns,type) %Arithmetic Asian option price using Monte Carlo Control Variate [ariasianpricemccv error] = MCCVAsianOpt(S0,V,K,r,T,Nt,Nc,NrunsCV,type) %Efficiency Comparison: %in this example, to get a similar error without control variates, %you need about 800 more simulations than you do with control variate. 5