Logo
Reference manual - version qle_version
Public Member Functions | Protected Member Functions | List of all members
DynamicBlackVolTermStructure< mode > Class Template Reference

Takes a BlackVolTermStructure with fixed reference date and turns it into a floating reference date term structure. More...

#include <qle/termstructures/dynamicblackvoltermstructure.hpp>

+ Inheritance diagram for DynamicBlackVolTermStructure< mode >:

Public Member Functions

 DynamicBlackVolTermStructure (const Handle< BlackVolTermStructure > &source, Natural settlementDays, const Calendar &calendar, ReactionToTimeDecay decayMode=ConstantVariance, Stickyness stickyness=StickyLogMoneyness, const Handle< YieldTermStructure > &riskfree=Handle< YieldTermStructure >(), const Handle< YieldTermStructure > &dividend=Handle< YieldTermStructure >(), const Handle< Quote > &spot=Handle< Quote >(), const std::vector< Real > initialForwardGrid=std::vector< Real >())
 
Real atm () const
 
Real minStrike () const override
 
Real maxStrike () const override
 
Date maxDate () const override
 
void update () override
 

Protected Member Functions

Real blackVarianceImpl (Time t, Real strike) const override
 
Volatility blackVolImpl (Time t, Real strike) const override
 
Real blackVarianceImplTag (Time t, Real strike, tag::curve) const
 
Real blackVarianceImplTag (Time t, Real strike, tag::surface) const
 

Detailed Description

template<typename mode = tag::surface>
class QuantExt::DynamicBlackVolTermStructure< mode >

Takes a BlackVolTermStructure with fixed reference date and turns it into a floating reference date term structure.

This class takes a BlackVolTermStructure with fixed reference date and turns it into a floating reference date term structure. There are different ways of reacting to time decay that can be specified. As an additional feature, the class will return the ATM volatility if a null strike is given (currently, for this extrapolation must be allowed, since there is a check in VolatilityTermStructure we can no extend or bypass). ATM is defined as the forward level here (which is of particular interest for FX term structures).

if curve is specified, a more efficient implementation for variance and volatility is used just passing through the given strike to the source term structure; note that in this case a null strike will not be converted to atm though.

\ingroup termstructures