Logo
Reference manual - version qle_version
StrippedOptionletAdapter< TimeInterpolator, SmileInterpolator > Class Template Reference

#include <qle/termstructures/strippedoptionletadapter.hpp>

Inheritance diagram for StrippedOptionletAdapter< TimeInterpolator, SmileInterpolator >:

Public Member Functions

 StrippedOptionletAdapter (const QuantLib::ext::shared_ptr< QuantLib::StrippedOptionletBase > &sob, const TimeInterpolator &ti=TimeInterpolator(), const SmileInterpolator &si=SmileInterpolator())
 StrippedOptionletAdapter (const QuantLib::Date &referenceDate, const QuantLib::ext::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
QuantLib::ext::shared_ptr< QuantLib::StrippedOptionletBase > optionletBase () const

OptionletVolatilityStructure interface

QuantLib::VolatilityType volatilityType () const override
QuantLib::Real displacement () const override
QuantLib::ext::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]

template<class TimeInterpolator, class SmileInterpolator>
StrippedOptionletAdapter ( const QuantLib::ext::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]

template<class TimeInterpolator, class SmileInterpolator>
StrippedOptionletAdapter ( const QuantLib::Date & referenceDate,
const QuantLib::ext::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.