0% found this document useful (0 votes)
176 views6 pages

MATH40082 (Computational Finance) Assignment No. 2: Advanced Methods

This paper reports on a computational finance project that uses Monte Carlo simulation to approximate the price of a European-style up-and-out barrier call option. Numerical solutions are compared to a closed-form solution from a modified Black-Scholes-Merton formula and an online pricing calculator. Euler, antithetic variates, and control variates methods are implemented to estimate the option price. Standard errors are calculated to analyze the accuracy of the estimates. The results show that antithetic and control variates methods produce more precise estimates than the basic Euler method.

Uploaded by

cracking khalif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
176 views6 pages

MATH40082 (Computational Finance) Assignment No. 2: Advanced Methods

This paper reports on a computational finance project that uses Monte Carlo simulation to approximate the price of a European-style up-and-out barrier call option. Numerical solutions are compared to a closed-form solution from a modified Black-Scholes-Merton formula and an online pricing calculator. Euler, antithetic variates, and control variates methods are implemented to estimate the option price. Standard errors are calculated to analyze the accuracy of the estimates. The results show that antithetic and control variates methods produce more precise estimates than the basic Euler method.

Uploaded by

cracking khalif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Computational Finance Project 2

Kai Chen, Rutgers University 02/12/2018

Introduction

This paper reports the main work of Project2 for Computational Finance (Math 16:642:623). In this
project, some classical numerical methods are implemented by Monte Carlo simulation to approx-
imate the price of a European-style up-and-out barrier call option. Numerical solutions are then
compared with the closed-form solution obtained from a revised version of Black–Scholes–Merton
formula and a benchmark given by an online option pricing calculator. Besides benchmarking, this
paper also presents the convergence analysis and error estimation to verify the models.

Preliminary

In this project, we assume that the stock price is geometric Brownian motion and all the needed
variables are constant:

• Volatility σ = 0.3

• Initial asset price S(0) = 100

• Risk-free interest rate r = 0.05

• Dividend yield d = 0.02

• Strike K = 110

• Maturity T = 1 year

• Barrier U = 120

Closed-form Formula

According to Shreve, the price of an up-and-out call satisfies a Black-Scholes-Merton equation that
has been modified to account for the barrier. Besides, we also need to include the dividend yield
into that formula.
Eventually, the arbitrage-free barrier call option price implied by Black-Scholes-Merton model

Project № 2 Page 1
is:
      
−dT S(0) S(0)
V (0) = S(0)e N δ+ T, − N δ+ T,
K B
      
−rT S(0) S(0)
−e K N δ− T, − N δ− T,
K B
− 2(r−d) −1
B2
       
−dT S(0) σ2 B
− S(0)e N δ+ T, − N δ+ T,
B KS(0) S(0)
− 2(r−d) +1
B2
       
−rT S(0) σ2 B
+e K N δ− T, − N δ− T,
B KS(0) S(0)
= S(0)e−dT I1 − KI2 − S(0)e−dT I3 + KI4

where,  
1 1 2
δ± (τ, s) = √ log s + (r − d ± σ )τ
σ τ 2
The prices of up-and-out barrier call option calculated by our program is:

c = 0.0507592

Benchmark

This result is identical to the benchmark that we use, as is shown in the following screen-shots:

Numerical Methods

1. Euler Solution of SDE for Spot

First, we use Euler method to generate stock price process and calculate the payoff for each itera-
tion. The SDE of stock price is given as:

dS(t) = S(t)((r − d)dt + σdW (t))

We take 252 time steps per year to simulate the process. Euler method uses the relation:

X̂(ti+1 ) = X̂(ti ) + a(ti , X̂(ti ))(ti+1 − ti ) + b(ti , X̂(ti ))(W (ti+1 ) − W (ti ))

Project № 2 Page 2
with initial condition X̂(0) = X(0), where the Brownian motion increments may be generated using:
p
W (ti+1 ) − W (ti ) = ti+1 − ti Zi+1

Besides the stock process, we also need to generate a maximum process M (t) = max{S(u) :
0 ≤ u ≤ t} to determine the payoff of the barrier option. At time t = T , the payoff is given as:

(S(T ) − K)+ 1{M (T )≤U }

where 1A is an indicator function which has value one if the condition is true and zero otherwise.
We use in total J = 10, 000 paths to do the simulation and the estimator of option price is given
as the mean of each discounted payoff:
n
1X j
V̂n = V
n
j=1

The result calculated by our program is:

cEuler = 0.0678352

Then, in order to see how good is the estimator, we do error analysis for Euler method. The
standard error (SE) of a parameter is the standard deviation of its sampling distribution or an es-
timate of the standard deviation. The option price is estimated by the mean of all the simulations.
Thus, the standard error can be calculated as:
sY
ε= √
n

where, sY is the sample standard deviation:


v
u n
u 1 X
sY = t (Yi − Ŷ )2
n−1
i=1

Here, use Yi represents an i.i.d random variable (in our case, it is one of the estimated prices
generated by sample paths, Yi = V i ). Then Ŷ (= V̂n ) is an unbiased estimator.
The standard error for Euler method in our program is:

εEuler = 0.00590545

which is small enough, showing that this estimator is reliable.

2. Antithetic Variates Method to Estimate Barrier Option

