Class implements the bond paying floating coupon. More...

#include <floatingRateBond.hpp>

Inheritance diagram for julian::FloatingRateBond:
julian::Bond

Public Member Functions

 FloatingRateBond ()
 Default Constructor. More...
 
 FloatingRateBond (Date issue_date, Date maturity_date, double principal, double margin, InterestRate rate, CashFlowVector cash_flows, Frequency payment_frequency)
 Constructor. More...
 
virtual ~FloatingRateBond ()
 deconstructor More...
 
Bond interface
virtual void valuation (const SmartPointer< ir::Curve > &curve) const override
 bond valuation More...
 
virtual void valuation (const SmartPointer< ir::Curve > &discounting_curve, const SmartPointer< ir::Curve > &projection_curve) const override
 bond valuation More...
 
virtual double prize (const SmartPointer< ir::Curve > &curve) const override
 prize bond More...
 
virtual double prize (const SmartPointer< ir::Curve > &curve, const SmartPointer< ir::Curve > &) const override
 prize bond More...
 
virtual double getPrincipal () const override
 returns the bond's principal More...
 
virtual Date getDate () const override
 returns the bond's maturity More...
 
virtual FloatingRateBond * clone () const
 virtual copy constructor More...
 
- Public Member Functions inherited from julian::Bond
 Bond ()
 constructor More...
 
virtual ~Bond ()
 destructor More...
 

Private Attributes

Date issue_date_
 Bond's issue date. More...
 
Date maturity_date_
 Date of repaying original sum loaned. More...
 
double principal_
 Principal of bond. More...
 
double margin_
 Margin added to cash flows. More...
 
InterestRate rate_
 Interest rate convention. More...
 
CashFlowVector cash_flows_
 Cash Flow Vector containing julian::FloatingCashFlow. More...
 
Frequency payment_frequency_
 Frequency of coupon payment. More...
 

Friends

std::ostream & operator<< (std::ostream &, FloatingRateBond &)
 Overloads stream operator. More...
 

Detailed Description

Class implements the bond paying floating coupon.

Floating rate bond is represented by julian::CashFlowVector containing FloatingCashFlow. Other data is provided just for information purposes only.

More information see [6]

Examples:
bondsExample.cpp.

Constructor & Destructor Documentation

julian::FloatingRateBond::FloatingRateBond ( )
inline

Default Constructor.

julian::FloatingRateBond::FloatingRateBond ( Date  issue_date,
Date  maturity_date,
double  principal,
double  margin,
InterestRate  rate,
CashFlowVector  cash_flows,
Frequency  payment_frequency 
)
inline

Constructor.

virtual julian::FloatingRateBond::~FloatingRateBond ( )
inlinevirtual

deconstructor

Member Function Documentation

FloatingRateBond * julian::FloatingRateBond::clone ( ) const
virtual

virtual copy constructor

Implements julian::Bond.

Date julian::FloatingRateBond::getDate ( ) const
overridevirtual

returns the bond's maturity

Implements julian::Bond.

double julian::FloatingRateBond::getPrincipal ( ) const
overridevirtual

returns the bond's principal

Implements julian::Bond.

double julian::FloatingRateBond::prize ( const SmartPointer< ir::Curve > &  curve) const
overridevirtual

prize bond

Parameters
curveInterest rate curve used to discount CFs
Returns
price of bonds

Implements julian::Bond.

double julian::FloatingRateBond::prize ( const SmartPointer< ir::Curve > &  discounting_curve,
const SmartPointer< ir::Curve > &  projection_curve 
) const
overridevirtual

prize bond

Parameters
discounting_curveInterest rate curve used to discount CFs
projection_curveInterest rate curve used to estimate CFs
Returns
price of bonds

Implements julian::Bond.

void julian::FloatingRateBond::valuation ( const SmartPointer< ir::Curve > &  curve) const
overridevirtual

bond valuation

Parameters
curveInterest rate curve used to discount CFs

Implements julian::Bond.

Examples:
bondsExample.cpp.
void julian::FloatingRateBond::valuation ( const SmartPointer< ir::Curve > &  discounting_curve,
const SmartPointer< ir::Curve > &  projection_curve 
) const
overridevirtual

bond valuation

Parameters
discounting_curveInterest rate curve used to discount CFs
projection_curveInterest rate curve used to project future CFs

Implements julian::Bond.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
FloatingRateBond &  b 
)
friend

Overloads stream operator.

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

Member Data Documentation

CashFlowVector julian::FloatingRateBond::cash_flows_
private

Cash Flow Vector containing julian::FloatingCashFlow.

Date julian::FloatingRateBond::issue_date_
private

Bond's issue date.

double julian::FloatingRateBond::margin_
private

Margin added to cash flows.

Date julian::FloatingRateBond::maturity_date_
private

Date of repaying original sum loaned.

Frequency julian::FloatingRateBond::payment_frequency_
private

Frequency of coupon payment.

double julian::FloatingRateBond::principal_
private

Principal of bond.

InterestRate julian::FloatingRateBond::rate_
private

Interest rate convention.


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