Você está na página 1de 4

Math 16:642:623 Homework Assignment 6 Spring 2015

c Paul Feehan

Practice or advanced problems are optional and are not graded: practice problems are intended
as drill problems while advanced problems are intended for students with additional mathematics
background. Please consult the Homework Submission Requirements before commencing work
on this assignment.
1. Reading Assignments and Sample Code
1.1. Reading Assignments. The primary texts and readings for the course are Glasserman,
Joshi, Wilmott, and Achdou and Pironneau. You may find the suggested alternative readings
helpful. The primary reading assignments for this homework set are
Clewlow and Strickland, chapter 2 (binomial trees).
Glasserman, sections 4.6 (importance sampling) and 7.1 (Greeks).
Joshi, chapter 8 (implementation of binomial tree models).
Shreve, volume 1, chapter 2 (binomial model)
Shreve, volume 2, section 3.2 (binomial model)
You may find the following suggested complementary readings helpful:
Back, sections 5.2-5 (binomial trees); sections 5.1, 5.6, and 5.7 (Monte Carlo Greeks).
Brandimarte, chapter 7 (binomial and trinomial trees).
Clewlow and Strickland, chapter 2 (binomial trees); section 3.2 (trinomial trees); chapter
5 (implied trees and exotic options).
Haug, chapter 7 (binomial and trinomial trees).
Jackson and Staunton, chapter 10 (binomial trees) and section 12.5 (Monte Carlo Greeks).
Jaeckel, chapter 11 (Greeks)
Shreve volume 1, chapters 1, 2, 3, 4 (binomial model).
2. Programming and Written Assignments
Problem 2.1. Write a C++ program to price European-style
Vanilla call (or put) options,
Discretely-monitored double barrier, barriers knock in or out, call (or put) options,
using the following test data and the methods described below.
Spot process parameters:
Asset price process, S(t) is geometric Brownian motion;
Volatility, = 0.3;
Initial asset price, S(0) = 100;
Dividend yield, q = 0.02;
Discount curve parameters:
Constant risk-free interest rate, r = 0.05;
Payoff parameters:
Upper barrier, U = 120, knock in;
Lower barrier, L = 90, knock out;
Strike, K = 110;
Maturity, T = 1 year;
Barrier option discrete monitoring dates, t1 , . . . , td , where 0 = t0 < t1 < < td = T ,
ti+1 ti = T /6 for i = 0, . . . , d 1, and d = 6;

Last update: March 12, 2015 19:21


1

Vanilla option sampling dates, 0 = t0 < td = T , where d = 1;


Numerical method parameters:
Number of quasi or regular Monte Carlo simulation paths, 100, 000.
Number of strata for regular Monte Carlo simulation, 100.
(a) Create your program by modifying Joshis main program EquityFXMain.cpp and include
files (only if necessary).
(b) The Brownian motion path generation should allow for stratified sampling along W (td ).
(c) Implement another Sobol sequence generator which removes the restriction that d 6
required by Numerical Recipes.
(d) Modify Joshis main program so vanilla as well as barrier call options can be priced using
regular Monte Carlo (with Park-Miller uniforms and inverse transform normals, with
antithetic or terminal stratified sampling) and quasi Monte Carlo (d-dimensional Sobol
sequence and inverse transform normals):
Closed-form vanilla call price =
MC vanilla call, Park-Miller uniforms, antithetics =
MC vanilla call Park-Miller uniforms, stratified =
QMC vanilla call, Sobol sequence =
MC double barrier call, Park-Miller uniforms, antithetics =
MC double barrier call, Park-Miller uniforms, stratified =
QMC double barrier call, Sobol sequence =
(e) Program notes:
Use the Brownian bridge in conjunction with terminal stratified sampling for S(tm )
for regular Monte Carlo, but do not combine antithetics and stratified sampling in
regular Monte Carlo or combine either antithetics or stratified sampling with the
Sobol sequence in quasi Monte Carlo.
Generation of paths of geometric Brownian motion is implemented in ExoticBSEngine.h
and ExoticBSEngine.cpp and their include files.
The vanilla option only requires simulation of the spot value at the maturity date,
with no intermediate dates, and your program should be coded accordingly.
(f) Benchmarking. Benchmark your results using pricer(s) with the closest algorithms
and numerical methods. If a Numerix option pricer is not available , use the ExcelVBA spreadsheets of Haug, Back, or Rouah-Vainberg, or the MATLAB functions of
Brandimarte or Mathworks toolboxes.
(g) Report. Write a report (LATEXpreferred, though Word is acceptable) which includes
A short explanation of the algorithms including equations and their implementation
and an analysis of your results, including a comparison of your results with those
obtain from a Numerix, Excel-VBA spreadsheet, or MATLAB algorithm (briefly
describe the benchmarking algorithm).
Answers to the following questions:
(a) Compare your results with those of the closed-form continuously monitored
single barrier options from Kerry Backs and Espen Haugs spreadsheets when
d .
(b) Compare your results with those of the closed-form continuously monitored
double barrier options from Espen Haugs spreadsheet when d .

