QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
List of all members
BondFunctions Struct Reference

Bond adapters of CashFlows functions. More...

#include <ql/pricingengines/bond/bondfunctions.hpp>

Static Public Member Functions

Date inspectors
static Date startDate (const Bond &bond)
 
static Date maturityDate (const Bond &bond)
 
static bool isTradable (const Bond &bond, Date settlementDate=Date())
 
CashFlow inspectors
static Leg::const_reverse_iterator previousCashFlow (const Bond &bond, Date refDate=Date())
 
static Leg::const_iterator nextCashFlow (const Bond &bond, Date refDate=Date())
 
static Date previousCashFlowDate (const Bond &bond, Date refDate=Date())
 
static Date nextCashFlowDate (const Bond &bond, Date refDate=Date())
 
static Real previousCashFlowAmount (const Bond &bond, Date refDate=Date())
 
static Real nextCashFlowAmount (const Bond &bond, Date refDate=Date())
 
Coupon inspectors
static Rate previousCouponRate (const Bond &bond, Date settlementDate=Date())
 
static Rate nextCouponRate (const Bond &bond, Date settlementDate=Date())
 
static Date accrualStartDate (const Bond &bond, Date settlementDate=Date())
 
static Date accrualEndDate (const Bond &bond, Date settlementDate=Date())
 
static Date referencePeriodStart (const Bond &bond, Date settlementDate=Date())
 
static Date referencePeriodEnd (const Bond &bond, Date settlementDate=Date())
 
static Time accrualPeriod (const Bond &bond, Date settlementDate=Date())
 
static Date::serial_type accrualDays (const Bond &bond, Date settlementDate=Date())
 
static Time accruedPeriod (const Bond &bond, Date settlementDate=Date())
 
static Date::serial_type accruedDays (const Bond &bond, Date settlementDate=Date())
 
static Real accruedAmount (const Bond &bond, Date settlementDate=Date())
 
YieldTermStructure functions
static Real cleanPrice (const Bond &bond, const YieldTermStructure &discountCurve, Date settlementDate=Date())
 
static Real bps (const Bond &bond, const YieldTermStructure &discountCurve, Date settlementDate=Date())
 
static Rate atmRate (const Bond &bond, const YieldTermStructure &discountCurve, Date settlementDate=Date(), Real cleanPrice=Null< Real >())
 
Yield (a.k.a. Internal Rate of Return, i.e. IRR) functions
static Real cleanPrice (const Bond &bond, const InterestRate &yield, Date settlementDate=Date())
 
static Real cleanPrice (const Bond &bond, Rate yield, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date())
 
static Real dirtyPrice (const Bond &bond, const InterestRate &yield, Date settlementDate=Date())
 
static Real dirtyPrice (const Bond &bond, Rate yield, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date())
 
static Real bps (const Bond &bond, const InterestRate &yield, Date settlementDate=Date())
 
static Real bps (const Bond &bond, Rate yield, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date())
 
static Rate yield (const Bond &bond, Real price, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date(), Real accuracy=1.0e-10, Size maxIterations=100, Rate guess=0.05, Bond::Price::Type priceType=Bond::Price::Clean)
 
template<typename Solver >
static Rate yield (const Solver &solver, const Bond &bond, Real price, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date(), Real accuracy=1.0e-10, Rate guess=0.05, Bond::Price::Type priceType=Bond::Price::Clean)
 
static Time duration (const Bond &bond, const InterestRate &yield, Duration::Type type=Duration::Modified, Date settlementDate=Date())
 
static Time duration (const Bond &bond, Rate yield, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Duration::Type type=Duration::Modified, Date settlementDate=Date())
 
static Real convexity (const Bond &bond, const InterestRate &yield, Date settlementDate=Date())
 
static Real convexity (const Bond &bond, Rate yield, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date())
 
static Real basisPointValue (const Bond &bond, const InterestRate &yield, Date settlementDate=Date())
 
static Real basisPointValue (const Bond &bond, Rate yield, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date())
 
static Real yieldValueBasisPoint (const Bond &bond, const InterestRate &yield, Date settlementDate=Date())
 
static Real yieldValueBasisPoint (const Bond &bond, Rate yield, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date())
 
Z-spread functions
static Real cleanPrice (const Bond &bond, const ext::shared_ptr< YieldTermStructure > &discount, Spread zSpread, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date())
 
static Spread zSpread (const Bond &bond, Real cleanPrice, const ext::shared_ptr< YieldTermStructure > &, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date(), Real accuracy=1.0e-10, Size maxIterations=100, Rate guess=0.0)
 

Detailed Description

Bond adapters of CashFlows functions.

See CashFlows for functions' documentation.

These adapters calls into CashFlows functions passing as input the Bond cashflows, the dirty price (i.e. npv) calculated from clean price, the bond settlement date (unless another date is given), zero ex-dividend days, and excluding any cashflow on the settlement date.

Prices are always clean, as per market convention.