CF - Assignment 1
编辑CF - Assignment 1
The (very last) deadline for submitting is: (exactly) 13:00 (i.e. 1pm) on 1st March CF
(Please make sure you have read the "Important Notes" section at end.)
Please write a brief Report (and please make it as concise and to-the-point as possible, and please make it use itemising/enumerating whenever possible) that contains the answers to the coming questions. Please make sure you accompany your Report (containing answers to the below) with a CPP file that contains all your underlying code. (In case, in addition to the Report and the CPP file, you have used a spreadsheet, please include that as well.)
Part One: [65 marks]
(You will find that the questioning below will direct your programme to carry out not only a pricing, but elements of risk measurement and model-risk assessment too.)
-
Monte-Carlo Pricing Task
Please write a C++ programme that (contains a specific function, calledmainPricer
, that) performs the Monte-Carlo pricing of the following structured note. It is a note dependent on an underlying, S. The note pays, for some barrier level B (a pre-specified constant, essentially), and strike price K, on its maturity date T:
[536575131445]
(Where 1{E} denotes the indicator function of an event E.) -
Explanation of the Pricing Method [10 marks]
In your Report, explain briefly your pricing method (focusing mostly on things that may be less obvious, or a deviation from the in-class approach, in your code). In particular, highlight the limitations of your approach. -
Sensitivity Analysis [20 marks]
- Please produce about 10 selected numerical scenarios (and please include the results in the Report), to illustrate the impact (on this option's price) of varying the volatility. Does the resulting profile (or possibly profiles) make sense to you? Why?
- Please make sure you've used a separate function (call it
sensitivityAnalysis
) that takes charge of this sensitivity analysis task. - Please explain in your Report any precaution(s) that you took to minimise the noise in your sensitivity analysis.
-
Mathematical Relationship [10 marks]
What (mathematical) relationship between (two or more of) K, B and S0 removes the need for Monte Carlo simulation to price the above product? -
Large Barrier Level [5 marks]
What does this option become (approximately) when B is very large? -
Probability Estimation [10 marks]
Use your programme to derive the probability that the payoff of the above option turns out to be > $5, for the following numerical example:- The underlying is a stock that pays no dividends
- Its spot So = $150
- Its volatility = 20%
- The strike K = $100
- Time to maturity = 2 years
- Discount rate = 2%
- B = $100
(Make sure you reference the bit in your code that provided the answer.)
-
Computational Efficiency [10 marks]
Finally, can you think of an approach/trick in implementingmainPricer
, that may shorten the computational/simulation effort involved in the pricing (compared eg to a brute-force approach)?
But is there a downside to this (pricing) efficient approach when applied to sensitivity analysis?
(Note that the above Part One has not been prescriptive in forcing a particular prototype, e.g. list of arguments, for your functionsmainPricer
andsensitivityAnalysis
. That is up to your judgment.)
Part Two: [20 marks]
Look at the finite-difference pricer (intended for a European put option) in Annex1 below. It has a few (intended) problems.
- Please fix them, and modify the code to make it indeed correctly price a European put option. (Include the corrected code in your submission.)
- Explain in the report what the problems were and how you fixed them.
- Also try (in the same corrected code) to implement a better way (not necessarily a perfect way) of pinning down the option's price corresponding to the exact Spot. In your Report, briefly (but clearly) explain this "better way".
Part Three: [15 marks]
Look at the binomial-tree pricer (subject to a possible problem, or problems), for a European call option, in Annex2.
- Please modify the code to make it price a European put option.
- Is there a problem (or more) in the code? What is it/what are they?
(Make sure it is/they are fixed in the corrected code that you submit.)
联系我们
WeChat:pythonyt001
Email: [email protected]
- 0
-
分享