Class implements the general concept of CF understand as certain amount paid on predefined date. More...

#include <CashFlow.hpp>

Inheritance diagram for julian::CashFlow:
julian::FixedCashFlow julian::FloatingCashFlow

Public Member Functions

virtual double price (const SmartPointer< ir::Curve > &disc)=0
 discounts the cashflow More...
 
virtual double value (const SmartPointer< ir::Curve > &disc)=0
 prints and returns the value discounted the cashflow More...
 
virtual Date getDate () const =0
 returns payment date More...
 
virtual double getNotional () const =0
 returns notional More...
 
virtual double getCF () const =0
 returns CF More...
 
virtual void setCashFlow (double amount)=0
 sets new CF value More...
 
virtual void setCashFlow (double quote, const InterestRate &rate)=0
 calculates new CF value basing on quoting and interest rate provided More...
 
virtual void setCashFlow (const SmartPointer< ir::Curve > &)=0
 sets new CF value basing on interest rate curve More...
 
virtual CashFlowclone () const =0
 virtual copy constructor More...
 
virtual ~CashFlow ()
 destructor More...
 

Private Member Functions

template<class Archive >
void serialize (Archive &, const unsigned int)
 interface of Boost serialization library More...
 

Friends

class boost::serialization::access
 

Detailed Description

Class implements the general concept of CF understand as certain amount paid on predefined date.

Class implements the general concept of CF understand as certain amount paid on predefined date. Class is a building block of all linear instruments.

Constructor & Destructor Documentation

virtual julian::CashFlow::~CashFlow ( )
inlinevirtual

destructor

Member Function Documentation

virtual CashFlow* julian::CashFlow::clone ( ) const
pure virtual

virtual copy constructor

Implemented in julian::FixedCashFlow, and julian::FloatingCashFlow.

virtual double julian::CashFlow::getCF ( ) const
pure virtual

returns CF

Implemented in julian::FixedCashFlow, and julian::FloatingCashFlow.

virtual Date julian::CashFlow::getDate ( ) const
pure virtual

returns payment date

Implemented in julian::FixedCashFlow, and julian::FloatingCashFlow.

virtual double julian::CashFlow::getNotional ( ) const
pure virtual

returns notional

Implemented in julian::FixedCashFlow, and julian::FloatingCashFlow.

virtual double julian::CashFlow::price ( const SmartPointer< ir::Curve > &  disc)
pure virtual

discounts the cashflow

Method discount the cashflow on the curve valuation date.

Implemented in julian::FixedCashFlow, and julian::FloatingCashFlow.

template<class Archive >
void julian::CashFlow::serialize ( Archive &  ,
const unsigned  int 
)
inlineprivate

interface of Boost serialization library

virtual void julian::CashFlow::setCashFlow ( double  amount)
pure virtual

sets new CF value

Implemented in julian::FixedCashFlow, and julian::FloatingCashFlow.

virtual void julian::CashFlow::setCashFlow ( double  quote,
const InterestRate rate 
)
pure virtual

calculates new CF value basing on quoting and interest rate provided

Implemented in julian::FixedCashFlow, and julian::FloatingCashFlow.

virtual void julian::CashFlow::setCashFlow ( const SmartPointer< ir::Curve > &  )
pure virtual

sets new CF value basing on interest rate curve

Implemented in julian::FixedCashFlow, and julian::FloatingCashFlow.

virtual double julian::CashFlow::value ( const SmartPointer< ir::Curve > &  disc)
pure virtual

prints and returns the value discounted the cashflow

Method calculates discounted cashflow on the curve valuation date and then prints it

Implemented in julian::FixedCashFlow, and julian::FloatingCashFlow.


The documentation for this class was generated from the following file: