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

BlackAtmVolCurve Class Reference

Black at-the-money (no-smile) volatility curve. More...

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

Inheritance diagram for BlackAtmVolCurve:
[legend]

List of all members.

## Public Member Functions

Constructors
See the TermStructure documentation for issues regarding constructors.
| BlackAtmVolCurve (const Calendar &cal, BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter())
| BlackAtmVolCurve (BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter())
| default constructor
| BlackAtmVolCurve (const Date &referenceDate, const Calendar &cal=Calendar(), BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter())
| initialize with a fixed reference date
| BlackAtmVolCurve (Natural settlementDays, const Calendar &, BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter())
| calculate the reference date based on the global evaluation date
Black at-the-money spot volatility
Volatility | atmVol (const Period &optionTenor, bool extrapolate=false) const
| spot at-the-money volatility
Volatility | atmVol (const Date &maturity, bool extrapolate=false) const
| spot at-the-money volatility
Volatility | atmVol (Time maturity, bool extrapolate=false) const
| spot at-the-money volatility
Real | atmVariance (const Period &optionTenor, bool extrapolate=false) const
| spot at-the-money variance
Real | atmVariance (const Date &maturity, bool extrapolate=false) const
| spot at-the-money variance
Real | atmVariance (Time maturity, bool extrapolate=false) const
| spot at-the-money variance
Visitability
virtual void | accept (AcyclicVisitor &)

## Protected Member Functions

Calculations
These methods must be implemented in derived classes to perform the actual volatility calculations. When they are called, range check has already been performed; therefore, they must assume that extrapolation is required.
virtual Real | atmVarianceImpl (Time t) const =0
| spot at-the-money variance calculation
virtual Volatility | atmVolImpl (Time t) const =0
| spot at-the-money volatility calculation

## Detailed Description

Black at-the-money (no-smile) volatility curve.

This abstract class defines the interface of concrete Black at-the-money (no-smile) volatility curves which will be derived from this one.

Volatilities are assumed to be expressed on an annual basis.

## Constructor & Destructor Documentation

BlackAtmVolCurve | ( | 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.

BlackAtmVolCurve | ( | 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.