(c) Describe the effect of varying the number of strata when using stratified sampling.
3. Review Questions
Problem 3.1 (Generation of sample paths). Explain the three methods of generating a discrete
sample path for a process S(t), t [0, T ], defined by a stochastic differential equation (SDE),
dS(u) = a(u, S(u)) du + b(u, S(u)) dW (u), S(0) = S0 , for time points 0 = t0 < t1 < < tm = T .
Exact advancement of the solution;
Sampling from the joint distribution of S(t1 ), . . . , S(tm );
Numerical solution of the SDE.
in each case, explain what the method requires and whether the method is approximate or exact,
and in what sense. Illustrate your answer using
(a) Brownian motion, W (t);
(b) Geometric Brownian motion, S(t);
(c) CIR process, R(t);
(d) Local volatility process.
Problem 3.2 (Numerical methods). Suppose is a real, symmetric, non-negative definite matrix. Explain the two methods (Cholesky decomposition and eigenvector factorization) of obtaining a matrix A such that AAT = and indicate how the matrix A can be used to generate a
discrete sample path of Brownian motion, W (t), for t [0, T ].
Problem 3.3 (Numerical solution of SDEs). Explain the following concepts:
(a) Strong convergence and order of strong convergence;
(b) Weak convergence and order of weak convergence;
(c) Euler scheme for numerical solution of an SDE;
(d) Millstein scheme for numerical solution of an SDE;
(e) Weak and strong orders of convergence of the Euler scheme;
(f) Weak and strong orders of convergence of the Millstein scheme;
(g) Advantages or disadvantages of the Millstein relative to the Euler scheme when the process
is vector-valued.
Problem 3.4 (Error analysis). Explain the following concepts:
(a) Central limit theorem;
(b) Suppose X1 , . . . , Xn are iid with mean , variance 2 , and sample mean estimator
(n)
and sample variance estimator
2 (n). Let be a small positive number and let (z) be
the standard normal cumulative distribution function. What is the asymptotically valid
1 confidence interval for your estimate of ? Explain what is meant by the standard
error and its associated confidence interval. To obtain a 95% confidence interval, how
many samples, n, are required?
(c) Explain the following sources of bias in Monte Carlo simulation:
Model discretization error;
Payoff discretization error;
Non-linear functions of means;
Random number generators.
Problem 3.5 (Elementary variance reduction). Explain the following concepts and the range of
applicability of these methods:

(a) Antithetic variance reduction. Explain why the variance of the antithetic variates estimator is lower than that of the sample mean estimator.
(b) Control variates. Explain why the variance of the control variates estimator is lower than
that of the sample mean estimator.
(c) Explain how to implement a control variates estimator to price a discretely-sampled arithmetic Asian call option, using the discretely-sampled geometric Asian call option as a
control instrument.
Problem 3.6 (Generation of random numbers). Answer the following.
(a) Explain what is meant by a linear congruential generator. Give an example and compute
the first ten numbers in the sequence.
(b) Explain the considerations which might lead you to implement your own random number
generator rather than rely on rand(): period length, reproducibility, speed, portability,
and randomness.
(c) Given an algorithm for generating samples from the uniform probability distribution on
[0, 1], explain the following methods of producing samples X from a target distribution
F : R [0, 1], as well as samples X from F conditional on X [a, b]:
Inverse transform;
Acceptance-rejection;
(d) Explain the following methods for producing samples from N (0, 1):
Box-M
uller;
Bray-Marsaglia modified Box-M
uller;
Fishman.
Problem 3.7 (Quasi-Monte Carlo methods). Answer the following.
(a) Explain informally what is meant by a low-discrepancy sequence in Rd and name three
algorithms.
(b) Compare deterministic numerical integration (for example, trapezoidal), Monte Carlo
integration, and quasi-Monte Carlo integration. Explain how the errors decrease with the
number of sample paths, n, and how the decay rate depends on the integration dimension
d.
(c) Explain why acceptance-rejection methods cannot be used in conjunction with low-discrepancy
sequences.
Problem 3.8 (Brownian bridge). Explain how to construct a discretely-sampled path of Brownian motion using the Brownian bridge. Explain why each inserted sample point depends only
on its nearest neighbors and not the entire discrete path of Brownian motion.
Problem 3.9 (Stratified sampling). Explain the concept of proportional stratified sampling.
Explain how this may be used to reduce variance, when applied to the terminal value of a sample
path, when pricing a vanilla or single barrier call option and the underlying price process is
geometric Brownian motion.
Problem 3.10 (Importance sampling). Explain how importance sampling may be used to reduce variance when pricing a deep out-of-the-money vanilla or single barrier call option and the
underlying price process is geometric Brownian motion.
4. Supplementary Notes
Notes on importance sampling, Monte Carlo Greeks, and trees to be added.

Você também pode gostar