Cap/floor smile volatility surface. More...
#include <qle/termstructures/capfloortermvolsurface.hpp>
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 |
Additional Inherited Members | |
Protected Attributes inherited from CapFloorTermVolSurface | |
std::vector< QuantLib::Period > | optionTenors_ |
std::vector< QuantLib::Rate > | strikes_ |
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