Define an asset base class, C/C++ Programming

Assignment Help:

a) Define an Asset base class that provides the following method:

class Asset
{
public:
     virtual double getValue()=0;
};
 
This will be the base class for both stock and options classes.  
 
b) Create a Stock class that inherits from Asset. This class should return the stock price as the value for getValue().  You should define a method to set the stock value as well.  In the exercises below, use this class instead of passing stock prices as parameters. It may also be natural to have other stock attributes in this class. 
 
c) Define four Asset child classes: 
a.  AmericanCall - a call option with early exercise 
b.  EuropeanCall - a call option with exercise only allowed at option expiration 
c.  AmericanPut - a put option with early exercise 
d.  EuropeanPut - a put option with exercise only allowed at option expiration.
 
It is up to you to decide upon a suitable class inheritance structure.  You will also probably find it useful to create one or more parent classes to encapsulate functionality.

Each option class should (eventually) implement its own getValue() function based on the type of option and whether early exercise is allowed. You will need the binomial tree from Part II to implement getValue() for American style options. You may find it useful to initially make these functions 'dummies' (i.e. ones that return a constant) until the binomial tree is implemented.

d)  Add a BlackScholesValue function to EuropeanCall and EuropeanPut that implements the closed form solution of each.  Note: since we will not be varying the risk-free rate or stock volatility, this method might also be useful for getValue() for these options.

e) Create a method ValueSpots(double lowerSpotPrice, double upperSpotPrice, int numberOfSpots, char Name[]) that, for the European Call and European Put, writes numberOfSpots option values to a file whose name is specified by Name.  The function should start with a stock price of lowerSpotPrice and ending with upperSpotPrice.  The spot prices should be equally spaced.

Each line of the file should have the following format:
 
, Strike, Spot, Sigma, T, r, Price 
 
where is a two character description of the option type.  Use EC for a European Call, EP for a European Put, AC for an American Call and AP for an American Put. You won't calculate the values of American Calls and American Puts until part II, but we use the terminology here. 

For example, assume for a European Put with stock spot price of $81 you calculate the put value to be $21.02. Then the line in your file would be:

EP, 100, 81, 0.4, 1.0, 0.05, 21.02

 Execute the function for both European Puts and Calls with Strike $100, Sigma = 40%, risk-free rate = 5% and T = 1 Year, varying the spots from $75 to $125, thereby generating 51 values.


Related Discussions:- Define an asset base class

Queue - c++ program, Queue - C++ program: Write a program to show the ...

Queue - C++ program: Write a program to show the basic operations on queue. namespace stack {  const int max_size = 200;  char v(max_size);  int top=0;  void pu

Graphical user interface designed for the output peripherals, Introduction ...

Introduction to I/O interfacing, discuss microcontrollers applications in industry. Detailed product design specifications that have sections on both hardware and software inclu

Program to Find the Factorial of a Given Number, Program1: Write a progr...

Program1: Write a program to find the factorial of a given number. The input is user given. Final output is printed out on to the screen. Program2: Write a program to gene

Describe the oops concept - class, There are so many different concepts rel...

There are so many different concepts related with OOP (Object-oriented programming) such as: Class Object Inheritance Polymorphism Abstraction Encapsulation

Float number, We can combine more than one variable on the same line i.e. ...

We can combine more than one variable on the same line i.e.   float number1,number2,number3; etc Sometimes we want to mix the variable types used on the same line, this could

Distinguish between a class and an object, Problem: (a) Distinguish bet...

Problem: (a) Distinguish between a class and an object. (b) Define instantiation. (c) What is the importance of the "this" variable in java. (d) What is encapsulation?

STM32F103RET6, traffic light t junction I have 21 LEDs will 6 in each side...

traffic light t junction I have 21 LEDs will 6 in each side 3 for the cars the other 3 will be for the people across the street this will be for each side and the last 3 for show

C program for sorting of character , #include stdio.h> #include conio.h>...

#include stdio.h> #include conio.h> #include string.h>   void main() {           char a[50],b[25][25],l[25],temp1;           int i=0,j=0,k=0,l1[25],c=0,c1=0,t=

What is a command line argument and what is its use, Question 1) What are ...

Question 1) What are the commonly used input/output functions in C? Question 2) What is the difference between function declaration and function definition? Write a recursive

C program for change the case in title case, #include stdio.h> #include ...

#include stdio.h> #include conio.h> #include ctype.h> #include string.h>   void main() {           int i=0,j=0,length;           char a[30];           cl

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd