Logo
Reference manual - version qle_version
CapFloorTermVolSurfaceExact Class Reference

Cap/floor smile volatility surface. More...

#include <qle/termstructures/capfloortermvolsurface.hpp>

Inheritance diagram for CapFloorTermVolSurfaceExact:

Public Types

enum  InterpolationMethod { BicubicSpline , Bilinear }

Public Member Functions

 CapFloorTermVolSurfaceExact (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(), InterpolationMethod interpolationMethod=BicubicSpline)
 floating reference date, floating market data
 CapFloorTermVolSurfaceExact (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(), InterpolationMethod interpolationMethod=BicubicSpline)
 fixed reference date, floating market data
 CapFloorTermVolSurfaceExact (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(), InterpolationMethod interpolationMethod=BicubicSpline)
 fixed reference date, fixed market data
 CapFloorTermVolSurfaceExact (Natural settlementDays, const Calendar &calendar, BusinessDayConvention bdc, const std::vector< Period > &optionTenors, const std::vector< Rate > &strikes, const Matrix &volatilities, const DayCounter &dc=Actual365Fixed(), InterpolationMethod interpolationMethod=BicubicSpline)
 floating reference date, fixed market data
TermStructure interface
Date maxDate () const override
VolatilityTermStructure interface
Real minStrike () const override
Real maxStrike () const override
LazyObject interface
void update () override
void performCalculations () const override
Public Member Functions inherited from CapFloorTermVolSurface
 CapFloorTermVolSurface (QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc=QuantLib::DayCounter(), std::vector< QuantLib::Period > optionTenors={}, std::vector< QuantLib::Rate > strikes={})
 default constructor
 CapFloorTermVolSurface (const QuantLib::Date &referenceDate, const QuantLib::Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=QuantLib::DayCounter(), std::vector< QuantLib::Period > optionTenors={}, std::vector< QuantLib::Rate > strikes={})
 initialize with a fixed reference date
 CapFloorTermVolSurface (QuantLib::Natural settlementDays, const QuantLib::Calendar &cal, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc=QuantLib::DayCounter(), std::vector< QuantLib::Period > optionTenors={}, std::vector< QuantLib::Rate > strikes={})
 calculate the reference date based on the global evaluation date
const std::vector< QuantLib::Period > & optionTenors () const
const std::vector< QuantLib::Rate > & strikes () const
void update () override
void performCalculations () const override

some inspectors

const std::vector< Date > & optionDates () const
const std::vector< Time > & optionTimes () const
InterpolationMethod interpolationMethod () const
Volatility volatilityImpl (Time t, Rate strike) const override

Additional Inherited Members

std::vector< QuantLib::Period > optionTenors_
std::vector< QuantLib::Rate > strikes_

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.

This is a copy of the QL CapFloorTermVolSurface but gives the option to use BiLinear instead of BiCubic Spline interpolation. Default is BiCubic Spline for backwards compatibility with QuantLib