#include <qle/termstructures/optionletstripperwithatm.hpp>
Inheritance diagram for OptionletStripperWithAtm< TimeInterpolator, SmileInterpolator >:
Collaboration diagram for OptionletStripperWithAtm< TimeInterpolator, SmileInterpolator >:Classes | |
| class | ObjectiveFunction |
| Class that is used to imply the spreads at each tenor such that the ATM cap floor volatilities are retrieved. More... | |
| class | ObjectiveFunctionOIS |
Public Member Functions | |
| OptionletStripperWithAtm (const QuantLib::ext::shared_ptr< QuantExt::OptionletStripper > &osBase, const QuantLib::Handle< CapFloorTermVolCurve > &atmCurve, const QuantLib::Handle< QuantLib::YieldTermStructure > &discount=QuantLib::Handle< QuantLib::YieldTermStructure >(), const QuantLib::VolatilityType atmVolatilityType=QuantLib::ShiftedLognormal, QuantLib::Real atmDisplacement=0.0, QuantLib::Size maxEvaluations=10000, QuantLib::Real accuracy=1.0e-12, const TimeInterpolator &ti=TimeInterpolator(), const SmileInterpolator &si=SmileInterpolator()) | |
| Constructor. More... | |
Inspectors | |
| std::vector< QuantLib::Rate > | atmStrikes () const |
| std::vector< QuantLib::Real > | atmPrices () const |
| std::vector< QuantLib::Volatility > | volSpreads () const |
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 | |
| QuantLib::ext::shared_ptr< QuantExt::OptionletStripper > | osBase_ |
| Base optionlet stripper. More... | |
| QuantLib::Handle< CapFloorTermVolCurve > | atmCurve_ |
| ATM volatility curve. More... | |
| QuantLib::VolatilityType | atmVolatilityType_ |
| ATM volatility type. More... | |
| QuantLib::Real | atmDisplacement_ |
| ATM volatility shift if the ATM volatility type is ShiftedLognormal. More... | |
| QuantLib::Size | maxEvaluations_ |
| Maximum number of evaluations when searching for spread to match ATM volatilities. More... | |
| QuantLib::Real | accuracy_ |
| Required accuracy when searching for spread to match ATM volatilities. More... | |
| TimeInterpolator | ti_ |
| The interpolation object in the time direction. More... | |
| SmileInterpolator | si_ |
| The interpolation object in the strike direction. More... | |
| DayCounter | dayCounter_ |
| The day counter for atmCurve_ and osBase_. More... | |
| Size | nAtmExpiries_ |
| The number of ATM instruments in the ATM curve, atmCurve_. More... | |
| std::vector< QuantLib::Rate > | atmStrikes_ |
| std::vector< QuantLib::Real > | atmPrices_ |
| std::vector< QuantLib::Volatility > | volSpreads_ |
| std::vector< QuantLib::ext::shared_ptr< QuantLib::CapFloor > > | caps_ |
| std::vector< QuantLib::Leg > | capsOIS_ |
| void | performCalculations () const override |
| std::vector< QuantLib::Volatility > | volSpreads (const QuantLib::Handle< QuantLib::YieldTermStructure > &discount, const QuantLib::Handle< QuantLib::OptionletVolatilityStructure > &ovs, const bool isOis) const |
| Return the implied optionlet spreads to retrieve the ATM cap floor term volatilities. More... | |
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_ |
Optionlet stripper that amends existing stripped optionlets to incorporate ATM cap floor term volatilities
Definition at line 50 of file optionletstripperwithatm.hpp.
| OptionletStripperWithAtm | ( | const QuantLib::ext::shared_ptr< QuantExt::OptionletStripper > & | osBase, |
| const QuantLib::Handle< CapFloorTermVolCurve > & | atmCurve, | ||
| const QuantLib::Handle< QuantLib::YieldTermStructure > & | discount = QuantLib::Handle<QuantLib::YieldTermStructure>(), |
||
| const QuantLib::VolatilityType | atmVolatilityType = QuantLib::ShiftedLognormal, |
||
| QuantLib::Real | atmDisplacement = 0.0, |
||
| QuantLib::Size | maxEvaluations = 10000, |
||
| QuantLib::Real | accuracy = 1.0e-12, |
||
| const TimeInterpolator & | ti = TimeInterpolator(), |
||
| const SmileInterpolator & | si = SmileInterpolator() |
||
| ) |
Constructor.
Definition at line 149 of file optionletstripperwithatm.hpp.
| std::vector< QuantLib::Rate > atmStrikes |
Definition at line 170 of file optionletstripperwithatm.hpp.
| std::vector< QuantLib::Real > atmPrices |
Definition at line 176 of file optionletstripperwithatm.hpp.
| std::vector< QuantLib::Volatility > volSpreads |
Definition at line 183 of file optionletstripperwithatm.hpp.
|
override |
Definition at line 189 of file optionletstripperwithatm.hpp.
Here is the call graph for this function:
|
private |
Return the implied optionlet spreads to retrieve the ATM cap floor term volatilities.
Definition at line 302 of file optionletstripperwithatm.hpp.
|
private |
Base optionlet stripper.
Definition at line 112 of file optionletstripperwithatm.hpp.
|
private |
ATM volatility curve.
Definition at line 115 of file optionletstripperwithatm.hpp.
|
private |
ATM volatility type.
Definition at line 118 of file optionletstripperwithatm.hpp.
|
private |
ATM volatility shift if the ATM volatility type is ShiftedLognormal.
Definition at line 121 of file optionletstripperwithatm.hpp.
|
private |
Maximum number of evaluations when searching for spread to match ATM volatilities.
Definition at line 124 of file optionletstripperwithatm.hpp.
|
private |
Required accuracy when searching for spread to match ATM volatilities.
Definition at line 127 of file optionletstripperwithatm.hpp.
|
private |
The interpolation object in the time direction.
Definition at line 130 of file optionletstripperwithatm.hpp.
|
private |
The interpolation object in the strike direction.
Definition at line 133 of file optionletstripperwithatm.hpp.
|
private |
The day counter for atmCurve_ and osBase_.
Definition at line 136 of file optionletstripperwithatm.hpp.
|
private |
The number of ATM instruments in the ATM curve, atmCurve_.
Definition at line 139 of file optionletstripperwithatm.hpp.
|
mutableprivate |
Definition at line 141 of file optionletstripperwithatm.hpp.
|
mutableprivate |
Definition at line 142 of file optionletstripperwithatm.hpp.
|
mutableprivate |
Definition at line 143 of file optionletstripperwithatm.hpp.
|
mutableprivate |
Definition at line 144 of file optionletstripperwithatm.hpp.
|
mutableprivate |
Definition at line 145 of file optionletstripperwithatm.hpp.