Consider pairs of random variables (Yi , Ỹi ), i = 1, ..., n. We say that the pair (Y, Ỹ ) is antithetic if
Y = g(Z) and Ỹ = g(−Z), where Z is a standard normal random variable and g(z) deterministic.

Project № 2 Page 3
Based on the definition of antithetic variates, one can see that if S(t) is geometric Brownian
˜ )) forms an antithetic pair. Thus, the stochastic differential equations of this
motion, then (S(T ), S(T
pair are given as:

S(ti + h) = S(ti )(1 + rh + σ hZi+1 )

S̃(ti + h) = S̃(ti )(1 + rh + σ hZi+1 )

Finally, the antithetic variates estimator is defined by:


n
1 X Yi + Ỹi
ŶAV = ( )
n 2
i=1

where (Yi , Ỹi ) are the discounted payoff of the up-and-out option.
The call option’s price calculated by this antithetic variates method is:

cAV = 0.0772661

Similarly, by treating ŶAV as the estimator of the price, the standard error of this estimator is:

εAV = 0.0044526

which is smaller than the standard error generated by classical Euler method, showing that we
obtain a variance reduction by using AV method.

3. Control Variates Method to Estimate Barrier Option

In control variates method, we consider a pair of random variables (Xi , Yi ), i = 1, ..., n, where Yi is
the discounted payoff that we want to calculate (in our case, Yi is the discounted payoff of up-and-
out option). We can use a known (or easily estimable) mean E[X] to give a control variate estimator
for E[Y ] as:
n
1X
E[Y ] = Ȳ (b) = (Yi − b(Xi − E[X]))
n
i=1

Here, we can use vanilla call option’s price with the same strike as X variable, since its closed-
form price can be easily calculated from Black-Scholes-Merton formula.
The optimal coefficient b for this method is given as:

Cov[X, Y ]
b∗ =
V ar[X]

In practice, we can first estimate the optimal coefficient by a set of n1 simulations. The estimator
is give by: Pn1
i=1 (Xi− X̄)(Yi − Ȳ )
b̂n1 =
(Xi − X̄)2
Then using another set of n2 simulations, we can obtain Ȳ (b), which is the estimator for E[Y ].

Project № 2 Page 4
The call option’s price calculated by this control variates method is:

cCV = 0.0675786

And the standard error is:


εCV = 0.00990597

In this experiment, we pick n1 and n2 as:


2
n1 = n2 = J
3
where J is the total number of simulations. Notice that we choose n1 + n2 << J, however, the
estimator is much closer to the closed-form solution than the results given by Antithetic variateds
and standard Euler methods. On the other hand, the standard error increases compared with
previous two numerical methods since we use fewer simulations in this Control method.

Question

• To answer this question, we print out the b∗ and ρ when calling the Control method function
with different inputs. The results are lised in the following table.

Barrier(U) b∗ ρ run time(s) Option Price


120 -0.00103741 -0.033213 0.34795 0.0675786
200 0.6444 0.78421 0.340795 7.69047
1000 1 1 0.34901 9.05705

Notice that when barrier U is getting larger, b∗ and ρ are tending to 1 and the option price is
tending to a vanilla call. Intuitively thinking, this is because when barrier is getting larger, the
stock price is less likely to knock out that line and the barrier option is tending to a vanilla
option. This is as what we expect. Thus, our program is verified.

• For this question, we use asset price (S(t)) as the control variate X, and vanilla discounted
payoff (which is the original X variable) as the estimated variable. Then implement the Control
method with different strikes. The results are listed in the following table. (see the top of next
page)
Notice that when K = 20, the option is deep in the money. Thus, b∗ and ρ are both equal
to one. Then when strike is getting larger, vanilla option is transferring into an out of money
option, in which case b∗ and ρ are getting smaller.

• From the results in Numerical Solution section, we find that using Antithetic method can re-
duce the standard error compared with standard Euler method. However, the run time of
Antithetic method is longer than Euler. Thus, there is a trade-off between higher speed and
less deviation.

Project № 2 Page 5
Strike(K) b∗ ρ run time(s) Vanilla Option Price
20 1 1 0.336168 78.4156
80 0.872208 0.979331 0.348753 24.3617
100 0.662269 0.920891 0.365409 13.066
120 0.414011 0.802451 0.364320 5.56197
200 0.0237219 0.314527 0.355004 0.219089

Convergence Analysis

In this part of analysis, we choose different numbers of Monte Carlo paths and different time steps
to check whether the solution is converging. The results are listed below.

Num of Paths Euler for spot Antithetic Control


10000 0.0704369 0.0750107 0.0661539
20000 0.0738386 0.0724388 0.0701409
50000 0.0753205 0.0745698 0.0612347
100000 0.0733213 0.0709229 0.0672835

Time Steps Euler for spot Antithetic Control


252 0.0704369 0.0750107 0.0661539
500 0.0731855 0.0650737 0.0620137
1000 0.0620851 0.0628557 0.0581217
2520 0.0610172 0.0581572 0.0573027

As we can see from the above two tables, the numerical solutions are converging to the exact
closed-form price. One might think the convergence is not significant enough, we think one main
reason is the number of steps and time steps are still not big enough. Thus, we set big numbers
for both of them and get a much better result as is shown in the following figure.

Project № 2 Page 6

You might also like