In the final project assignment you are asked to develop an OOP C++ class hierarchy for derivative pricing, using the binomial tree and Black-Scholes option pricing methods. You will also write programs that read data from a file and calculate the prices of several derivatives, to show the functionality of your solution. The third part of the assignment is optional. Please ensure that you've solved the first two parts correctly before attempting to solve part III.
Most of the implementation details are left to you. There are many 'right' ways to complete the assignment. Take advantage of C++ OOP features like class inheritance and virtual functions to make your life easier and the implementation simpler.
To avoid making the assignment overly complicated, we will exclusively work under the classical Black-Scholes assumptions. Specifically, we assume that the underlying stocks do not pay dividends, and that the (continuously compounded) discount rate is constant, as are the volatilities and growth rates of the underlying stocks. It would, however, be straightforward to generalize a well implemented program to a more general setting. You may have such generalizations in mind when solving the project.