# QuantLib_CapFloorTermVolSurface man page

CapFloorTermVolSurface — Cap/floor smile volatility surface.

## Synopsis

`#include <ql/termstructures/volatility/capfloor/capfloortermvolsurface.hpp>`

Inherits **LazyObject**, and **CapFloorTermVolatilityStructure**.

### Public Member Functions

**CapFloorTermVolSurface** (**Natural settlementDays**, const **Calendar** &**calendar**, **BusinessDayConvention** bdc, const std::vector< **Period** > &optionTenors, const std::vector< **Rate** > &strikes, const std::vector< std::vector< **Handle**< **Quote** > > > &, const **DayCounter** &dc=**Actual365Fixed**())

floating reference date, floating market data **CapFloorTermVolSurface** (const **Date** &settlementDate, const **Calendar** &**calendar**, **BusinessDayConvention** bdc, const std::vector< **Period** > &optionTenors, const std::vector< **Rate** > &strikes, const std::vector< std::vector< **Handle**< **Quote** > > > &, const **DayCounter** &dc=**Actual365Fixed**())

fixed reference date, floating market data **CapFloorTermVolSurface** (const **Date** &settlementDate, const **Calendar** &**calendar**, **BusinessDayConvention** bdc, const std::vector< **Period** > &optionTenors, const std::vector< **Rate** > &strikes, const **Matrix** &volatilities, const **DayCounter** &dc=**Actual365Fixed**())

fixed reference date, fixed market data **CapFloorTermVolSurface** (**Natural settlementDays**, const **Calendar** &**calendar**, **BusinessDayConvention** bdc, const std::vector< **Period** > &optionTenors, const std::vector< **Rate** > &strikes, const **Matrix** &volatilities, const **DayCounter** &dc=**Actual365Fixed**())

floating reference date, fixed market data

**TermStructure interface**

**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

**LazyObject interface**

void **update** ()

void **performCalculations** () const

**some inspectors**

const std::vector< **Period** > & **optionTenors** () const

const std::vector< **Date** > & **optionDates** () const

const std::vector< **Time** > & **optionTimes** () const

const std::vector< **Rate** > & **strikes** () const

### Protected Member Functions

**Volatility volatilityImpl** (**Time** t, **Rate** strike) const

implements the actual volatility calculation in derived classes

### Additional Inherited Members

## Detailed Description

Cap/floor smile volatility surface.

This class provides the volatility for a given cap/floor interpolating a volatility surface whose elements are the market term volatilities of a set of caps/floors with given length and given strike.

## Member Function Documentation

### void update () [virtual]

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Reimplemented from **LazyObject**.

### void performCalculations () const [virtual]

This method must implement any calculations which must be (re)done in order to calculate the desired results.

Implements **LazyObject**.

## Author

Generated automatically by Doxygen for QuantLib from the source code.

## Referenced By

CapFloorTermVolSurface(3) and strikes(3) are aliases of QuantLib_CapFloorTermVolSurface(3).