QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
OptionletStripper2 Class Reference

#include <ql/termstructures/volatility/optionlet/optionletstripper2.hpp>

Inheritance diagram for OptionletStripper2:

Public Member Functions

 OptionletStripper2 (const ext::shared_ptr< OptionletStripper1 > &optionletStripper1, const Handle< CapFloorTermVolCurve > &atmCapFloorTermVolCurve)
std::vector< RateatmCapFloorStrikes () const
std::vector< RealatmCapFloorPrices () const
std::vector< VolatilityspreadsVol () const
const std::vector< Rate > & optionletStrikes (Size i) const override
const std::vector< Volatility > & optionletVolatilities (Size i) const override
const std::vector< Date > & optionletFixingDates () const override
const std::vector< Time > & optionletFixingTimes () const override
Size optionletMaturities () const override
const std::vector< Rate > & atmOptionletRates () const override
DayCounter dayCounter () const override
Calendar calendar () const override
Natural settlementDays () const override
BusinessDayConvention businessDayConvention () const override
const std::vector< Period > & optionletFixingTenors () const
const std::vector< Date > & optionletPaymentDates () const
const std::vector< Time > & optionletAccrualPeriods () const
ext::shared_ptr< CapFloorTermVolSurfacetermVolSurface () const
ext::shared_ptr< IborIndexiborIndex () const
Real displacement () const override
VolatilityType volatilityType () const override
ext::optional< PeriodoptionletFrequency () const
Public Member Functions inherited from LazyObject
void update () override
bool isCalculated () const
void forwardFirstNotificationOnly ()
void alwaysForwardNotifications ()
void recalculate ()
void freeze ()
void unfreeze ()
Public Member Functions inherited from Observable
 Observable (const Observable &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()
Public Member Functions inherited from Observer
 Observer (const Observer &)
Observeroperator= (const Observer &)
std::pair< iterator, bool > registerWith (const ext::shared_ptr< Observable > &)
void registerWithObservables (const ext::shared_ptr< Observer > &)
Size unregisterWith (const ext::shared_ptr< Observable > &)
void unregisterWithAll ()
virtual void deepUpdate ()

LazyObject interface

void performCalculations () const override

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator
 OptionletStripper (const ext::shared_ptr< CapFloorTermVolSurface > &, ext::shared_ptr< IborIndex > iborIndex_, Handle< YieldTermStructure > discount={}, VolatilityType type=ShiftedLognormal, Real displacement=0.0, ext::optional< Period > optionletFrequency=ext::nullopt)
virtual void calculate () const
ext::shared_ptr< CapFloorTermVolSurfacetermVolSurface_
ext::shared_ptr< IborIndexiborIndex_
Handle< YieldTermStructurediscount_
Size nStrikes_
Size nOptionletTenors_
std::vector< std::vector< Rate > > optionletStrikes_
std::vector< std::vector< Volatility > > optionletVolatilities_
std::vector< TimeoptionletTimes_
std::vector< DateoptionletDates_
std::vector< PeriodoptionletTenors_
std::vector< RateatmOptionletRate_
std::vector< DateoptionletPaymentDates_
std::vector< TimeoptionletAccrualPeriods_
std::vector< PeriodcapFloorLengths_
const VolatilityType volatilityType_
const Real displacement_
ext::optional< PeriodoptionletFrequency_
bool calculated_ = false
bool frozen_ = false
bool alwaysForward_

Detailed Description

Helper class to extend an OptionletStripper1 object stripping additional optionlet (i.e. caplet/floorlet) volatilities (a.k.a. forward-forward volatilities) from the (cap/floor) At-The-Money term volatilities of a CapFloorTermVolCurve.

Member Function Documentation

◆ performCalculations()

void performCalculations ( ) const
overridevirtual

This method must implement any calculations which must be (re)done in order to calculate the desired results.

Implements LazyObject.