Logo
Reference manual - version qle_version
Public Member Functions | List of all members
StrippedOptionletAdapter< TimeInterpolator, SmileInterpolator > Class Template Reference

#include <qle/termstructures/strippedoptionletadapter.hpp>

+ Inheritance diagram for StrippedOptionletAdapter< TimeInterpolator, SmileInterpolator >:

Public Member Functions

 StrippedOptionletAdapter (const boost::shared_ptr< QuantLib::StrippedOptionletBase > &sob, const TimeInterpolator &ti=TimeInterpolator(), const SmileInterpolator &si=SmileInterpolator())
 
 StrippedOptionletAdapter (const QuantLib::Date &referenceDate, const boost::shared_ptr< QuantLib::StrippedOptionletBase > &sob, const TimeInterpolator &ti=TimeInterpolator(), const SmileInterpolator &si=SmileInterpolator())
 
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
 
Observer interface
void deepUpdate () override
 
Inspectors
boost::shared_ptr< QuantLib::StrippedOptionletBase > optionletBase () const
 

OptionletVolatilityStructure interface

QuantLib::VolatilityType volatilityType () const override
 
QuantLib::Real displacement () const override
 
boost::shared_ptr< QuantLib::SmileSection > smileSectionImpl (QuantLib::Time optionTime) const override
 
QuantLib::Volatility volatilityImpl (QuantLib::Time length, QuantLib::Rate strike) const override
 

Detailed Description

template<class TimeInterpolator, class SmileInterpolator>
class QuantExt::StrippedOptionletAdapter< TimeInterpolator, SmileInterpolator >

Adapter class for turning a StrippedOptionletBase into an OptionletVolatilityStructure.

The class takes two template parameters indicating the interpolation in the time and strike direction respectively.

The class can take a QuantLib::StrippedOptionletBase that has only one strike column. In this case, the strike interpolation is ignored and the volatility at one of the pillar tenors, and any strike, is merely the passed in volatility. In this case, the smile sections are flat. All of this enables the StrippedOptionletAdapter to represent a stripped ATM optionlet curve. The single strike in the QuantLib::StrippedOptionletBase is ignored.

Constructor & Destructor Documentation

◆ StrippedOptionletAdapter() [1/2]

StrippedOptionletAdapter ( const boost::shared_ptr< QuantLib::StrippedOptionletBase > &  sob,
const TimeInterpolator &  ti = TimeInterpolator(),
const SmileInterpolator &  si = SmileInterpolator() 
)

Constructor that does not take a reference date. The settlement days is derived from sob and the term structure will be a moving term structure.

◆ StrippedOptionletAdapter() [2/2]

StrippedOptionletAdapter ( const QuantLib::Date &  referenceDate,
const boost::shared_ptr< QuantLib::StrippedOptionletBase > &  sob,
const TimeInterpolator &  ti = TimeInterpolator(),
const SmileInterpolator &  si = SmileInterpolator() 
)

Constructor taking an explicit referenceDate and the term structure will therefore be not moving.