Logo
Reference manual - version qle_version
BlackMonotoneVarVolTermStructure Class Reference

Black volatility surface that monotonises the variance in an existing surface. More...

#include <qle/termstructures/blackmonotonevarvoltermstructure.hpp>

Inheritance diagram for BlackMonotoneVarVolTermStructure:

Public Member Functions

 BlackMonotoneVarVolTermStructure (const Handle< BlackVolTermStructure > &vol, const std::vector< Time > &timePoints)
 Constructor takes a BlackVolTermStructure and an array of time points which required monotonic variance.
const Handle< BlackVolTermStructure > & underlyingVol () const
 return the underlying vol surface
TermStructure interface
const Date & referenceDate () const override
Date maxDate () const override
Natural settlementDays () const override
Calendar calendar () const override
Observer interface
void update () override
VolatilityTermStructure interface
Real minStrike () const override
Real maxStrike () const override

Visitability

virtual void accept (AcyclicVisitor &) override
virtual Real blackVarianceImpl (Time t, Real strike) const override
virtual Volatility blackVolImpl (Time t, Real strike) const override
void setMonotoneVar (const Real &strike) const
Real getMonotoneVar (const Time &t, const Real &strike) const

Detailed Description

Black volatility surface that monotonises the variance in an existing surface.

This class is used when monotonic variance is required

    \ingroup termstructures

Constructor & Destructor Documentation

◆ BlackMonotoneVarVolTermStructure()

BlackMonotoneVarVolTermStructure ( const Handle< BlackVolTermStructure > & vol,
const std::vector< Time > & timePoints )

Constructor takes a BlackVolTermStructure and an array of time points which required monotonic variance.

This will work with both a floating and fixed reference date underlying surface, since we are reimplementing the reference date and update methods