MATH40082 (Computational Finance)

Assignment No. 2: Advanced Methods

Version 10450176

1 Background Theory

1.1 Convertible Bonds

You are asked to price a bond contract in which the holder has the option to choose between receiving

the principle F or alternatively receiving R underlying stocks with price S at time t = T. The contract

can therefore be expressed as a function of the underlying stock price S and time t, assuming that risk free

interest rates are constant and the default risk of the bond is negligible. The terminal condition of such a

contract is therefore given by

V (S; T) = max(F; RS) The issuer of the bond has also decided to pay out a continuous coupon at the rate of K(t) = Ce–αt |
(1) |

(2) |

for constants C and α of their choosing. This means that the holder of the bond contract will receive

Ce–αtdt (3)

at each instant in time from the issuer.

Assume now that the risk-neutral process followed by underlying stock price is given by

dS = κ (θ(t) – S) dt + σSβdW: (4)

Here κ is the mean reversion rate, β is the elasticity of variance in the market, and the function θ is given

by

θ(t) = (1 + µ)Xeµt

where X and µ are constant model parameters that can be determined from the market, reflecting the

dividend payout policy of the firm.

It is relatively straightforward to show that the market value V (S; t) of this contract satisfies the following

PDE

@V + σ2S2β @2V + κ (θ(t) – S) @V – rV + Ce–αt = 0: |
(5) | |

@t | @S2 | @S |

1 2

The boundary conditions of this problem are given as

@V

@t + κθ(t)@V @S – rV + Ce–αt = 0; at S = 0 (6)

and

V (S; t) = SA(t) + B(t) as S ! 1 (7)

for some functions A and B to be derived.

1

1.2 Options embedded in the contract

In this section we consider the case where the firm issuing the bond contract looks to embed further American

style options into the contract. The first addition they make to the contract is to enable the holder to exercise

the decision to convert the bond in stock at any time before the maturity of the contract. This results in

an American style condition which gives the inequality

V ≥ RS (8)

for all t < T .

From this condition we can assume that for large enough S the bond holder will always choose to convert

so that

V (S; t) ! RS as S ! 1 (9)

is the boundary condition for large S.

Call Option

If the bond has written in the contract that the issuer may buy back the bond at the price Cp over some

time period t < t0 then the value of the bond must satisfy the following condition

V (S; t) ≤ max(CP ; RS) if t ≤ t0: (10)

For this condition to work we are assumming that the holder is allowed to choose to convert rather than be

bought out.

Put Option

Another option often written in a bond contract is that the holder may have the option to sell the bond

back to the issuer at the price Pp over some time period t < t0. Then in this case the value of the bond must

satisfy the following condition

V (S; t) ≥ Pp if t ≤ t0: (11)

Default Barrier

Sometimes the bond holders are given an option to force the company to buy back the bond if the value of

equity goes below some pre-specified level and the firm is at risk of bankruptcy. We assume here that they

only have the option to force the sale at the price Kp during some fixed time period t < t0, and that the

barrier B below which S must not go is written in the contract. In this case we find the value of the bond

must satisfy the following condition

V (S; t) = Kp if S ≤ B and t ≤ t0: (12)

2 Tasks

2.1 European Options

• Include in your report a brief derivation of the boundary condition (7) for large S. You will need to

find the functions A(t) and B(t) by solving the approximate problem

@V | + κ (X – S) @V @S – rV + Ce–αt = 0 |

@t |

assuming that the solution to this equation is of the form

V (S; t) = SA(t) + B(t):

(understanding 5 marks)

2

• Write code to calculate the value of the option V . You must use the finite-difference method with

a Crank-Nicolson scheme, along with an appropriate method to solve the algebraic system. You can

derive an analytical result when β = 1 and κ = 0 to check that your code is working (this is left up to

you to check), but do not include these results in your report. Write out the correct numerical scheme

(i.e. aj =, bj =, cj = and dj =), including at j = 0 and j = jMax, in your report. Be careful to

make your notation clear and understandable.

(coding 3 marks, understanding 5 marks)

Unless otherwise instructed, you should assume that the following standard values for the parameters

apply: T = 2, F = 110, R = 5, r = 0:0188, κ = 0:125, µ = 0:003, X = 24:51, C = 1:03, α = 0:02,

