Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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;
(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.