Logo
Reference manual - version qle_version
Public Types | Public Member Functions | List of all members
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

- Protected Attributes inherited from CapFloorTermVolSurface
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