Class helps to handle the vector of CFs. More...

#include <CashFlowVector.hpp>

Public Member Functions

 CashFlowVector (std::vector< SmartPointer< CashFlow > > &cfs_)
 Constructor. More...
 
double prize (const SmartPointer< ir::Curve > &disc) const
 calculate discounted value of all CFs More...
 
double valuation (const SmartPointer< ir::Curve > &disc) const
 values the CF More...
 
void updateCashFlows (double quote, const InterestRate &rate)
 updates all CFs with given quote More...
 
void updateCashFlows (const SmartPointer< ir::Curve > &)
 updates all CFs with forward rates calculated using interest curve provided More...
 
void addCashFlow (SmartPointer< CashFlow > cf)
 appends CF to vector More...
 
SmartPointer< CashFlowoperator[] (int) const
 returns i-th CF More...
 
std::vector< DategetDates () const
 returns dates of cfs More...
 
int size () const
 number of CF More...
 

Private Member Functions

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

Private Attributes

std::vector< SmartPointer< CashFlow > > cfs
 Vector of cashflows. More...
 

Friends

class boost::serialization::access
 
std::ostream & operator<< (std::ostream &, CashFlowVector &)
 Overloads stream operator. More...
 

Detailed Description

Class helps to handle the vector of CFs.

CashFlowVector is building block for almost all instruments generating regular CFs (for example bonds, swaps, etc.).

Constructor & Destructor Documentation

julian::CashFlowVector::CashFlowVector ( std::vector< SmartPointer< CashFlow > > &  cfs_)
inlineexplicit

Constructor.

Member Function Documentation

void julian::CashFlowVector::addCashFlow ( SmartPointer< CashFlow cf)

appends CF to vector

std::vector< Date > julian::CashFlowVector::getDates ( ) const

returns dates of cfs

SmartPointer< CashFlow > julian::CashFlowVector::operator[] ( int  i) const

returns i-th CF

double julian::CashFlowVector::prize ( const SmartPointer< ir::Curve > &  disc) const

calculate discounted value of all CFs

template<class Archive >
void julian::CashFlowVector::serialize ( Archive &  ar,
const unsigned  int 
)
private

interface used by Boost serialization library

int julian::CashFlowVector::size ( ) const

number of CF

void julian::CashFlowVector::updateCashFlows ( double  quote,
const InterestRate rate 
)

updates all CFs with given quote

void julian::CashFlowVector::updateCashFlows ( const SmartPointer< ir::Curve > &  c)

updates all CFs with forward rates calculated using interest curve provided

double julian::CashFlowVector::valuation ( const SmartPointer< ir::Curve > &  disc) const

values the CF

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
CashFlowVector f 
)
friend

Overloads stream operator.

This overloaded operator enables to print the curve on the console.

Member Data Documentation

std::vector<SmartPointer<CashFlow> > julian::CashFlowVector::cfs
private

Vector of cashflows.


The documentation for this class was generated from the following files:
  • C:/Unix/home/OEM/jULIAN/src/instruments/CashFlowVector.hpp
  • C:/Unix/home/OEM/jULIAN/src/instruments/CashFlowVector.cpp