Logo
Reference manual - version qle_version
Public Types | Public Member Functions | List of all members
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 boost::shared_ptr< CapFloorTermVolCurve > &cftvc, const boost::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 boost::optional< QuantLib::VolatilityType > optionletVolType=boost::none, const boost::optional< QuantLib::Real > optionletVolDisplacement=boost::none, bool interpOnOptionlets=true, const Interpolator &i=Interpolator(), const Bootstrap< optionlet_curve > &bootstrap=Bootstrap< optionlet_curve >())
 
 PiecewiseAtmOptionletCurve (const QuantLib::Date &referenceDate, const boost::shared_ptr< CapFloorTermVolCurve > &cftvc, const boost::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 boost::optional< QuantLib::VolatilityType > optionletVolType=boost::none, const boost::optional< QuantLib::Real > optionletVolDisplacement=boost::none, bool interpOnOptionlets=true, const Interpolator &i=Interpolator(), const Bootstrap< optionlet_curve > &bootstrap=Bootstrap< optionlet_curve >())
 
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
 
boost::shared_ptr< optionlet_curvecurve () const
 The underlying optionlet curve.
 
boost::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.