#include <qle/termstructures/piecewiseoptionletstripper.hpp>
Public Types | |
typedef PiecewiseOptionletCurve< Interpolator, Bootstrap >::this_curve | optionlet_curve |
Public Member Functions | |
PiecewiseOptionletStripper (const QuantLib::ext::shared_ptr< QuantExt::CapFloorTermVolSurface > &capFloorSurface, const QuantLib::ext::shared_ptr< QuantLib::IborIndex > &index, const QuantLib::Handle< QuantLib::YieldTermStructure > &discount, bool flatFirstPeriod=true, const QuantLib::VolatilityType capFloorVolType=QuantLib::ShiftedLognormal, const QuantLib::Real capFloorVolDisplacement=0.0, const boost::optional< VolatilityType > optionletVolType=boost::none, const boost::optional< QuantLib::Real > optionletVolDisplacement=boost::none, bool interpOnOptionlets=true, const Interpolator &i=Interpolator(), const Bootstrap< optionlet_curve > &bootstrap=Bootstrap< optionlet_curve >(), const Period &rateComputationPeriod=0 *Days, const Size onCapSettlementDays=0) | |
Inspectors | |
QuantLib::VolatilityType | capFloorVolType () const |
Volatility type for the underlying cap floor matrix. More... | |
QuantLib::Real | capFloorVolDisplacement () const |
The applicable shift if the underlying cap floor matrix has shifted lognormal volatility. More... | |
Public Member Functions inherited from OptionletStripper | |
const std::vector< Rate > & | optionletStrikes (Size i) const override |
const std::vector< Volatility > & | optionletVolatilities (Size i) const override |
const std::vector< Date > & | optionletFixingDates () const override |
const std::vector< Time > & | optionletFixingTimes () const override |
Size | optionletMaturities () const override |
const std::vector< Rate > & | atmOptionletRates () const override |
DayCounter | dayCounter () const override |
Calendar | calendar () const override |
Natural | settlementDays () const override |
BusinessDayConvention | businessDayConvention () const override |
const std::vector< Period > & | optionletFixingTenors () const |
const std::vector< Date > & | optionletPaymentDates () const |
const std::vector< Time > & | optionletAccrualPeriods () const |
ext::shared_ptr< CapFloorTermVolSurface > | termVolSurface () const |
ext::shared_ptr< IborIndex > | index () const |
Real | displacement () const override |
VolatilityType | volatilityType () const override |
const Period & | rateComputationPeriod () const |
LazyObject interface | |
typedef QuantLib::BootstrapHelper< QuantLib::OptionletVolatilityStructure > | helper |
Store the vector of helpers for each strike column. The first dimension is strike and second is option tenor. More... | |
bool | flatFirstPeriod_ |
Flat optionlet volatility before first optionlet fixing date. More... | |
QuantLib::VolatilityType | capFloorVolType_ |
Volatility type for the underlying cap floor matrix. More... | |
QuantLib::Real | capFloorVolDisplacement_ |
The applicable shift if the underlying cap floor matrix has shifted lognormal volatility. More... | |
bool | interpOnOptionlets_ |
True to interpolate on optionlet volatilities, false to interpolate on cap floor term volatilities. More... | |
Interpolator | interpolator_ |
The interpolator. More... | |
Bootstrap< optionlet_curve > | bootstrap_ |
The bootstrapper. More... | |
std::vector< QuantLib::ext::shared_ptr< optionlet_curve > > | strikeCurves_ |
A one-dimensional optionlet curve for each strike in the underlying cap floor matrix. More... | |
std::vector< std::vector< QuantLib::ext::shared_ptr< helper > > > | helpers_ |
std::vector< std::vector< QuantLib::ext::shared_ptr< QuantLib::SimpleQuote > > > | quotes_ |
Store the cap floor surface quotes. The first dimension is option tenor and second is strike. More... | |
void | performCalculations () const override |
Additional Inherited Members | |
Protected Member Functions inherited from OptionletStripper | |
OptionletStripper (const ext::shared_ptr< QuantExt::CapFloorTermVolSurface > &, const ext::shared_ptr< IborIndex > &index, const Handle< YieldTermStructure > &discount=Handle< YieldTermStructure >(), const VolatilityType type=ShiftedLognormal, const Real displacement=0.0, const Period &rateComputationPeriod=0 *Days, const Size onCapSettlementDays=0) | |
virtual void | populateDates () const |
Method to populate the dates, times and accruals that can be overridden in derived classes. More... | |
Protected Attributes inherited from OptionletStripper | |
ext::shared_ptr< CapFloorTermVolSurface > | termVolSurface_ |
ext::shared_ptr< IborIndex > | index_ |
Handle< YieldTermStructure > | discount_ |
Size | nStrikes_ |
Size | nOptionletTenors_ |
std::vector< std::vector< Rate > > | optionletStrikes_ |
std::vector< std::vector< Volatility > > | optionletVolatilities_ |
std::vector< Time > | optionletTimes_ |
std::vector< Date > | optionletDates_ |
std::vector< Period > | optionletTenors_ |
std::vector< Rate > | atmOptionletRate_ |
std::vector< Date > | optionletPaymentDates_ |
std::vector< Time > | optionletAccrualPeriods_ |
std::vector< Period > | capFloorLengths_ |
const VolatilityType | volatilityType_ |
const Real | displacement_ |
const Period | rateComputationPeriod_ |
const Size | onCapSettlementDays_ |
Helper class to strip optionlet (i.e. caplet/floorlet) volatilities from the cap floor term volatilities of a CapFloorTermVolSurface.
Definition at line 37 of file piecewiseoptionletstripper.hpp.
typedef PiecewiseOptionletCurve<Interpolator,Bootstrap>::this_curve optionlet_curve |
Definition at line 40 of file piecewiseoptionletstripper.hpp.
|
private |
Store the vector of helpers for each strike column. The first dimension is strike and second is option tenor.
Definition at line 90 of file piecewiseoptionletstripper.hpp.
PiecewiseOptionletStripper | ( | const QuantLib::ext::shared_ptr< QuantExt::CapFloorTermVolSurface > & | capFloorSurface, |
const QuantLib::ext::shared_ptr< QuantLib::IborIndex > & | index, | ||
const QuantLib::Handle< QuantLib::YieldTermStructure > & | discount, | ||
bool | flatFirstPeriod = true , |
||
const QuantLib::VolatilityType | capFloorVolType = QuantLib::ShiftedLognormal , |
||
const QuantLib::Real | capFloorVolDisplacement = 0.0 , |
||
const boost::optional< VolatilityType > | optionletVolType = boost::none , |
||
const boost::optional< QuantLib::Real > | optionletVolDisplacement = boost::none , |
||
bool | interpOnOptionlets = true , |
||
const Interpolator & | i = Interpolator() , |
||
const Bootstrap< optionlet_curve > & | bootstrap = Bootstrap<optionlet_curve>() , |
||
const Period & | rateComputationPeriod = 0 * Days , |
||
const Size | onCapSettlementDays = 0 |
||
) |
Definition at line 98 of file piecewiseoptionletstripper.hpp.
QuantLib::VolatilityType capFloorVolType | ( | ) | const |
Volatility type for the underlying cap floor matrix.
Definition at line 57 of file piecewiseoptionletstripper.hpp.
QuantLib::Real capFloorVolDisplacement | ( | ) | const |
The applicable shift if the underlying cap floor matrix has shifted lognormal volatility.
Definition at line 60 of file piecewiseoptionletstripper.hpp.
|
override |
Definition at line 151 of file piecewiseoptionletstripper.hpp.
|
private |
Flat optionlet volatility before first optionlet fixing date.
Definition at line 69 of file piecewiseoptionletstripper.hpp.
|
private |
Volatility type for the underlying cap floor matrix.
Definition at line 72 of file piecewiseoptionletstripper.hpp.
|
private |
The applicable shift if the underlying cap floor matrix has shifted lognormal volatility.
Definition at line 75 of file piecewiseoptionletstripper.hpp.
|
private |
True to interpolate on optionlet volatilities, false to interpolate on cap floor term volatilities.
Definition at line 78 of file piecewiseoptionletstripper.hpp.
|
private |
The interpolator.
Definition at line 81 of file piecewiseoptionletstripper.hpp.
|
private |
The bootstrapper.
Definition at line 84 of file piecewiseoptionletstripper.hpp.
|
mutableprivate |
A one-dimensional optionlet curve for each strike in the underlying cap floor matrix.
Definition at line 87 of file piecewiseoptionletstripper.hpp.
|
private |
Definition at line 91 of file piecewiseoptionletstripper.hpp.
|
private |
Store the cap floor surface quotes. The first dimension is option tenor and second is strike.
Definition at line 94 of file piecewiseoptionletstripper.hpp.