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 FloatingRateBondclone () 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