Interpolated cap floor term volatility curve. More...
#include <qle/termstructures/capfloortermvolcurve.hpp>
Inheritance diagram for InterpolatedCapFloorTermVolCurve< Interpolator >:Public Member Functions | |
| InterpolatedCapFloorTermVolCurve (QuantLib::Natural settlementDays, const QuantLib::Calendar &calendar, QuantLib::BusinessDayConvention bdc, const std::vector< QuantLib::Period > &optionTenors, const std::vector< QuantLib::Handle< QuantLib::Quote > > &volatilities, const QuantLib::DayCounter &dayCounter=QuantLib::Actual365Fixed(), bool flatFirstPeriod=true, const Interpolator &interpolator=Interpolator()) | |
| InterpolatedCapFloorTermVolCurve (const QuantLib::Date &settlementDate, const QuantLib::Calendar &calendar, QuantLib::BusinessDayConvention bdc, const std::vector< QuantLib::Period > &optionTenors, const std::vector< QuantLib::Handle< QuantLib::Quote > > &volatilities, const QuantLib::DayCounter &dayCounter=QuantLib::Actual365Fixed(), bool flatFirstPeriod=true, const Interpolator &interpolator=Interpolator()) | |
TermStructure interface | |
| QuantLib::Date | maxDate () const override |
VolatilityTermStructure interface | |
| QuantLib::Rate | minStrike () const override |
| QuantLib::Rate | maxStrike () const override |
LazyObject interface | |
| void | update () override |
| void | performCalculations () const override |
CapFloorTermVolCurve interface | |
| std::vector< QuantLib::Period > | optionTenors () const override |
| Return the tenors used in the CapFloorTermVolCurve. | |
Inspectors | |
| const std::vector< QuantLib::Date > & | optionDates () const |
| const std::vector< QuantLib::Time > & | optionTimes () const |
Public Member Functions inherited from CapFloorTermVolCurve | |
| CapFloorTermVolCurve (QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc=QuantLib::DayCounter()) | |
| CapFloorTermVolCurve (const QuantLib::Date &referenceDate, const QuantLib::Calendar &cal, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc=QuantLib::DayCounter()) | |
| CapFloorTermVolCurve (QuantLib::Natural settlementDays, const QuantLib::Calendar &cal, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc=QuantLib::DayCounter()) | |
| calculate the reference date based on the global evaluation date | |
CapFloorTermVolatilityStructure interface | |
| QuantLib::Volatility | volatilityImpl (QuantLib::Time length, QuantLib::Rate) const override |
Interpolated cap floor term volatility curve.
Class that interpolates a vector of cap floor volatilities.
Based on the class QuantLib::CapFloorTermVolCurve with changes:
| InterpolatedCapFloorTermVolCurve | ( | QuantLib::Natural | settlementDays, |
| const QuantLib::Calendar & | calendar, | ||
| QuantLib::BusinessDayConvention | bdc, | ||
| const std::vector< QuantLib::Period > & | optionTenors, | ||
| const std::vector< QuantLib::Handle< QuantLib::Quote > > & | volatilities, | ||
| const QuantLib::DayCounter & | dayCounter = QuantLib::Actual365Fixed(), |
||
| bool | flatFirstPeriod = true, |
||
| const Interpolator & | interpolator = Interpolator() |
||
| ) |
Constructor with floating reference date
| settlementDays | Number of days from evaluation date to curve reference date. |
| calendar | The calendar used to derive cap floor maturity dates from optionTenors. Also used to advance from today to reference date if necessary. |
| bdc | The business day convention used to derive cap floor maturity dates from optionTenors. |
| optionTenors | The cap floor tenors. The first tenor must be positive. |
| volatilities | The cap floor volatility quotes. |
| dayCounter | The day counter used to convert from dates to times. |
| flatFirstPeriod | Set to true to use the first element of volatilities between time zero and the first element of optionTenors. If this is false, the volatility at time zero is set to zero and interpolation between time and the first element of optionTenors is used. |
| interpolator | An instance of the interpolator to use. Allows for specification of Interpolator instances that use a constructor that takes arguments. |
| InterpolatedCapFloorTermVolCurve | ( | const QuantLib::Date & | settlementDate, |
| const QuantLib::Calendar & | calendar, | ||
| QuantLib::BusinessDayConvention | bdc, | ||
| const std::vector< QuantLib::Period > & | optionTenors, | ||
| const std::vector< QuantLib::Handle< QuantLib::Quote > > & | volatilities, | ||
| const QuantLib::DayCounter & | dayCounter = QuantLib::Actual365Fixed(), |
||
| bool | flatFirstPeriod = true, |
||
| const Interpolator & | interpolator = Interpolator() |
||
| ) |
Constructor with fixed reference date
| settlementDate | The curve reference date. |
| calendar | The calendar used to derive cap floor maturity dates from optionTenors. Also used to advance from today to reference date if necessary. |
| bdc | The business day convention used to derive cap floor maturity dates from optionTenors. |
| optionTenors | The cap floor tenors. The first tenor must be positive. |
| volatilities | The cap floor volatility quotes. |
| dayCounter | The day counter used to convert from dates to times. |
| flatFirstPeriod | Set to true to use the first element of volatilities between time zero and the first element of optionTenors. If this is false, the volatility at time zero is set to zero and interpolation between time and the first element of optionTenors is used. |
| interpolator | An instance of the interpolator to use. Allows for specification of Interpolator instances that use a constructor that takes arguments. |