Reference no: EM133140234
FE545 Design, Patterns and Derivatives Pricing - Stevens Institute of Technology
Pricing a derivative security entails calculating the expected discounted value of its payoff. This reduces, in principle, to a problem of numerical integration; but in practice this calculation is often difficult for high- dimensional pricing problems. Broadie and Glasserman (1997) proposed the method of the simulated tree to price American options, which can derive the upper and lower bounds for American options. This combination makes it possible to measure and control errors as the computational effort increases. The main drawback of the random tree method is that its computational requirements grow exponentially in the number of exercise dates m, so the method is applicable only when m is small. Nevertheless, for problems with small m it is very effective, and it also serves to illustrate a theme of managing scores of high and low bias.
I) Please price the American Call and Put options using the above parameters using the BinomialTree method using the four exercising times. In this part, you will resume the BinomialTree class provided in the sample for both American Call and Put options.
II) Please add RandomHighTree and RandomLowTree classes and use GetGBMNextPrice(...) function in Random.h provided in this assignment to build random trees. These two classes should have void BuildTree() and double GetThePrice() member functions.
Please Note:
a). These two classes should have different algorithms to build and update theTree member and get the op- tion prices. Please reuse the classes provided in the random tree project.zip file for this assignment.
b). Please run 100 times to get averages of the high and low estimators of the American Call and Put option prices and compare them with the results from the BinomialTree
III) Please add PayOff Factory class using the singleton pat- tern to register "BNCall" (Binomial Tree American Call Option), "BNPut" (Binomial Tree American Put Option), "RTCallH" (Random Tree American Call Option High Es- timator), "RTCallL" (Random Tree American Call Op- tion Low Estimator), "RTPutH" (Random Tree Ameri- can Put Option High Estimator), and "RTPutL" (Random Tree American Put Option Low Estimator) classes. Gen- erate American option prices using the parameter specified above.
Please Note:
a). Please use the PayOff Constructible and PayOff Factory (sample of these classes are provided along with this assignment in the factory arglist solution.zip file) to manage the class registration and object creation for all the tree option pricing classes. It means that you need to register the 6 classes for the 6 IDs specified in the problem exactly e.g. ‘BNCall", "BNPut", "RTCallH", "RTCallL", ‘RTPutH", and ‘RTPutL".
b). Please run ArgumentList class to pass the parameters for all the class registration with the factory class. The implementation of ArgumentList class is provided in ArgList.h and ArgList.cpp respectively.
Attachment:- Patterns and Derivatives Pricing.rar