Logo
Reference manual - version qle_version
InterpolatedCapFloorTermVolCurve< Interpolator > Class Template Reference

Interpolated cap floor term volatility curve. More...

#include <qle/termstructures/capfloortermvolcurve.hpp>

Inheritance diagram for InterpolatedCapFloorTermVolCurve< Interpolator >:

Public Member Functions

 InterpolatedCapFloorTermVolCurve (QuantLib::Natural settlementDays, const QuantLib::Calendar &calendar, QuantLib::BusinessDayConvention bdc, const std::vector< QuantLib::Period > &optionTenors, const std::vector< QuantLib::Handle< QuantLib::Quote > > &volatilities, const QuantLib::DayCounter &dayCounter=QuantLib::Actual365Fixed(), bool flatFirstPeriod=true, const Interpolator &interpolator=Interpolator())
 InterpolatedCapFloorTermVolCurve (const QuantLib::Date &settlementDate, const QuantLib::Calendar &calendar, QuantLib::BusinessDayConvention bdc, const std::vector< QuantLib::Period > &optionTenors, const std::vector< QuantLib::Handle< QuantLib::Quote > > &volatilities, const QuantLib::DayCounter &dayCounter=QuantLib::Actual365Fixed(), bool flatFirstPeriod=true, const Interpolator &interpolator=Interpolator())
TermStructure interface
QuantLib::Date maxDate () const override
VolatilityTermStructure interface
QuantLib::Rate minStrike () const override
QuantLib::Rate maxStrike () const override
LazyObject interface
void update () override
void performCalculations () const override
CapFloorTermVolCurve interface
std::vector< QuantLib::Period > optionTenors () const override
 Return the tenors used in the CapFloorTermVolCurve.
Inspectors
const std::vector< QuantLib::Date > & optionDates () const
const std::vector< QuantLib::Time > & optionTimes () const
Public Member Functions inherited from CapFloorTermVolCurve
 CapFloorTermVolCurve (QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc=QuantLib::DayCounter())
 CapFloorTermVolCurve (const QuantLib::Date &referenceDate, const QuantLib::Calendar &cal, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc=QuantLib::DayCounter())
 CapFloorTermVolCurve (QuantLib::Natural settlementDays, const QuantLib::Calendar &cal, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc=QuantLib::DayCounter())
 calculate the reference date based on the global evaluation date

CapFloorTermVolatilityStructure interface

QuantLib::Volatility volatilityImpl (QuantLib::Time length, QuantLib::Rate) const override

Detailed Description

template<class Interpolator>
class QuantExt::InterpolatedCapFloorTermVolCurve< Interpolator >

Interpolated cap floor term volatility curve.

Class that interpolates a vector of cap floor volatilities.

Based on the class QuantLib::CapFloorTermVolCurve with changes:

  • allows for a user provided interpolation (main reason for copy)
  • does not derive from boost::noncopyable (is this needed?)

Constructor & Destructor Documentation

◆ InterpolatedCapFloorTermVolCurve() [1/2]

template<class Interpolator>
InterpolatedCapFloorTermVolCurve ( QuantLib::Natural settlementDays,
const QuantLib::Calendar & calendar,
QuantLib::BusinessDayConvention bdc,
const std::vector< QuantLib::Period > & optionTenors,
const std::vector< QuantLib::Handle< QuantLib::Quote > > & volatilities,
const QuantLib::DayCounter & dayCounter = QuantLib::Actual365Fixed(),
bool flatFirstPeriod = true,
const Interpolator & interpolator = Interpolator() )

Constructor with floating reference date

Parameters
settlementDaysNumber of days from evaluation date to curve reference date.
calendarThe calendar used to derive cap floor maturity dates from optionTenors. Also used to advance from today to reference date if necessary.
bdcThe business day convention used to derive cap floor maturity dates from optionTenors.
optionTenorsThe cap floor tenors. The first tenor must be positive.
volatilitiesThe cap floor volatility quotes.
dayCounterThe day counter used to convert from dates to times.
flatFirstPeriodSet to true to use the first element of volatilities between time zero and the first element of optionTenors. If this is false, the volatility at time zero is set to zero and interpolation between time and the first element of optionTenors is used.
interpolatorAn instance of the interpolator to use. Allows for specification of Interpolator instances that use a constructor that takes arguments.

◆ InterpolatedCapFloorTermVolCurve() [2/2]

template<class Interpolator>
InterpolatedCapFloorTermVolCurve ( const QuantLib::Date & settlementDate,
const QuantLib::Calendar & calendar,
QuantLib::BusinessDayConvention bdc,
const std::vector< QuantLib::Period > & optionTenors,
const std::vector< QuantLib::Handle< QuantLib::Quote > > & volatilities,
const QuantLib::DayCounter & dayCounter = QuantLib::Actual365Fixed(),
bool flatFirstPeriod = true,
const Interpolator & interpolator = Interpolator() )

Constructor with fixed reference date

Parameters
settlementDateThe curve reference date.
calendarThe calendar used to derive cap floor maturity dates from optionTenors. Also used to advance from today to reference date if necessary.
bdcThe business day convention used to derive cap floor maturity dates from optionTenors.
optionTenorsThe cap floor tenors. The first tenor must be positive.
volatilitiesThe cap floor volatility quotes.
dayCounterThe day counter used to convert from dates to times.
flatFirstPeriodSet to true to use the first element of volatilities between time zero and the first element of optionTenors. If this is false, the volatility at time zero is set to zero and interpolation between time and the first element of optionTenors is used.
interpolatorAn instance of the interpolator to use. Allows for specification of Interpolator instances that use a constructor that takes arguments.

Member Function Documentation

◆ optionTenors()

template<class Interpolator>
std::vector< QuantLib::Period > optionTenors ( ) const
overridevirtual

Return the tenors used in the CapFloorTermVolCurve.

Implements CapFloorTermVolCurve.