Home Page > > Details

CPT206 Java Programming for Financial Mathematics:

Coursework 2 Task Specification

Thomas Selig

Due date: Sunday, 9 May, 2021, 10pm

This is the specification task sheet for the Coursework 2 assessment component of your CPT206

module. This is worth 15% of your final grade for this module. The submission deadline for this

assignment is Sunday, 9 May, 2021, at 10pm. Detailed submission instructions are provided in

Section 3.

1 Task specification (60 marks)

The aim of this coursework is to implement the Hull-White model, which is a model of future interest

rates. First described by John Hull and Alan White in 1990, this model is one of the historically

most important interest rate models, and is still often used for risk-management purposes in the

market today. As part of this task, you will also produce a report documenting your design choices,

detailed in Section 2.

1.1 Model dynamics

The model is a short-rate model, whose dynamics are given by the following equation:

dr(t) =

θ(t) − ar(t)

dt + σdW(t). (1)

In Equation (1), a and σ are positive constants, the function θ(t) is chosen so as to exactly fit the

initial yield curve observed in the market, and W(t) is a standard Brownian motion. This means

that the differential dW(t) has normal distribution with mean 0 and variance dt.

1.2 Task description (40 marks)

You will write a Java program that simulates the Hull-White model over a given time period.

Your Java program should be written in a single Main class. It should take the following input

parameters:

• The constants a, σ, and the function θ(t) which drive the model’s behaviour. These should

be chosen by yourself (e.g. as class variables/constants), and the values selected will be

documented in the report (see Section 2).

• An initial rate r0 > 0.

• A time period T > 0 and a positive integer n indicating the number of increment intervals.

1

The idea is to break down the time period [0, T] into n increment intervals of length dt =

T

n

,

and apply the Euler method to Equation (1) to simulate the model over that time period. In other

words, we should have: r(t = 0) = r0, and for any given time t =

kT

n

for some k ∈ {0, . . . , n − 1},

r(t + dt) = r(t) + dr(t), where the increment dr(t) is given by Equation (1).

Your program should display the values of the rate function r(t) over the chosen time period

(i.e. should show the values of r(t) for all t of the form t =

kT

n

as above). It should also calculate the

minimum, maximum and average values of the rate function, and display them. For the minimum

and maximum, it should also display the point t at which these are reached.

1.3 Code quality (20 marks)

The remaining marks (20) for the coding part will be awarded for general code quality as seen in

the course materials to date. Here is some guidance.

• Keep your code neat and tidy; make sure it is properly indented throughout.

• Choose suitable names for variables and methods.

• Comment your code as needed.

• Split your code into separate methods as appropriate; code in the main method should be

kept to a minimum; methods overall should not be too long.

2 Report (40 marks)

You will write a report providing some details on how you designed and implemented your program,

as described in Section 1. Your report will consist of three main parts.

2.1 Input parameter choices (15 marks)

In this part, you should explain the choices you make for the parameters a, σ and the function θ(t)

which drive the behaviour of your system. For this, you will need to do some short researches on

the Hull-White model and choose suitable values for these. Include links to any references used in

your report. This part should be no more than 1 page in length.

2.2 Program design choices (15 marks)

In this part, you should explain the design choices you made for your Java program. You should

consider the following questions.

• What are the different members (class variables or methods) of your Java class? What is

their purpose?

• How did you proceed in implementing the model’s dynamics as described by Equation 1?

How did you calculate minimum, maximum and average values of the rate function?

This part should be no more than 1 page in length.

2.3 Testing description (10 marks)

In your report, you should include a description of the testing you undertake of your system. State

clearly which functionalities you are testing, what test you are carrying out, and why. You may

2

include screenshots (of code, the output console, etc.) for clarity. This part should be no more

than 1 page in length, screenshots excluded.

3 Submission instructions

In the dedicated “Coursework 3 submission” Assignment activity on the Learning Mall Online, you

will need to submit the following two (2) documents.

• A plaintext .txt file, into which you have copied the source code of your Java class.

This file should be named “CPT206 CW2 Code studentId.txt”.

• Your report from Section 2, typed into for instance a Word document, and converted into

a PDF file.

This file should be named “CPT206 CW2 Report studentId.pdf”.

The submission deadline is: Sunday, 9 May, 2021, 10pm.

This assignment is individual work. Plagiarism (e.g. copying materials from other sources

without proper acknowledgement) is a serious academic offence. Plagiarism and collusion will not

be tolerated and will be dealt with in accordance with the University Code of Practice on Academic

Integrity. Submitting work created by others, whether paid for or not, is a serious offence, and

will be prosecuted vigorously. Individual students may be invited to explain parts of their code in

person during a dedicated BBB session, and if they fail to demonstrate an understanding of the

code, no credit will be given for that part of the code.

Late submissions. The standard University policy on late submissions will apply: 5% of

the total marks available for the component shall be deducted from the assessment mark for each

working day after the submission date, up to a maximum of five working days, so long as this does

not reduce the mark below the pass mark (40%); submissions more than five working days late will

not be accepted.

Good luck!

Contact Us(Ghostwriter Service)

- QQ：99515681
- WeChat：codinghelp
- Email：99515681@qq.com
- Work Time：8:00-23:00

- Programhelp With ,Help With C++ Course... 2022-05-10
- Help With Data Programming,Help With C... 2022-05-10
- 5Cce2sashelp With ,Python，Java Progra... 2022-05-10
- Help With Program Programming,Help Wit... 2022-05-09
- Help With Csci 3110,Help With Java，Py... 2022-05-09
- Mth2222help With ,Help With C/C++，Pyt... 2022-05-09
- Cse3bdchelp With ,Help With Sql Progra... 2022-05-08
- Help With Cis 468,Help With Java，Pyth... 2022-05-08
- Comp Sci 4094/4194/7094 Assignment 3 D... 2022-05-07
- Cs 178: Machine Learning & Data Mining... 2022-05-07
- Data7703 Assignment 4 2022-05-07
- Data Programminghelp With ,Help With S... 2022-04-25
- Help With Ait681 Course,Help With Pyth... 2022-04-25
- Cse121l Programminghelp With ,Help Wit... 2022-04-25
- Help With Iti1120,Help With Java，C/C+... 2022-04-25
- Cmt304help With ,Help With C++，Python... 2022-04-25
- Help With Engn4528,Matlab Programmingh... 2022-04-24
- Help With Fin 2200,Help With Java，Pyt... 2022-04-24
- Bism 7255Help With ,Help With Java，Py... 2022-04-23
- Comp202help With ,Help With Java Progr... 2022-04-23

Contact Us - Email：99515681@qq.com WeChat：codinghelp

© 2021 www.asgnhelp.com

Programming Assignment Help！