Logo
Reference manual - version qle_version
BlackVarianceSurfaceMoneyness Class Referenceabstract

Abstract Black volatility surface based on moneyness (moneyness defined in subclasses). More...

#include <qle/termstructures/blackvariancesurfacemoneyness.hpp>

Inheritance diagram for BlackVarianceSurfaceMoneyness:

Public Member Functions

 BlackVarianceSurfaceMoneyness (const Calendar &cal, const Handle< Quote > &spot, const std::vector< Time > &times, const std::vector< Real > &moneyness, const std::vector< std::vector< Handle< Quote > > > &blackVolMatrix, const DayCounter &dayCounter, bool stickyStrike, bool flatExtrapMoneyness=false, BlackVolTimeExtrapolation timeExtrapolation=BlackVolTimeExtrapolation::FlatVolatility)
 BlackVarianceSurfaceMoneyness (const Date &referenceDate, const Calendar &cal, const Handle< Quote > &spot, const std::vector< Time > &times, const std::vector< Real > &moneyness, const std::vector< std::vector< Handle< Quote > > > &blackVolMatrix, const DayCounter &dayCounter, bool stickyStrike, bool flatExtrapMoneyness=false, BlackVolTimeExtrapolation timeExtrapolation=BlackVolTimeExtrapolation::FlatVolatility)
 Moneyness variance surface with a fixed reference date.
TermStructure interface
Date maxDate () const override
VolatilityTermStructure interface
Real minStrike () const override
Real maxStrike () const override
Observer interface
void update () override
LazyObject interface
void performCalculations () const override
Visitability
virtual void accept (AcyclicVisitor &) override

Inspectors

bool stickyStrike_
Handle< Quotespot_
std::vector< Time > times_
std::vector< Real > moneyness_
bool flatExtrapMoneyness_
BlackVolTimeExtrapolation timeExtrapolation_
std::vector< Real > moneyness () const
virtual Real moneyness (Time t, Real strike) const =0

Detailed Description

Abstract Black volatility surface based on moneyness (moneyness defined in subclasses).

Constructor & Destructor Documentation

◆ BlackVarianceSurfaceMoneyness()

BlackVarianceSurfaceMoneyness ( const Calendar & cal,
const Handle< Quote > & spot,
const std::vector< Time > & times,
const std::vector< Real > & moneyness,
const std::vector< std::vector< Handle< Quote > > > & blackVolMatrix,
const DayCounter & dayCounter,
bool stickyStrike,
bool flatExtrapMoneyness = false,
BlackVolTimeExtrapolation timeExtrapolation = BlackVolTimeExtrapolation::FlatVolatility )

Moneyness can be defined here as spot moneyness, i.e. K/S or forward moneyness, ie K/F