PROJECT. COMPUTING PRICES, GREEKS AND EARLY EXERCISE
BOUNDARIES OF AMERICAN PUT UNDER LOCAL VOLATILITY MODEL
WITH FINITE DIFFERENCE
Assume the stock price S paying a continuous dividend yield q follows the process below
dSt = (r − q)Stdt+ σ(St, t)StdWt, (1)
where r is the risk free interest rate and W is a Wiener process under the risk-neutral
probability measure. The local volatility surface has been calibrated with the form below:
σ(S, t) = 0.4e−t(100/S)α.
We know that the price of an option, V (S, t), on the above stock satisfies the PDE below:
∂V
∂t
+
1
2
∂2V
∂S2
σ(S, t)2S2 + (r − q)S
∂V
∂S
− rV = 0.
The aim of this project is to use the following pricing parameters, spot price S0 = £100,
strike price K = {80, 90, 100, 110, 120}, risk-free rate r = 3%, dividend yield q = 5%,
time to maturity T = 1 year, and α in the local volatility function α = 0.25, solve the
Black-Scholes PDE numerically to price an American put option by means of
(1) Implicit finite differences
(2) Crank-Nicolson finite differences
The following sets of boundary conditions will be used:
I.
lim
S→0
V (S, t) = K − S
lim
S→∞
V (S, t) = 0
II.
lim
S→0
∂2V (S, t)
∂S2
= 0
lim
S→∞
∂2V (S, t)
∂S2
= 0
Please finish the tasks below:
Date: Current Version February 16, 2017.
1
2 PROJECT – AMERICAN PUT WITH FINITE DIFFERENCE
a (30% of project mark) For each of the four cases in the finite difference scheme, namely
each scheme in (1) to (2) matching with each boundary condition in I and II, compute
the prices of the American put and compare them.
b (30% of project mark) For each of the four cases in the finite difference scheme, namely
each scheme in (1) to (2) matching with each boundary condition in I and II, compute
the Greeks, namely ∆, Γ and Θ, of the American put and compare them.
c (20% of project mark) Let K = 100. Using the implicit method together with the bound-
ary condition I, find the early exercise boundary of the American put.
d (20% of project mark) Pricing American option by Monte Carlo is beyond the scope
of this course, but you can compare the American put price you computed with the
corresponding European put price. Please implement Monte Carlo Simulation using
Euler Scheme to discretize equation (1) with 1000 time steps and 1 million paths to
compute the European put option prices and confidence intervals of those prices. Please
use the antithetic method to reduce the variance of the results.
The code should be accompanied by detailed documentation, split into:
• code developer documentation: presenting the structure of the code, available func-
tions, main variables and any other information to help to understand the code,
including directions on how to extend the code to handle more general features; the
test runs of your code and timings should be reported in a separate section of the
developer documentation;
• end-user’s instructions: how to use the .m program, how to input data and how the
results are presented, and a brief description of the methods implemented.
• Each of the marks in the above categories (a) − (d) will be split as follows: 60%
for coding style, clarity and accuracy of computation, and 40% for documentation
(including comments within the code).
This project will contribute 40% towards the final mark for the module.
Submit your work by uploading it in Moodle by 23:55 on Sunday, 23 April 2017. Submit
the code as a single compressed .zip file, including all Matlab (.m) files all residing in a sin-
gle parent directory, whose name should contain your name and student code. The .zip file
should preserve the subdirectory structure of the parent directory (that is, the subdirectory
structure must be automatically recreated when unzipping the file).
The documentation files must be submitted in .pdf format (two separate .pdf files containing
developer documentation and user instructions) and uploaded in Moodle as a single .zip file
separate from the code file. The .zip file containing documentation should also bear your
PROJECT – AMERICAN PUT WITH FINITE DIFFERENCE 3
name and student number. Unless approved mitigating circumstances apply (if you need to
claim the mitigating circumstances, please refer to the mitigating circumstances procedure),
late submissions will incur a penalty according to the formula
{
10%×m× d, if d ≤ 5
100%×m, if d > 5
where m is the maximum mark that can be awarded for this assignment, and where d is
the number of days or part days that the assignment is late, i.e. according to the standard
university rules for late submission of assessed work. It is advisable to allow enough time
(at least one hour) to upload your files to avoid possible congestion in Moodle before the
deadline. In the unlikely event of technical problems in Moodle please email your .zip files
to boda.kang@york.ac.uk before the deadline.
It may prove impossible to examine projects that cannot be unzipped and opened, and run
on computer lab machines directly from the directories created by unzipping the submitted
.zip files. In such cases a mark of 0 will be recorded. It is therefore essential that all project
files and the directory structure are tested thoroughly on computer lab machines before
being submitted in Moodle. It is advisable to run all such tests starting from the .zip files
about to be submitted, and using a different lab computer to that on which the files have
been created.
A common error is to place some files on a network drive rather than in the submitted
directory. Please bear in mind that testing on a lab computer may not catch the error if the
machine has access to the network drive. However, the markers would have no access to
the file (since they have no access to your part of the network drive) and would be unable
to compile the project. All files must be submitted inside the zipped project directory, and
connected to the project. Please check before submitting!