Class implements the zero coupon bond. More...

#include <zeroCouponBond.hpp>

Inheritance diagram for julian::ZeroCouponBond:
julian::Bond

Public Member Functions

 ZeroCouponBond ()
 Default constructor. More...
 
 ZeroCouponBond (Date issue_date, Date maturity_date, double principal, CashFlowVector cash_flows)
 Constructor. More...
 
Bond interface
virtual void valuation (const SmartPointer< ir::Curve > &) const override
 bond valuation More...
 
virtual void valuation (const SmartPointer< ir::Curve > &, const SmartPointer< ir::Curve > &) const override
 bond valuation More...
 
virtual double prize (const SmartPointer< ir::Curve > &) const override
 prize bond More...
 
virtual double prize (const SmartPointer< ir::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 ZeroCouponBond * 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...
 
CashFlowVector cash_flows_
 Cash Flow Vector containing julian::FixedCashFlow. More...
 

Friends

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

Detailed Description

Class implements the zero coupon bond.

A zero-coupon bond is a debt security that doesn't pay interest (a coupon), but is traded at a deep discount, rendering profit at maturity when the bond is redeemed for its full face value.

More information see [6]

Examples:
bondsExample.cpp.

Constructor & Destructor Documentation

julian::ZeroCouponBond::ZeroCouponBond ( )
inline

Default constructor.

julian::ZeroCouponBond::ZeroCouponBond ( Date  issue_date,
Date  maturity_date,
double  principal,
CashFlowVector  cash_flows 
)
inline

Constructor.

Member Function Documentation

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

virtual copy constructor

Implements julian::Bond.

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

returns the bond's maturity

Implements julian::Bond.

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

returns the bond's principal

Implements julian::Bond.

double julian::ZeroCouponBond::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::ZeroCouponBond::prize ( const SmartPointer< ir::Curve > &  curve,
const SmartPointer< ir::Curve > &   
) const
overridevirtual

prize bond

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

Implements julian::Bond.

void julian::ZeroCouponBond::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::ZeroCouponBond::valuation ( const SmartPointer< ir::Curve > &  curve,
const SmartPointer< ir::Curve > &   
) const
overridevirtual

bond valuation

Parameters
curveInterest rate curve used to discount CFs

Implements julian::Bond.

Friends And Related Function Documentation

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

Overloads stream operator.

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

Member Data Documentation

CashFlowVector julian::ZeroCouponBond::cash_flows_
private

Cash Flow Vector containing julian::FixedCashFlow.

Date julian::ZeroCouponBond::issue_date_
private

Bond's issue date.

Date julian::ZeroCouponBond::maturity_date_
private

Date of repaying original sum loaned.

double julian::ZeroCouponBond::principal_
private

Principal of bond.


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