linearInstrument.hpp
Go to the documentation of this file.
1 #ifndef JULIAN_LINEARINSTRUMENTS_HPP
2 #define JULIAN_LINEARINSTRUMENTS_HPP
3 
8 
9 namespace julian {
10 
22  public:
28  virtual double price(const SmartPointer<ir::Curve>&) = 0;
29 
32  virtual double price(const SmartPointer<ir::Curve>& discounting1,const SmartPointer<ir::Curve>& discounting2,const SmartPointer<ir::Curve>& projecting1,const SmartPointer<ir::Curve>& projecting2) = 0;
33 
36  virtual void valuation(const SmartPointer<ir::Curve>& c) = 0;
37 
40  virtual void valuation(const SmartPointer<ir::Curve>& discounting1,const SmartPointer<ir::Curve>& discounting2,const SmartPointer<ir::Curve>& projecting1,const SmartPointer<ir::Curve>& projecting2) = 0;
41 
44  virtual LinearInstrument* clone() const = 0;
45 
48  virtual ~LinearInstrument(){};
49  private:
50  };
51 }
52 #endif
Class is an abstract class expressing the concept of linear instruments like deposits, FRAs, futures, fxForwards and swaps.
Definition: linearInstrument.hpp:21
Definition: cadHoliday.cpp:3
File contains definition of floating cash flow class.
File contains definition of fixed cash flow class.
virtual ~LinearInstrument()
destructor
Definition: linearInstrument.hpp:48
virtual double price(const SmartPointer< ir::Curve > &)=0
calculate price of linear instrument using one curve for discounting and projecting forward rates ...
virtual LinearInstrument * clone() const =0
virtual copy constructor
virtual void valuation(const SmartPointer< ir::Curve > &c)=0
prints price and CFs of linear instrument using one curve for discounting and projecting forward rate...
File contains interface of interest rate curves.
LinearInstrument()
constructor
Definition: linearInstrument.hpp:25
File contains definition of cash flow vector.