Logo
Reference manual - version qle_version
PiecewiseAtmOptionletCurve< Interpolator, Bootstrap > Class Template Reference

#include <qle/termstructures/piecewiseatmoptionletcurve.hpp>

Inheritance diagram for PiecewiseAtmOptionletCurve< Interpolator, Bootstrap >:

Public Types

typedef PiecewiseOptionletCurve< Interpolator, Bootstrap >::this_curve optionlet_curve

Public Member Functions

 PiecewiseAtmOptionletCurve (QuantLib::Natural settlementDays, const QuantLib::ext::shared_ptr< CapFloorTermVolCurve > &cftvc, const QuantLib::ext::shared_ptr< QuantLib::IborIndex > &index, const QuantLib::Handle< QuantLib::YieldTermStructure > &discount, bool flatFirstPeriod=true, const QuantLib::VolatilityType capFloorVolType=QuantLib::ShiftedLognormal, const QuantLib::Real capFloorVolDisplacement=0.0, const QuantLib::ext::optional< QuantLib::VolatilityType > optionletVolType=QuantLib::ext::nullopt, const QuantLib::ext::optional< QuantLib::Real > optionletVolDisplacement=QuantLib::ext::nullopt, bool interpOnOptionlets=true, const Interpolator &i=Interpolator(), const Bootstrap< optionlet_curve > &bootstrap=Bootstrap< optionlet_curve >(), const Period &rateComputationPeriod=0 *Days, const Size onCapSettlementDays=0)
 PiecewiseAtmOptionletCurve (const QuantLib::Date &referenceDate, const QuantLib::ext::shared_ptr< CapFloorTermVolCurve > &cftvc, const QuantLib::ext::shared_ptr< QuantLib::IborIndex > &index, const QuantLib::Handle< QuantLib::YieldTermStructure > &discount, bool flatFirstPeriod=true, const QuantLib::VolatilityType capFloorVolType=QuantLib::ShiftedLognormal, const QuantLib::Real capFloorVolDisplacement=0.0, const QuantLib::ext::optional< QuantLib::VolatilityType > optionletVolType=QuantLib::ext::nullopt, const QuantLib::ext::optional< QuantLib::Real > optionletVolDisplacement=QuantLib::ext::nullopt, bool interpOnOptionlets=true, const Interpolator &i=Interpolator(), const Bootstrap< optionlet_curve > &bootstrap=Bootstrap< optionlet_curve >(), const Period &rateComputationPeriod=0 *Days, const Size onCapSettlementDays=0)
Inspectors
QuantLib::VolatilityType capFloorVolType () const
 Volatility type for the underlying ATM cap floor curve.
QuantLib::Real capFloorVolDisplacement () const
 The applicable shift if the underlying ATM cap floor curve has shifted lognormal volatility.
Observer interface
void update () override
LazyObject interface
void performCalculations () const override
TermStructure interface
QuantLib::Date maxDate () const override
VolatilityTermStructure interface
QuantLib::Rate minStrike () const override
QuantLib::Rate maxStrike () const override

OptionletVolatilityStructure interface

QuantLib::VolatilityType volatilityType () const override
QuantLib::Real displacement () const override
QuantLib::ext::shared_ptr< optionlet_curve > curve () const
 The underlying optionlet curve.
QuantLib::ext::shared_ptr< QuantLib::SmileSection > smileSectionImpl (QuantLib::Time optionTime) const override
QuantLib::Volatility volatilityImpl (QuantLib::Time optionTime, QuantLib::Rate strike) const override

Detailed Description

template<class Interpolator, template< class > class Bootstrap = QuantExt::IterativeBootstrap>
class QuantExt::PiecewiseAtmOptionletCurve< Interpolator, Bootstrap >

Helper class to strip caplet/floorlet volatilities from the cap floor term volatilities of a CapFloorTermVolCurve.