QuantLib::BlackVarianceSurface - Black volatility surface modelled as variance surface.


#include <ql/termstructures/volatility/equityfx/blackvariancesurface.hpp>

Inherits QuantLib::BlackVarianceTermStructure.

Public Types

enum Extrapolation { ConstantExtrapolation, InterpolatorDefaultExtrapolation }

Public Member Functions

BlackVarianceSurface (const Date &referenceDate, const Calendar &cal, const std::vector< Date > &dates, const std::vector< Real > &strikes, const Matrix &blackVolMatrix, const DayCounter &dayCounter, Extrapolation lowerExtrapolation=InterpolatorDefaultExtrapolation, Extrapolation upperExtrapolation=InterpolatorDefaultExtrapolation)

TermStructure interface

DayCounter dayCounter () const
the day counter used for date/time conversion
Date maxDate () const
the latest date for which the curve can return values

VolatilityTermStructure interface

Real minStrike () const
the minimum strike for which the term structure can return vols
Real maxStrike () const
the maximum strike for which the term structure can return vols


template<class Interpolator > void setInterpolation (const Interpolator &i=Interpolator())


virtual void accept (AcyclicVisitor &)

Protected Member Functions

virtual Real blackVarianceImpl (Time t, Real strike) const
Black variance calculation.

Detailed Description

Black volatility surface modelled as variance surface.

This class calculates time/strike dependent Black volatilities using as input a matrix of Black volatilities observed in the market.

The calculation is performed interpolating on the variance surface. Bilinear interpolation is used as default; this can be changed by the setInterpolation() method.

Possible enhancements

check time extrapolation


Generated automatically by Doxygen for QuantLib from the source code.