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