### A free/open-source library for quantitative finance

Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
CallableBond Class Reference
Financial instruments

Callable bond base class. More...

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

Inheritance diagram for CallableBond:
[legend]

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< PricingEngine > | blackEngine_
| must be set by derived classes for impliedVolatility() to work
RelinkableHandle< Quote > | blackVolQuote_
| 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.