julian::Bond Class Referenceabstract

Class is an abstract class expressing the concept of bonds. More...

#include <bond.hpp>

Inheritance diagram for julian::Bond:
julian::FixedIncomeBond julian::FloatingRateBond julian::ZeroCouponBond

Public Member Functions

 Bond ()
 constructor More...
 
virtual double prize (const SmartPointer< ir::Curve > &curve) const =0
 prize bonds More...
 
virtual double prize (const SmartPointer< ir::Curve > &discounting_curve, const SmartPointer< ir::Curve > &projection_curve) const =0
 prize bonds More...
 
virtual void valuation (const SmartPointer< ir::Curve > &curve) const =0
 bond valuation More...
 
virtual void valuation (const SmartPointer< ir::Curve > &discounting_curve, const SmartPointer< ir::Curve > &projection_curve) const =0
 bond valuation More...
 
virtual double getPrincipal () const =0
 returns the bond's principal More...
 
virtual Date getDate () const =0
 returns the bond's maturity More...
 
virtual ~Bond ()
 destructor More...
 
virtual Bondclone () const =0
 virtual copy constructor More...
 

Detailed Description

Class is an abstract class expressing the concept of bonds.

Class implements the interface for bonds.

Constructor & Destructor Documentation

julian::Bond::Bond ( )
inline

constructor

virtual julian::Bond::~Bond ( )
inlinevirtual

destructor

Member Function Documentation

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

virtual copy constructor

Implemented in julian::FloatingRateBond, julian::FixedIncomeBond, and julian::ZeroCouponBond.

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

returns the bond's maturity

Implemented in julian::FloatingRateBond, julian::FixedIncomeBond, and julian::ZeroCouponBond.

virtual double julian::Bond::getPrincipal ( ) const
pure virtual

returns the bond's principal

Implemented in julian::FloatingRateBond, julian::FixedIncomeBond, and julian::ZeroCouponBond.

virtual double julian::Bond::prize ( const SmartPointer< ir::Curve > &  curve) const
pure virtual

prize bonds

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

Implemented in julian::FloatingRateBond, julian::FixedIncomeBond, and julian::ZeroCouponBond.

virtual double julian::Bond::prize ( const SmartPointer< ir::Curve > &  discounting_curve,
const SmartPointer< ir::Curve > &  projection_curve 
) const
pure virtual

prize bonds

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

Implemented in julian::FloatingRateBond, julian::FixedIncomeBond, and julian::ZeroCouponBond.

virtual void julian::Bond::valuation ( const SmartPointer< ir::Curve > &  curve) const
pure virtual

bond valuation

Parameters
curveInterest rate curve used to discount CFs

Implemented in julian::FloatingRateBond, julian::FixedIncomeBond, and julian::ZeroCouponBond.

virtual void julian::Bond::valuation ( const SmartPointer< ir::Curve > &  discounting_curve,
const SmartPointer< ir::Curve > &  projection_curve 
) const
pure virtual

bond valuation

Parameters
discounting_curveInterest rate curve used to discount CFs
projection_curveInterest rate curve used to estimate floating CFs

Implemented in julian::FloatingRateBond, julian::FixedIncomeBond, and julian::ZeroCouponBond.


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