25#ifndef quantlib_callable_bond_hpp
26#define quantlib_callable_bond_hpp
94 Real accuracy = 1.0e-10,
95 Size maxIterations = 100,
145 class ImpliedVolHelper;
147 class NPVSpreadHelper;
191 CallableBond::results> {};
204 const std::vector<Rate>& coupons,
213 bool exCouponEndOfMonth =
false);
Schedule of put/call dates.
Real cleanPrice() const
theoretical clean price
Natural settlementDays() const
const Calendar & calendar() const
const ext::shared_ptr< CashFlow > & redemption() const
Date maturityDate() const
Date settlementDate(Date d=Date()) const
std::vector< Date > callabilityDates
Real redemption
redemption = face amount * redemption / 100.
std::vector< Real > couponAmounts
DayCounter paymentDayCounter
std::vector< Date > couponDates
std::vector< Real > callabilityPrices
bond full/dirty/cash prices
void validate() const override
CallabilitySchedule putCallSchedule
base class for callable fixed rate bond engine
results for a callable bond calculation
Callable bond base class.
CallabilitySchedule putCallSchedule_
Real accrued(Date settlement) const
Real effectiveDuration(Real oas, const Handle< YieldTermStructure > &engineTS, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Real bump=2e-4)
Spread OAS(Real cleanPrice, const Handle< YieldTermStructure > &engineTS, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date(), Real accuracy=1.0e-10, Size maxIterations=100, Rate guess=0.0)
Calculate the Option Adjusted Spread (OAS)
const CallabilitySchedule & callability() const
return the bond's put/call schedule
Real effectiveConvexity(Real oas, const Handle< YieldTermStructure > &engineTS, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Real bump=2e-4)
void setupArguments(PricingEngine::arguments *args) const override
Real cleanPriceOAS(Real oas, const Handle< YieldTermStructure > &engineTS, const DayCounter &dayCounter, Compounding compounding, Frequency frequency, Date settlementDate=Date())
Volatility impliedVolatility(const Bond::Price &targetPrice, const Handle< YieldTermStructure > &discountCurve, Real accuracy, Size maxEvaluations, Volatility minVol, Volatility maxVol) const
returns the Black implied forward yield volatility
DayCounter paymentDayCounter_
callable/puttable fixed rate bond
callable/puttable zero coupon bond
template base class for option pricing engines
Shared handle to an observable.
Frequency
Frequency of events.
BusinessDayConvention
Business Day conventions.
unsigned QL_INTEGER Natural
positive integer
Real Volatility
volatility
Real Spread
spreads on interest rates
std::size_t Size
size of a container
Globally accessible relinkable pointer.
Compounding
Interest rate coumpounding rule.
std::vector< ext::shared_ptr< Callability > > CallabilitySchedule
Base class for pricing engines.
Interest-rate term structure.