β = 0:749 and σ = 0:956.

• Plot out the value of the option V (S; t) as a function of the underlying asset price S (at t = 0) for the

following two cases:

1. β = 1, σ = 0:44, all other parameters as standard.

2. β = 0:749, σ = 0:956, all other parameters as standard.

Comment on the results in each case, can you explain how the change in parameters affects the results

and why? You may wish to present one more graph exploring different values of β and σ.

(understanding 5 marks)

• Assume now that S0 = 24:51, include in your report an accurate estimate for the option value V (S0; t =

0) using the parameters outlined above with β = 0:749 and σ = 0:956. Explain how you obtained your

result, how efficient it is, and also how accurate it is, by exploring the effect each of the different

numerical parameters (iMax, jMax, Smax) have on your solution. You may entend the method with

higher order interpolations and Richardson extrapolation but the scheme should be Crank-Nicolson

Finite Difference.

(originality 7 marks )

2.2 American Options { embedded options

You may value this option with any technique you like, but it will effect your answer to the final question.

Very briefly describe the numerical method that you have used (i.e. state if you use explicit FD, CrankNicolson with PSOR, policy iteration or penalty method).

(Coding 2 marks)

Unless otherwise instructed, you should assume that the following standard values for the parameters

apply: T = 2, F = 110, R = 5, r = 0:0188, κ = 0:125, µ = 0:003, X = 24:51, C = 1:03, α = 0:02, β = 0:749

and σ = 0:956. The bond contract you must value is an American style convertible bond with an embedded

call option, which means that the issuer can buy the bond back from the holder at the price Cp = 130 if

t < 0:8372.

• Plot out the value of your American style bond contract as a function of asset price S, at t = 0 between

S = 0 and S = 2X, and mark on the graph any optimal decision points.

(understanding 5 marks)

• Using finite difference approximations and by solving the American style option with different values

of κ, plot out the value of partial differential

@V

@κ

as a function of the underlying asset price S (at t = 0) between S = 0 and S = 2X. Does your result

look reasonable, for instance, did you expect the value to be zero, positive, negative, large, small,

continuous or discontinuous? (understanding 5 marks)

3

• You are tasked with providing the most accurate value possible of American style version of the

option using the parameters given above. Assume that you are only given 1 second of computation

time to return a value of the option at S0 = 24:51. State the most accurate value you can get in that

time limit, how you verified it and any techniques used. Be careful to work around any discontinuities

in the domain and explain how you did so.

(originality 8 marks)

3 Instructions

This assignment is the last assignment, and it will account for 50% of your final assessment for this module.

Marks will be awarded as follows:

(i) 5% for working codes;

Grade | Description |

0-50% 50%-70% 70%-100% |
Little or no attempt, codes not working One or two bugs in the code are affecting the results 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% 50%-70% 70%-100% |
Poorly presented work. Significant amount of text unreferenced. Graphs and tables poorly labelled making it difficult to interpret them. 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. Excellent presentation, well written and well referenced. Graphs are clear, tables used when appropriate. Report keeps within the page limit. |

(iii) 25% for the understanding of the problems involved;

Grade | Description |

0-50% 50%-70% 70%-100% |
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. 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. |

(iv) 15% for originality/initiative.

4

Grade | Description |

0-50% 50%-70% 70%-100% |
Little or no attempt at adapting the methods for this particular problem. Those adaptations that have been implemented have poorly presented results or the student is unable to demonstrate they can correctly interpret results. Is able to efficiently adapt the method for this problem, or make improvements to the standard implementation. Is able to present results and discuss them. Results are well presented. Is able to implement new or combine existing algorithms together to produce a highly efficient numerical method. Presentation of the results is excellent. Student is able to correctly interpret re sults and compare methods in a coherent way. |

Please see bullet points for a more detailed breakdown of 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 with the

document. Your report should be written in continuous prose in the form of a technical report and should

be at most 10 pages long (excluding appendices). Any programming language may be used. The deadline

for this assignment is 11am on Monday 16th May.

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

11am Monday 16th May will be docked 5 marks plus an additional 5 marks each day thereafter

until a mark of zero is reached. Reports handed in after 11am Wednesday 25th May will be

awarded a mark of zero and will not be marked, unless the student is eligible for extra time

via DASS.

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.

References

5