|
| PiecewiseOptionletStripper (const boost::shared_ptr< QuantExt::CapFloorTermVolSurface > &capFloorSurface, const boost::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) |
|
|
QuantLib::VolatilityType | capFloorVolType () const |
| Volatility type for the underlying cap floor matrix.
|
|
QuantLib::Real | capFloorVolDisplacement () const |
| The applicable shift if the underlying cap floor matrix has shifted lognormal volatility.
|
|
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 |
|
|
| 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.
|
|
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_ |
|
template<class Interpolator, template< class > class Bootstrap = QuantExt::IterativeBootstrap>
class QuantExt::PiecewiseOptionletStripper< Interpolator, Bootstrap >
Helper class to strip optionlet (i.e. caplet/floorlet) volatilities from the cap floor term volatilities of a CapFloorTermVolSurface.