### A free/open-source library for quantitative finance

BlackVolSurface Class Reference

Black volatility (smile) surface. More...

`#include <ql/experimental/volatility/blackvolsurface.hpp>`

Inheritance diagram for BlackVolSurface:
[legend]

List of all members.

## Public Member Functions

Constructors
See the TermStructure documentation for issues regarding constructors.
| BlackVolSurface (const Calendar &cal, BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter())
| BlackVolSurface (BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter())
| default constructor
| BlackVolSurface (const Date &referenceDate, const Calendar &cal=Calendar(), BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter())
| initialize with a fixed reference date
| BlackVolSurface (Natural settlementDays, const Calendar &, BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter())
| calculate the reference date based on the global evaluation date
Black spot volatility
boost::shared_ptr< SmileSection > | smileSection (const Period &, bool extrapolate) const
| returns the smile for a given option tenor
boost::shared_ptr< SmileSection > | smileSection (const Date &, bool extrapolate) const
| returns the smile for a given option date
boost::shared_ptr< SmileSection > | smileSection (Time, bool extrapolate) const
| returns the smile for a given option time
Visitability
void | accept (AcyclicVisitor &)

## Protected Member Functions

BlackAtmVolCurve interface
Real | atmVarianceImpl (Time t) const
| spot at-the-money variance calculation
Volatility | atmVolImpl (Time t) const
| spot at-the-money volatility calculation
Calculations
This method must be implemented in derived classes to perform the actual volatility calculations. When it is called, time check has already been performed; therefore, it must assume that time-extrapolation is allowed.
virtual boost::shared_ptr < SmileSection > | smileSectionImpl (Time) const =0

## Detailed Description

Black volatility (smile) surface.

This abstract class defines the interface of concrete Black volatility (smile) surface which will be derived from this one.

Volatilities are assumed to be expressed on an annual basis.

## Constructor & Destructor Documentation

BlackVolSurface | ( | const Calendar & | cal,
|  | BusinessDayConvention | bdc = `Following`,
|  | const DayCounter & | dc = `DayCounter()`
| ) |  |

Warning:
  term structures initialized by means of this constructor must manage their own reference date by overriding the referenceDate() method.

BlackVolSurface | ( | BusinessDayConvention | bdc = `Following`,
|  | const DayCounter & | dc = `DayCounter()`
| ) |  |

default constructor

Warning:
  term structures initialized by means of this constructor must manage their own reference date by overriding the referenceDate() method.