#include <qle/termstructures/optionletcurve.hpp>
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.
|
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.
|
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.