#include <qle/termstructures/optionletcurve.hpp>
Inheritance diagram for InterpolatedOptionletCurve< Interpolator >:
Collaboration diagram for InterpolatedOptionletCurve< Interpolator >:Public Member Functions | |
| InterpolatedOptionletCurve (const std::vector< QuantLib::Date > &dates, const std::vector< QuantLib::Real > &volatilities, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dayCounter, const QuantLib::Calendar &calendar=QuantLib::Calendar(), QuantLib::VolatilityType volatilityType=QuantLib::Normal, QuantLib::Real displacement=0.0, 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 |
OptionletVolatilityStructure interface | |
| std::vector< QuantLib::Date > | dates_ |
| The fixing dates of the index underlying the optionlets. More... | |
| QuantLib::VolatilityType | volatilityType_ |
| The optionlet volatility type. More... | |
| QuantLib::Real | displacement_ |
| If the volatility type is ShiftedLognormal, this holds the shift value. More... | |
| bool | flatFirstPeriod_ |
| True if the volatility from the initial date to the first date is assumed flat. More... | |
| QuantLib::VolatilityType | volatilityType () const override |
| QuantLib::Real | displacement () const override |
| QuantLib::ext::shared_ptr< QuantLib::SmileSection > | smileSectionImpl (QuantLib::Time optionTime) const override |
| QuantLib::Real | volatilityImpl (QuantLib::Time optionTime, QuantLib::Rate strike) const override |
| void | initialise () |
| Initialise the dates and the interpolation object. More... | |
Other inspectors | |
| const std::vector< QuantLib::Time > & | times () const |
| const std::vector< QuantLib::Date > & | dates () const |
| const std::vector< QuantLib::Real > & | volatilities () const |
| const std::vector< QuantLib::Real > & | data () const |
| std::vector< std::pair< QuantLib::Date, QuantLib::Real > > | nodes () const |
| InterpolatedOptionletCurve (QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dayCounter, QuantLib::VolatilityType volatilityType=QuantLib::Normal, QuantLib::Real displacement=0.0, bool flatFirstPeriod=true, const Interpolator &interpolator=Interpolator()) | |
| InterpolatedOptionletCurve (const QuantLib::Date &referenceDate, const QuantLib::Calendar &calendar, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dayCounter, QuantLib::VolatilityType volatilityType=QuantLib::Normal, QuantLib::Real displacement=0.0, bool flatFirstPeriod=true, const Interpolator &interpolator=Interpolator()) | |
| InterpolatedOptionletCurve (QuantLib::Natural settlementDays, const QuantLib::Calendar &calendar, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dayCounter, QuantLib::VolatilityType volatilityType=QuantLib::Normal, QuantLib::Real displacement=0.0, bool flatFirstPeriod=true, const Interpolator &interpolator=Interpolator()) | |
OptionletVolatilityStructure based on interpolation of one-dimensional vector of optionlet volatilities
The intended use case for this class is to represent the optionlet volatilities along a strike column of a cap floor volatility surface.
Definition at line 43 of file optionletcurve.hpp.
| InterpolatedOptionletCurve | ( | const std::vector< QuantLib::Date > & | dates, |
| const std::vector< QuantLib::Real > & | volatilities, | ||
| QuantLib::BusinessDayConvention | bdc, | ||
| const QuantLib::DayCounter & | dayCounter, | ||
| const QuantLib::Calendar & | calendar = QuantLib::Calendar(), |
||
| QuantLib::VolatilityType | volatilityType = QuantLib::Normal, |
||
| QuantLib::Real | displacement = 0.0, |
||
| bool | flatFirstPeriod = true, |
||
| const Interpolator & | interpolator = Interpolator() |
||
| ) |
Constructor
| dates | The fixing dates of the underlying interest rate index |
| volatilities | The optionlet volatility at each of the dates |
| bdc | Business day convention used when getting an optionlet expiry date from an optionlet expiry tenor |
| dayCounter | The day counter used to convert dates to times |
| calendar | The calendar used when getting an optionlet expiry date from an optionlet expiry tenor and. Also used to advance from today to reference date if necessary. |
| volatilityType | The volatility type of the provided volatilities |
| displacement | The applicable shift size if the volatilityType is ShiftedLognormal |
| flatFirstPeriod | If the volatility between the first date and second date in dates is assumed constant and equal to the second element of volatilities. This means that the first element of volatilities is ignored. |
| interpolator | The interpolation object used to interpolate between the provided dates |
Definition at line 149 of file optionletcurve.hpp.
Here is the call graph for this function:
|
protected |
Definition at line 161 of file optionletcurve.hpp.
|
protected |
Definition at line 170 of file optionletcurve.hpp.
|
protected |
Definition at line 179 of file optionletcurve.hpp.
|
override |
Definition at line 187 of file optionletcurve.hpp.
|
override |
Definition at line 193 of file optionletcurve.hpp.
|
override |
Definition at line 201 of file optionletcurve.hpp.
|
override |
Definition at line 203 of file optionletcurve.hpp.
|
override |
Definition at line 207 of file optionletcurve.hpp.
| const std::vector< QuantLib::Time > & times |
Definition at line 209 of file optionletcurve.hpp.
| const std::vector< QuantLib::Date > & dates |
Definition at line 213 of file optionletcurve.hpp.
| const std::vector< QuantLib::Real > & volatilities |
Definition at line 217 of file optionletcurve.hpp.
| const std::vector< QuantLib::Real > & data |
Definition at line 223 of file optionletcurve.hpp.
| std::vector< std::pair< QuantLib::Date, QuantLib::Real > > nodes |
Definition at line 230 of file optionletcurve.hpp.
|
overrideprotected |
Gives a flat SmileSection at the requested optionTime. The flat value is obtained by interpolating the input volatilities at the given optionTime.
Definition at line 241 of file optionletcurve.hpp.
|
overrideprotected |
Gives the interpolated optionlet volatility at the requested optionTime. The strike is ignored.
Definition at line 248 of file optionletcurve.hpp.
|
private |
Initialise the dates and the interpolation object.
Definition at line 255 of file optionletcurve.hpp.
Here is the caller graph for this function:
|
mutableprotected |
The fixing dates of the index underlying the optionlets.
Definition at line 127 of file optionletcurve.hpp.
|
private |
The optionlet volatility type.
Definition at line 131 of file optionletcurve.hpp.
|
private |
If the volatility type is ShiftedLognormal, this holds the shift value.
Definition at line 134 of file optionletcurve.hpp.
|
private |
True if the volatility from the initial date to the first date is assumed flat.
Definition at line 137 of file optionletcurve.hpp.