MATH40082 Computational Finance
Computational Finance
MATH40082 Computational Finance
1 Background
1.1 Stock Options
The trader has calibrated a specialised risk neutral process for some underlying stock price. Given the
current stock is S0, market prices indicate the risk-neutral distribution of the stock price at time t is given
by:
St ∼ N(f(S0, t), v2(S0, t)) (1)
for some calibrated functions f and v2.
If (1) describes the risk neutral distribution, then the formula to value a call option V with payoff
g(S)
at time t = T is given by
V (S0, 0) = e
−rTEQ[g(ST )]. (2)
Then to carry out a Monte Carlo valuation of an option, we may use samples from a standard random
normal distribution
φ ∼ N(0, 1) (3)
to write the equation
ST = f(S0, T ) + v(S0, T )φ. (4)
Equation (5) then generates a single random path, from which we can value a payoff
V i = e−rT g
(
f(S0, T ) + v(S0, T )φ
i
)
. (5)
If n simulations are performed, then (as described in the notes) we merely average out the V i to yield
an approximation for the value of the portfolio, i.e.
V (S0, t = 0) =
∑i=n
i=1 V
i
n
(6)
Note that if we write
z =
X − f(S0, T )
v(S0, T )
,
then a Put Option V with a terminal condition
V (S, T ) = max(X − S, 0)
written on the asset S has the analytic solution
V (S0, t = 0) =
[
XN(z) + v(S0, T )
1√
2pi
e−z
2/2 − f(S0, T )N(z)
]
e−rT ,
where N(z) is the standard cummulative normal distribution.
1
1.2 Path Dependent Options
Now assume that the stochastic process follow a standard Geometric Brownian motion governed by
dS = (µ−D0)Sdt+ σSdW.
Then the following options will depend on S(tk) which are the share prices at K+1 equally spaced sampling
times t0, t1, ..., tK with t0 = 0 and tK = T (unlike part (a), the computation cannot proceed from t = 0 to
t = T in one step). Full details are given the the lecture notes - but the important point to note is that
Sitk = S
i
tk−1 exp[(r −D0 − 12σ2)(tk − tk−1) + σ
√
tk − tk−1φi]
to estimate the underlying asset values at each time, where each of the K increments dWk involves drawing
φk from a Normal distribution.
Asian Option
Assume that a discretely sampled Asian option has a payoff depending on the discretely sampled average
given by
A =
1
K
K∑
k=1
S(tk).
Then we can write
V (S,A, t = T ) = f(S,A),
where f is the payoff function depending the type of option.
There are different classes of Asian option, resulting in different payoff conditions. In this coursework we
look at simple European style call or put options. A fixed strike call option will have the payoff
f(S,A) = max(A−X, 0)
where X is the strike price and a floating strike call option would be
f(S,A) = max(S −A, 0).
where A is sometimes calles the average strike price.
A fixed strike put option will have the payoff
f(S,A) = max(X −A, 0)
where X is the strike price and a floating strike put option would be
f(S,A) = max(A− S, 0).
where A is the strike price.
Lookback Option
The discretely sampled Lookback option has a payoff depending on the discretely sampled maximum or
minimum given by
A = max
k
S(tk),
or
A = min
k
S(tk).
Then we can write
V (S,A, t = T ) = f(S,A),
2
where f is the payoff function depending the type of option.
There are different classes of Lookback option, resulting in different payoff conditions. In this coursework
we look at simple European style call or put options. We can either have a floating strike S or a fixed strike
X. For example a floating strike Lookback call option would give
f(S,A) = max(S −A, 0)
where A must be the minimum, and a floating strike Lookback put option would be
f(S,A) = max(A− S, 0).
where A must be the maximum.
A fixed strike call option will have the payoff
f(S,A) = max(A−X, 0)
where X is the strike price and A must be the maximum. and a fixed strike put option will have the payoff
f(S,A) = max(X −A, 0)
where X is the strike price and A must be the minimum.
Barrier Options
The discretely sampled knock-out barrier option will be knocked out (and return a value of zero) if the a
barrier asset price B is crossed before the maturity date.
The option will be an “up” option if the knock out condition is on S > B, or a “down” option if the
condition is on S < B. So for example a up-and-out knockout barrier call option has the conditions
V (S, T ) =
S −X if S > X0 if S < X
0 if S(tk) > B for any k = 1, 2, . . . ,K
and a down-and-out knockout barrier put option will be
V (S, T ) =
X − S if S < X0 if S > X
0 if S(tk) < B for any k = 1, 2, . . . ,K
2 Tasks
2.1 Stock Options
You must value a put option on an underlying asset S where the distribution of the stock price at time T is
given by
ST = S0 ln(1 + αT − βT ) + θ cos(αT + βT ) + σe(2α−β)T 1
4
(3S0 + θ)
γ
√
Tφ
where
φ ∼ N(0, 1)
The stock price at time t = 0 is S0 = 59943, and the risk-free interest rate is r = 0.06. According to the
contract, the option matures at T = 0.5 with a strike price of X = 60000. The market fitted parameters are
θ = 60000, α = 0.05, β = 0.03, γ = 0.96, and the volatility of the option is σ = 0.34.
3
• Write a program to calculate the value of the put option V using the parameters given at t = 0 using
Monte Carlo simulation. You need only include the code in the appendix of your report. (Coding 3
marks)
• Plot a single figure showing the value of the option with t = 0 at S0 with increasing N (N = 1000,
2000, . . ., 50000, or more!) alongside the exact value from the analytical formula. Comment on the
appearance of your result. (Understanding 4 marks)
• Use antithetic variables, moment matching or the Halton sequence to extend the Monte-Carlo method
and analyse its benefit when valuing this option. Produce at most 2 plots or tables of your results,
and comment on the accuracy, speed and efficiency of the chosen method(s). (Understanding 4 marks,
Originality/Initiative 3 marks)
• Use Monte Carlo simulations of V (S0, t = 0;α = 0.05) and V (S0, t = 0;α = 0.05 + dα) to provide an
estimate for
∂V
∂α
≈ V (S0, t = 0;α = 0.05 + dα)− V (S0, t = 0;α = 0.05)
dα
where you should choose an appropriate value of dα. State your estimate for the value in the text,
you should include up to 2 tables or graphs to support your result. (Understanding 4 marks, Original-
ity/Initiative 2 marks)
2.2 Path Dependent Options
Using the stochastic process outlined in Section 1.2, for this task you are required to value a discrete maximum
floating-strike lookback put option with the following parameters. The option matures at T = 2, the interest
rate is r = 0.04, the dividend rate D0 = 0.04 and volatility is σ = 0.36. The stock price, currently at
S0 = 725, will be observed on K = 30 plus one equally spaced dates throughout the lifetime of the option,
where t0 = 0 and tK = T . The floating strike price is the maximum stock price denoted byA. You should
use Monte-Carlo simulation to value this option.
• Code up the path dependent option. (Coding 2 marks)
• Using the given parameters at t = 0, produce at most 2 plots or tables to investigate the value of
the path dependent option with different values of N . Comment on your results, what value are they
converging towards? (Understanding 6 marks)
• Extend your method using antithetic or moment matching, and produce at most 2 plots or tables to
investigate the speed, accuracy and efficiency of the method. Comment on your results. (Understanding
2 marks, Originality/Initiative 5 marks)
3 Instructions
This assignment will account for 40% of your final mark in this module. The total number of marks in this
assessment are 40, and they will be awarded as follows:
(i) 5 for working codes;
Grade Description
0-50% Little or no attempt, codes not working
50%-70% One or two bugs in the code are affecting the results
70%-100% Results in 2.1 and 2.2 from the codes appear correct
(ii) 5 for the presentation of your written report;
4
Grade Description
0-50% Poorly presented work. Significant amount of text unreferenced.
Graphs and tables poorly labelled making it difficult to interpret
them.
50%-70% Good presentation. Text is readable. Graphs are ok, maybe miss-
ing labels and not always referenced correctly. Report is overly
long and unnecessarily repeats the same (or similar) results.
70%-100% Excellent presentation, well written and well referenced. Graphs
are clear, tables used when appropriate. Report keeps within the
page limit.
(iii) 20 for the understanding of the problems involved;
Grade Description
0-50% Results are poorly presented or they are without supporting text.
The methods are described but are not shown to be implemented
through results. The student is unable to demonstrate they can
correctly interpret results.
50%-70% Demonstrates a good understanding of the standard methods. Is
able to generate standard results and discuss them. Results are
well presented.
70%-100% Student is able to correctly interpret standard results and evaluate
the efficiency of the standard methods.
(iv) 10 for originality/initiative.
Grade Description
0-50% Little or no attempt at implementing any of the new methods.
Those that have been implemented have poorly presented results
or the student is unable to demonstrate they can correctly inter-
pret results.
50%-70% Demonstrates a good understanding of new or alternative meth-
ods. Is able to implement new methods, present results and dis-
cuss them. Results are well presented.
70%-100% Has implemented difficult algorithms not detailed in the course.
Presentation of the results is excellent. Student is able to correctly
interpret results and compare methods in a coherent way.
Please see individual bullet points in the task section for a break down of the marks.
Reports should be prepared electronically using either MS Word, LaTeX, or similar, and must be submit-
ted without your name, but with your university ID number online through the TurnItIn system.
Please include the program files used to generate results for the report in an appendix as plain text. Your
report should be written in continuous prose in the form of a technical report and should be approximately
8 - 10 pages long (excluding appendices). Any programming language may be used. The deadline for this
assignment is 11am on Monday 28th March.
THIS DEADLINE MUST BE STRICTLY ADHERED TO – Reports handed in AFTER
11am Monday 28th March will be docked 4 marks plus an additional 4 marks each day there-
after until a mark of zero is reached. Reports handed in after 5pm Friday 8th April will be
awarded a mark of zero and will not be marked.
In order that your report conforms to the standards for a technical report, you should use the following
structure:
• give a brief introduction stating the problem you are solving and the parameters you are using (from
the model or method),
5
• present your results in the form of figures and tables, using the order of items in the bullet points as a
guide as to the order of your document
• absolutely NO screenshots of running code need to be included,
• do not include overly long tables – a table should never cross over a page,
• present the results for any methods you have implemented, there is no credit for a discussion of a
method that has not been shown to be implemented by you (through results) for your problem
• refer to and discuss each of your results in the text, part of the marks available in each bullet point
are for interpreting the results
• try to keep to the page limit, removing any unnecessary results from the main text
• number and caption your figures and tables and refer to them by their number (not their position in
the text),
• number any equations to which you refer,
• use consistent internal (and external) referencing.