curveBuildingBlock.hpp
Go to the documentation of this file.
1 #ifndef JULIAN_CURVEBUILDINGBLOCK_HPP
2 #define JULIAN_CURVEBUILDINGBLOCK_HPP
3 
4 #include <string>
8 #include <utility>
9 
10 namespace julian {
11 namespace ir {
12 
27  class BuildingBlock {
28  public:
29  BuildingBlock(){};
30 
34  virtual Date getDate() const = 0;
35 
42  virtual double calibrate(const SmartPointer<ir::Curve>& calibrated) = 0;
43 
50  virtual double calibrate(const SmartPointer<Curve>& discounting,const SmartPointer<Curve>& projection , const SmartPointer<Curve>& calibrated) = 0;
51 
56  virtual double getParRate(const SmartPointer<Curve>& discounting,const SmartPointer<Curve>& projection,const SmartPointer<Curve>& projection2) = 0;
57 
62  virtual double getQuoting() = 0;
63 
68  virtual void changeQuoting(double) = 0;
69 
75  virtual std::pair<CashFlowVector, CashFlowVector> getCFs() const = 0;
76 
77 
81  virtual InterestRate getInterestRate() const = 0;
82 
86  virtual std::string info() const = 0;
87 
91  virtual BuildingBlock* clone() const = 0;
92 
96  virtual ~BuildingBlock(){};
97  };
98 } // namespace ir
99 } // namespace julian
100 #endif
virtual BuildingBlock * clone() const =0
Virtual copy constructor.
virtual Date getDate() const =0
returns maturity.
Definition: cadHoliday.cpp:3
Building Block is a class that defines the interface for benchmark instruments used for estimating in...
Definition: curveBuildingBlock.hpp:27
virtual double calibrate(const SmartPointer< ir::Curve > &calibrated)=0
Method calibrate is used by root finding estimator.
virtual std::pair< CashFlowVector, CashFlowVector > getCFs() const =0
Returns the sets of cashflows associated with the benchmark instruments.
virtual std::string info() const =0
Returns a name of instrument.
File contains definition of swap interpolated curve class.
virtual void changeQuoting(double)=0
changes quoting of the instrument
virtual double getParRate(const SmartPointer< Curve > &discounting, const SmartPointer< Curve > &projection, const SmartPointer< Curve > &projection2)=0
Implies quoting of benchmark instrument from interest rate curves provided.
virtual ~BuildingBlock()
destructor
Definition: curveBuildingBlock.hpp:96
virtual double getQuoting()=0
Returns quoting of the instrument.
Class implements a date object.
Definition: date.hpp:27
The class implements the concept of interest rate.
Definition: interestRate.hpp:25
File contains interface of interest rate curves.
File contains definition of cash flow vector.
virtual InterestRate getInterestRate() const =0
Returns interest rates convention of the benchmark instruments.