Logo
Reference manual - version qle_version
Classes | Public Member Functions | List of all members
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. More...
 
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