代写 C algorithm math graph MATH4/60082 (Computational Finance) Assignment No. 1: Monte Carlo Methods

MATH4/60082 (Computational Finance) Assignment No. 1: Monte Carlo Methods
Version 10090075
1 Background 1.1 Stock Options
Consider the equation for geometric Brownian motion, as used to model the path of an underlying asset paying proportional dividends at a continuous rate D0:
dS = (μ − D0)Sdt + σSdW, (1) where dW is the increment of a Wiener process (drawn from a Normal distribution with mean zero and
standard deviation

dt); we may then write that
dW=φ dt, (2)

where φ is a random variable drawn from a normalised Normal distribution.
Utilising (2) and risk neutrality, (1) can be integrated exactly over a timescale δt (NOT necessarily small)
to yield (see also your lecture notes)
S(t+δt)=S(t)exp (r−D0 − 2σ )δt+σφ δt . (3)
Equation (3) then generates a random path. Since δt need not be small, in the case of European options, it is possible to generate a (random) value of S at expiry (t = T) in just one step (i.e. δt = T). From this value (say S(T)), the payoff can then be easily calculated.
European Options
Note that because the stock is paying dividends it makes the value of holding a share a little different since cash dividend payments are made to stock holders. We assume here that all contracts in the portfolio are options, so that no cash payments are received by the owner of the portfolio. Here we may price the options in the portfolio according to the following formula:-
􏰀12√􏰁
• Assume that:
ln(S/X)+(r−D0 +σ2/2)(T −t) d1= σ√T−t ,
√ d2=d1−σ T−t.
• A Put Option P with terminal condition
P (S, T ) = max(X − S, 0)
has the analytic solution
P(S,t) = Xe−r(T−t)N(−d2)−Se−D0(T−t)N(−d1) 1

• A Call Option C with terminal condition
C(S, T ) = max(S − X, 0)
has the analytic solution
C(S,t) = Se−D0(T−t)N(d1)−Xe−r(T−t)N(d2),
• A Binary Put Option BP with terminal condition
􏰂1 ifS≤X BP(S,T) = 0 if S > X
has the analytic solution
• A Binary Call Option BC with terminal condition
yield an approximation for the value of the portfolio, i.e.
􏰃i=N Πi(t = 0)
1.2 Path Dependent Options
BP(S,t) = e−r(T−t)N(−d2) 􏰂0 ifS≤X
BC(S,T) = 1 if S > X BC(S,t) = e−r(T−t)N(d2)
has the analytic solution
• If there is a payoff at maturity which is equal to the stock price, this is equivalent to the value of a call
option with strike (X = 0) so that
and
C(S,T;X = 0) = S
C(S,t;X = 0) = Se−D0(T−t) = e−r(T−t)Ft,T
which is the discounted futures price Ft,T .
If this payoff of a portfolio is denoted as Πi(t = T) (for the ith simulation), then the value of this payoff at t = 0 is
Πi(t = 0) = Πi(t = T)e−rT (4) If N simulations are performed, then (as described in the notes) we merely average out the Πi(t = 0) to
Π= i=1
N
(5)
Given a stochastic process that, as before, is governed by
dS = (μ − D0)Sdt + σSdW.
Then the following options will depend on S(ti) 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
Sn =Sn exp[(r−D −1σ2)(t −t )+σ􏰅t −t φ] titi−1 02ii−1 ii−1i
to estimate the underlying asset values at each time, where each of the K increments dWi involves drawing φi from a Normal distribution.
2

Asian Option
Assume that a discretely sampled Asian option has a payoff depending on the discretely sampled average given by
Then we can write
1 􏰄K A=K S(ti).
i=1
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. We can either have a floating strike S or a fixed strike X, so that for example a floating strike Asian call option would give
and a fixed strike put would be
Lookback Option
f (S, A) = max(A − S, 0) f (S, A) = max(X − A, 0).
The discretely sampled Lookback option has a payoff depending on the discretely sampled maximum or minimum given by
or
Then we can write
A = max S(ti), i
A = min S(ti). i
V (S, A, t = T ) = f (S, A),
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, so that for example a floating strike Lookback call option would give
and a fixed strike put would be
Barrier Options
f (S, A) = max(A − S, 0) f (S, A) = max(X − A, 0).
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 ) = and a down-and-out knockout barrier put option will be V (S, T ) = X−S if 0 if S−X if 0 if S>X
S < X S(ti) > B for any i = 1,2,…,K
S X
S(ti) < B for any i = 1,2,...,K  0 if  0 if 3 2 Tasks 2.1 Stock Options You must value the portfolio comprising of short a call option with strike price X1, short a call option with strike price X2, short 2X2 binary cash or nothing call options with strike price X2 and unit payoff and short a call option with strike price equal to zero with the parameters T = 0.75, σ = 0.29, r = 0.01, d = 0.05, X1 = 70 and X2 = 120. The payoff of the portfolio at time T is shown below 0 -206.667 -413.334 -620.001 0 47.5 95 S 142.5 190 • Write a program to calculate the value of the portfolio 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 out two figures for the value of the portfolio with t = 0 at S0 = X1 and S0 = X2, with increasing N (N = 1000, 2000, . . ., 50000, or more!) and compare the values you obtain with the exact values from the analytical formula. (Understanding 4 marks) • Try to obtain a confidence interval for the option value at S0 = X1. Show how this interval changes as N is increased. Explain you results. (Understanding 4 marks) • Obtain a confidence interval when using antithetic variables, and compare with the results using the basic method above. Explore how efficient using antithetic variables can be using different values of N. (Understanding 4 marks) • Try an appropriate extension to the Monte-Carlo method and analyse its benefit. Comment on the efficiency of the method. (Originality/Initiative 5 marks) 2.2 Path Dependent Options For this task you are required to value a discrete down-and-out barrier put option with the following pa- rameters. The option matures at T = 1.5, the interest rate is r = 0.03, the dividend rate D0 = 0.06 and volatility is σ = 0.3. The stock price, currently at S0 = 390, will be observed on K = 40 plus one equally 4 V(S,T) spaced dates throughout the lifetime of the option, where t0 = 0 and tK = T . The barrier is B = 277 and the strike price X = 390. 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 4 plots or tables to investigate the value of the path dependent option with different values of N and K. Try to spot and explain trends. (Understanding 8 marks) • You are tasked with providing the most accurate value possible of discrete version of the option using the given parameters (K as stated above). Assume that you are only given 10 seconds of computation time to return a value of the option. State the most accurate value you can get in that time limit, how you verified it and any techniques used. (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; 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- 70%-100% ing labels and not always referenced correctly. Report is overly long and unnecessarily repeats the same (or similar) results. 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. Student is able to correctly interpret standard results and evaluate the efficiency of the standard methods. 70%-100% 5 (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. 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 5pm on SUNDAY 17th MARCH. THIS DEADLINE MUST BE STRICTLY ADHERED TO – Reports handed in AFTER 5pm SUNDAY 17th MARCH will be docked 4 marks plus an additional 4 marks each day thereafter until a mark of zero is reached. Reports handed in after 5pm Friday 22nd March 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), • 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. 70%-100% 6