Callable bond base class. More...

#include <ql/experimental/callablebonds/callablebond.hpp>

Inheritance diagram for CallableBond:

List of all members.

Classes

class  engine
 base class for callable fixed rate bond engine More...
class  results
 results for a callable bond calculation More...

Public Member Functions

virtual void setupArguments (PricingEngine::arguments *) const
Inspectors
const CallabilitySchedule & callability () const
 return the bond's put/call schedule
Calculations
Volatility impliedVolatility (Real targetValue, const Handle< YieldTermStructure > &discountCurve, Real accuracy, Size maxEvaluations, Volatility minVol, Volatility maxVol) const
 returns the Black implied forward yield volatility

Protected Member Functions

 CallableBond (Natural settlementDays, const Schedule &schedule, const DayCounter &paymentDayCounter, const Date &issueDate=Date(), const CallabilitySchedule &putCallSchedule=CallabilitySchedule())

Protected Attributes

DayCounter paymentDayCounter_
Frequency frequency_
CallabilitySchedule putCallSchedule_
boost::shared_ptr< PricingEngineblackEngine_
 must be set by derived classes for impliedVolatility() to work
RelinkableHandle< QuoteblackVolQuote_
 Black fwd yield volatility quote handle to internal blackEngine_.
RelinkableHandle
< YieldTermStructure
blackDiscountCurve_
 Black fwd yield volatility quote handle to internal blackEngine_.

Friends

class ImpliedVolHelper

Detailed Description

Callable bond base class.

Base callable bond class for fixed and zero coupon bonds. Defines commonalities between fixed and zero coupon callable bonds. At present, only European and Bermudan put/call schedules supported (no American optionality), as defined by the Callability class.

Possible enhancements:

models/shortrate/calibrationHelpers

OAS/OAD

floating rate callable bonds ?


Member Function Documentation

Volatility impliedVolatility ( Real  targetValue,
const Handle< YieldTermStructure > &  discountCurve,
Real  accuracy,
Size  maxEvaluations,
Volatility  minVol,
Volatility  maxVol 
) const

returns the Black implied forward yield volatility

the forward yield volatility, see Hull, Fourth Edition, Chapter 20, pg 536). Relevant only to European put/call schedules

virtual void setupArguments ( PricingEngine::arguments *  ) const [virtual]

When a derived argument structure is defined for an instrument, this method should be overridden to fill it. This is mandatory in case a pricing engine is used.

Reimplemented from Bond.

Reimplemented in CallableFixedRateBond.