联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2020-04-11 11:04

Project 2, 4CMP Spring Term 2019/20

PROJECT 2

4CMP, SPRING TERM, PART 2: PROGRAMMING IN C++

Due Date: Sunday 5th April 2020 at 11.59 pm

Weighting: This project counts 40% to your final mark for the spring part of 4CMP.

INSTRUCTIONS FOR THE SUBMISSION:

Submit your code and accompanying document by the deadline on Canvas. Source code files that

are named as follows: The program should contain a main.cpp. additional files should be logically

named, e.g. Person_P1.h and Person_P1.cpp. Submit all individual source files, and a zip file

containing all source files.

This file should compile without errors or warnings on Visual Studio 2017 as installed on the clusters

in the learning centre, and the executable should run without problems.

Marking: The most important criteria for marking is the correctness of the code and the quality of

the submitted document. The code needs to compile and run correctly, and do what you were asked

to do. Style, efficiency, readability and formatting are also part of the evaluation criteria. In

particular, if the code is so unreadable that one cannot evaluate if it is working correctly, then you

risk losing many marks for that. Also, you should implement the code in an object-oriented way as

discussed in the lectures.

PROJECT 2: NUMERICAL OPTION PRICING PROGRAM

Write a program that can price European options, American options, Asian (European) Options with

different methods: Analytically, with a Binomial Tree, with a PDE and with Monte Carlo. Implement

puts and calls for each case.

Asian options are arithmetically sampled once per day and can only be exercised at the expiry date.

American options can be exercised every day, assuming 365 trading days per year.

Hence the payoff of an Asian call is

where the sum is over every evaluation day t, up to expiry T. K is, as usual, the strike.

Note that some methods are harder to implement for some derivatives than others. Some methods

may also not work for some options, or they only work approximately. Other options may be very

inefficient. Also, there are different methods to e.g. solve a PDE numerically, or to implement Monte

Carlo simulations. It is expected that every student will pass this project if only 2 methods are

implemented for Asian and American options, respectively (provided that the code is submitted with

a good style, and the submitted documents is of sufficiently high quality). For Europeans, you have

to implement all methods (but we already implemented most of them in previous lectures or

problem sheets). For achieve high marks, implement as many methods as efficiently as you can.

Submit a document that explains which methods you implemented for pricing the different options,

and why you picked that method (here you can go a bit more into detail. For example, say which

method you used to solve the PDE). Explain which methods are better for the different option types,

and why they are better. Analyse the error and the performance for calculating option prices with

the different methods. Explain the sources of your errors (e.g. is the error due to discretisation, or

due to an analytic approximation?).

The program and document should also contain the results and analysis for the following test cases:

SPECIFIC TESTS:

Consider the following data:

Constant continuously compounded interest rate = 0.04

Strike = 100

Constant volatility = 0.4

Expiries = 1, 2, 3 and 4 years

Calculate and plot the option prices as a function of initial share prices, ranging from (close to) 0 to

200 for the different expiries as above. Produce 8 plots for the different expires and for put and call

options, respectively. In each plot, show 4 graphs: European, American and Asian options, and the

appropriately discounted payoff (e.g. max(S-K exp(-rT),0) for calls, max(K exp(-rT) -S ,0) for puts).

Compare the different options and interpret your results (e.g. explain why some options are more

expensive than others, and why this may depend on the share price). Is put-call parity given for the

different option types?

For each type of option, you can calculate the prices with a default method of your choice. This

should be the one that you argued before to be the best for that option type.


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp