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 More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
const std::vector< QuantLib::Period > & | optionTenors () const |
const std::vector< QuantLib::Rate > & | strikes () const |
void | update () override |
void | performCalculations () const override |
some inspectors | |
Size | nOptionTenors_ |
std::vector< Date > | optionDates_ |
std::vector< Time > | optionTimes_ |
Date | evaluationDate_ |
Size | nStrikes_ |
std::vector< std::vector< Handle< Quote > > > | volHandles_ |
Matrix | vols_ |
InterpolationMethod | interpolationMethod_ |
Interpolation2D | interpolation_ |
const std::vector< Date > & | optionDates () const |
const std::vector< Time > & | optionTimes () const |
InterpolationMethod | interpolationMethod () const |
Volatility | volatilityImpl (Time t, Rate strike) const override |
void | checkInputs () const |
void | initializeOptionDatesAndTimes () const |
void | registerWithMarketData () |
void | interpolate () |
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
Definition at line 93 of file capfloortermvolsurface.hpp.
enum InterpolationMethod |
Enumerator | |
---|---|
BicubicSpline | |
Bilinear |
Definition at line 95 of file capfloortermvolsurface.hpp.
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
|
override |
Definition at line 166 of file capfloortermvolsurface.hpp.
|
override |
Definition at line 171 of file capfloortermvolsurface.hpp.
|
override |
Definition at line 173 of file capfloortermvolsurface.hpp.
|
override |
Definition at line 151 of file capfloortermvolsurface.cpp.
|
override |
Definition at line 170 of file capfloortermvolsurface.cpp.
const std::vector< Date > & optionDates | ( | ) | const |
Definition at line 180 of file capfloortermvolsurface.hpp.
const std::vector< Time > & optionTimes | ( | ) | const |
Definition at line 186 of file capfloortermvolsurface.hpp.
CapFloorTermVolSurfaceExact::InterpolationMethod interpolationMethod | ( | ) | const |
Definition at line 192 of file capfloortermvolsurface.hpp.
|
overrideprotected |
Definition at line 175 of file capfloortermvolsurface.hpp.
|
private |
Definition at line 113 of file capfloortermvolsurface.cpp.
|
private |
Definition at line 163 of file capfloortermvolsurface.cpp.
|
private |
Definition at line 133 of file capfloortermvolsurface.cpp.
|
private |
Definition at line 139 of file capfloortermvolsurface.cpp.
|
private |
Definition at line 146 of file capfloortermvolsurface.hpp.
|
mutableprivate |
Definition at line 147 of file capfloortermvolsurface.hpp.
|
mutableprivate |
Definition at line 148 of file capfloortermvolsurface.hpp.
|
private |
Definition at line 149 of file capfloortermvolsurface.hpp.
|
private |
Definition at line 151 of file capfloortermvolsurface.hpp.
|
private |
Definition at line 153 of file capfloortermvolsurface.hpp.
|
mutableprivate |
Definition at line 154 of file capfloortermvolsurface.hpp.
|
private |
Definition at line 157 of file capfloortermvolsurface.hpp.
|
mutableprivate |
Definition at line 158 of file capfloortermvolsurface.hpp.