# 程序代写 [35 marks:] – cscodehelp代写

[35 marks:]
The (very last) deadline: 23:59 on Sunday 22nd March 2020
Computational Finance
Please write a C++ programme that performs the pricing of the following structured note. It is a note dependent on two interest rates, IR1 and IR2 (that could correspond to two different points on eg the GBP curve), and an exchange rate (eg EUR/USD) denoted G. The note pays, at the close of its maturity day T:

[GT-K]+ . τ/T
where τ.360 is the number of days where, at the close, the difference (in absolute value) between IR1 and IR2 is (strictly) lower than: 25% * min{IR1,IR2}. (We follow the convention ACTUAL/360 for time measurement.) You may assume that all three stochastic processes follow geometric Brownian motions. Without loss of generality you may assume that the two IRs have equal initial values.
In addition to providing basic pricing, your programme should facilitate sensitivity analysis.
Please write a report (and please make it as concise and to-the-point as possible, and please make it use itemising/enumerating whenever possible) that:
[35 marks:] Part One:
0) Starts by a brief introduction focusing in particular on any differences/divergences from the in- class approach; and then
1) Presents a decent illustration of the effect on the price of both:
o The correlation between the two IR rates; and o The volatilities of the IR rates
2) Lists, and briefly explains, the (top three) value-adding elements (eg in providing extra sophistication/accuracy) of your code, compared to the in-class programme;
3) Lists, and briefly explains, the main (say, three) approximations to (or simplifications of) reality, that you have resorted to;
4) Lists, and briefly explains, the main (say, three) opportunities for future work that remain.
[30 marks:] Part Two:
a) In your coding above, have you identified a shortcut, that provides a great efficiency compared to a brute force method? If so, what is it?

b) What are the main disadvantages of using geometric Brownian motion to model interest rates?
c) Can you mention a related note (to the one above) that happens to have the opposite correlation profile? (Please give the corresponding payoff.)
For the remaining questions, please indicate whether True or False. (Importantly, please include a convincing and targeted explanation of why.)
d) If your implementation of the explicit scheme of finite difference methods is currently stable, it then follows if you halve your time step (delta_t), your scheme will definitely remain stable.
e) If you double the number of paths (simulations) in your (pseudorandom number) Monte Carlo, you have halved the likely Monte Carlo error (ie you have doubled the accuracy).
f) Let Z1 and Z2 be two independent N(0,1) random variables. It then follows that 2Z1–3Z2 and 3Z1+2Z2 are identically distributed.
(Remember that notation N(a, b) means normal with mean a and variance b.)
– Please submit both the code (source file) and the report (the latter should preferably be in Word format) plus any spreadsheet you used. You should also include the code (source file) from your C++ project as an appendix (preserving the default C++ Editor colours) to your report.