BlackVarianceSurface Class Reference

#include <ql/termstructures/volatilities/blackvariancesurface.hpp>

Inheritance diagram for BlackVarianceSurface:

Inheritance graph
[legend]
List of all members.

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.

Todo:
check time extrapolation


Public Types

enum  Extrapolation { ConstantExtrapolation, InterpolatorDefaultExtrapolation }

Public Member Functions

 BlackVarianceSurface (const Date &referenceDate, const std::vector< Date > &dates, const std::vector< Real > &strikes, const Matrix &blackVolMatrix, const DayCounter &dayCounter, Extrapolation lowerExtrapolation=InterpolatorDefaultExtrapolation, Extrapolation upperExtrapolation=InterpolatorDefaultExtrapolation)
BlackVolTermStructure 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
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
Modifiers
template<class Interpolator>
void setInterpolation (const Interpolator &i=Interpolator())
Visitability
virtual void accept (AcyclicVisitor &)

Protected Member Functions

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