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

Public Member Functions | Protected Member Functions
CallableBondVolatilityStructure Class Reference

Callable-bond volatility structure. More...

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

Inheritance diagram for CallableBondVolatilityStructure:
[legend]

List of all members.

## Public Member Functions

virtual std::pair< Time, Time > | convertDates (const Date &optionDate, const Period &bondTenor) const
| implements the conversion between dates and times
virtual BusinessDayConvention | businessDayConvention () const
| the business day convention used for option date calculation
Date | optionDateFromTenor (const Period &optionTenor) const
| implements the conversion between optionTenors and optionDates
Constructors
See the TermStructure documentation for issues regarding constructors.
| CallableBondVolatilityStructure (const DayCounter &dc=DayCounter(), BusinessDayConvention bdc=Following)
| default constructor
| CallableBondVolatilityStructure (const Date &referenceDate, const Calendar &calendar=Calendar(), const DayCounter &dc=DayCounter(), BusinessDayConvention bdc=Following)
| initialize with a fixed reference date
| CallableBondVolatilityStructure (Natural settlementDays, const Calendar &, const DayCounter &dc=DayCounter(), BusinessDayConvention bdc=Following)
| calculate the reference date based on the global evaluation date
Volatility, variance and smile
Volatility | volatility (Time optionTime, Time bondLength, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option time and bondLength
Real | blackVariance (Time optionTime, Time bondLength, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option time and bondLength
Volatility | volatility (const Date &optionDate, const Period &bondTenor, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option date and bond tenor
Real | blackVariance (const Date &optionDate, const Period &bondTenor, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option date and bond tenor
virtual boost::shared_ptr < SmileSection > | smileSection (const Date &optionDate, const Period &bondTenor) const
Volatility | volatility (const Period &optionTenor, const Period &bondTenor, Rate strike, bool extrapolate=false) const
| returns the volatility for a given option tenor and bond tenor
Real | blackVariance (const Period &optionTenor, const Period &bondTenor, Rate strike, bool extrapolate=false) const
| returns the Black variance for a given option tenor and bond tenor
boost::shared_ptr< SmileSection > | smileSection (const Period &optionTenor, const Period &bondTenor) const
Limits
virtual const Period & | maxBondTenor () const =0
| the largest length for which the term structure can return vols
virtual Time | maxBondLength () const
| the largest bondLength for which the term structure can return vols
virtual Rate | minStrike () const =0
| the minimum strike for which the term structure can return vols
virtual Rate | maxStrike () const =0
| the maximum strike for which the term structure can return vols

## Protected Member Functions

virtual boost::shared_ptr < SmileSection > | smileSectionImpl (Time optionTime, Time bondLength) const =0
| return smile section
virtual Volatility | volatilityImpl (Time optionTime, Time bondLength, Rate strike) const =0
| implements the actual volatility calculation in derived classes
virtual Volatility | volatilityImpl (const Date &optionDate, const Period &bondTenor, Rate strike) const
void | checkRange (Time, Time, Rate strike, bool extrapolate) const
void | checkRange (const Date &optionDate, const Period &bondTenor, Rate strike, bool extrapolate) const

## Detailed Description

Callable-bond volatility structure.

This class is purely abstract and defines the interface of concrete callable-bond volatility structures which will be derived from this one.

## Constructor & Destructor Documentation

CallableBondVolatilityStructure | ( | const DayCounter & | dc = `DayCounter()`,
|  | BusinessDayConvention | bdc = `Following`
| ) |  |

default constructor

Warning:
  term structures initialized by means of this constructor must manage their own reference date by overriding the referenceDate() method.