这个Assignment是用蒙特卡洛算法仿真模拟投资回报的预测

MATH60082 (Computational Finance)

Assignment No. 1: Monte Carlo Methods

Version 10601550

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 −

1

2

σ

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:-

• Assume that:

d1 =

ln(S/X) + (r − D0 + σ

2/2)(T − t)

σ

√

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

BP(S, T) =

1 if S ≤ X

0 if S > X

has the analytic solution

BP(S, t) = e

−r(T −t)N(−d2)

• A Binary Call Option BC with terminal condition

BC(S, T) =

0 if S ≤ X

1 if S > X

has the analytic solution

BC(S, t) = e

−r(T −t)N(d2)

• 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

C(S, T; X = 0) = S

and

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

yield an approximation for the value of the portfolio, i.e.

Π =

Pi=N

i=1 Πi(t = 0)

N

(5)

1.2 Path Dependent Options

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

S

n

ti = S

n

ti−1

exp[(r − D0 −

1

2

σ

2

)(ti − ti−1) + σ

p

ti − ti−1φi

]

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

A =

1

K

X

K

i=1

S(ti).

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

i

S(ti),

or

A = min

i

S(ti).

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 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.

3

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 > X

0 if S < X

0 if S(ti) > B for any i = 1, 2, . . . , K

and a down-and-out knockout barrier put option will be

V (S, T) =

X − S if S < X

0 if S > X

0 if S(ti) < B for any i = 1, 2, . . . , K

2 Tasks

2.1 Stock Options

You must value the portfolio comprising of short a call option with strike price X1, long a call option with

strike price X2, short X2 binary call options with strike price X2 and unit payoff and short a call option with

strike price equal to zero with the parameters T = 1, σ = 0.45, r = 0.03, D0 = 0.03, X1 = 7 and X2 = 11.

The payoff of the portfolio at time T is shown below

-33

-22

-11

0

0 4.5 9 13.5 18

V(S,T)

S

• 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)

4

• 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 fixed-strike Asian call option with the following parameters.

The option matures at T = 1.75, the interest rate is r = 0.02, the dividend rate D0 = 0.03 and volatility

is σ = 0.39. The stock price, currently at S0 = 2450, will be observed on K = 25 plus one equally spaced

dates throughout the lifetime of the option, where t0 = 0 and tK = T. The fixed strike price is X = 2450.

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 missing

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.

5

(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 interpret

results.

50%-70% Demonstrates a good understanding of new or alternative methods.

Is able to implement new methods, present results and discuss

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 submitted

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 15th MARCH.

THIS DEADLINE MUST BE STRICTLY ADHERED TO – Reports handed in AFTER

5pm SUNDAY 15th 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 20th 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

6

• 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.

7

EasyDue™ 支持PayPal, AliPay, WechatPay, Taobao等各种付款方式!

**E-mail:** easydue@outlook.com **微信:**easydue

**EasyDue™是一个服务全球中国留学生的专业代写公司
专注提供稳定可靠的北美、澳洲、英国代写服务
专注提供CS、统计、金融、经济、数据科学专业的作业代写服务**