|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
CMS-coupon pricer. More...
#include <conundrumpricer.hpp>
Inheritance diagram for NumericHaganPricer:
Collaboration diagram for NumericHaganPricer:Classes | |
| class | ConundrumIntegrand |
| class | Function |
Public Member Functions | |
| NumericHaganPricer (const Handle< SwaptionVolatilityStructure > &swaptionVol, GFunctionFactory::YieldCurveModel modelOfYieldCurve, const Handle< Quote > &meanReversion, Rate lowerLimit=0.0, Rate upperLimit=1.0, Real precision=1.0e-6, Real hardUpperLimit=QL_MAX_REAL) | |
| Real | upperLimit () const |
| Real | lowerLimit () const |
| Real | stdDeviations () const |
| Real | integrate (Real a, Real b, const ConundrumIntegrand &Integrand) const |
| Real | optionletPrice (Option::Type optionType, Rate strike) const override |
| Real | swapletPrice () const override |
| Real | resetUpperLimit (Real stdDeviationsForUpperLimit) const |
| Real | resetLowerLimit (Real stdDeviationsForLowerLimit) const |
| Real | refineIntegration (Real integralValue, const ConundrumIntegrand &integrand) const |
Public Member Functions inherited from HaganPricer | |
| Real | swapletPrice () const override=0 |
| Rate | swapletRate () const override |
| Real | capletPrice (Rate effectiveCap) const override |
| Rate | capletRate (Rate effectiveCap) const override |
| Real | floorletPrice (Rate effectiveFloor) const override |
| Rate | floorletRate (Rate effectiveFloor) const override |
| Real | meanReversion () const override |
| void | setMeanReversion (const Handle< Quote > &meanReversion) override |
Public Member Functions inherited from CmsCouponPricer | |
| CmsCouponPricer (Handle< SwaptionVolatilityStructure > v=Handle< SwaptionVolatilityStructure >()) | |
| Handle< SwaptionVolatilityStructure > | swaptionVolatility () const |
| void | setSwaptionVolatility (const Handle< SwaptionVolatilityStructure > &v=Handle< SwaptionVolatilityStructure >()) |
Public Member Functions inherited from FloatingRateCouponPricer | |
| ~FloatingRateCouponPricer () override=default | |
| void | update () override |
Public Member Functions inherited from Observer | |
| Observer ()=default | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) |
| virtual | ~Observer () |
| std::pair< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &) |
| void | registerWithObservables (const ext::shared_ptr< Observer > &) |
| Size | unregisterWith (const ext::shared_ptr< Observable > &) |
| void | unregisterWithAll () |
| virtual void | update ()=0 |
| virtual void | deepUpdate () |
Public Member Functions inherited from Observable | |
| Observable ()=default | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| Observable (Observable &&)=delete | |
| Observable & | operator= (Observable &&)=delete |
| virtual | ~Observable ()=default |
| void | notifyObservers () |
Public Member Functions inherited from MeanRevertingPricer | |
| virtual Real | meanReversion () const =0 |
| virtual void | setMeanReversion (const Handle< Quote > &)=0 |
| virtual | ~MeanRevertingPricer ()=default |
Public Attributes | |
| Real | lowerLimit_ |
| Real | stdDeviationsForLowerLimit_ |
| Real | upperLimit_ |
| Real | stdDeviationsForUpperLimit_ |
| const Real | requiredStdDeviations_ = 8 |
| const Real | precision_ |
| const Real | refiningIntegrationTolerance_ = .0001 |
| const Real | hardUpperLimit_ |
Additional Inherited Members | |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
Protected Member Functions inherited from HaganPricer | |
| HaganPricer (const Handle< SwaptionVolatilityStructure > &swaptionVol, GFunctionFactory::YieldCurveModel modelOfYieldCurve, Handle< Quote > meanReversion) | |
| void | initialize (const FloatingRateCoupon &coupon) override |
| virtual Real | optionletPrice (Option::Type optionType, Real strike) const =0 |
Protected Attributes inherited from HaganPricer | |
| ext::shared_ptr< YieldTermStructure > | rateCurve_ |
| GFunctionFactory::YieldCurveModel | modelOfYieldCurve_ |
| ext::shared_ptr< GFunction > | gFunction_ |
| const CmsCoupon * | coupon_ |
| Date | paymentDate_ |
| Date | fixingDate_ |
| Rate | swapRateValue_ |
| DiscountFactor | discount_ |
| Real | annuity_ |
| Real | gearing_ |
| Spread | spread_ |
| Real | spreadLegValue_ |
| Rate | cutoffForCaplet_ = 2 |
| Rate | cutoffForFloorlet_ = 0 |
| Handle< Quote > | meanReversion_ |
| Period | swapTenor_ |
| ext::shared_ptr< VanillaOptionPricer > | vanillaOptionPricer_ |
CMS-coupon pricer.
Prices a cms coupon via static replication as in Hagan's "Conundrums..." article via numerical integration based on prices of vanilla swaptions
Definition at line 247 of file conundrumpricer.hpp.
| NumericHaganPricer | ( | const Handle< SwaptionVolatilityStructure > & | swaptionVol, |
| GFunctionFactory::YieldCurveModel | modelOfYieldCurve, | ||
| const Handle< Quote > & | meanReversion, | ||
| Rate | lowerLimit = 0.0, |
||
| Rate | upperLimit = 1.0, |
||
| Real | precision = 1.0e-6, |
||
| Real | hardUpperLimit = QL_MAX_REAL |
||
| ) |
Definition at line 270 of file conundrumpricer.cpp.
| Real upperLimit | ( | ) | const |
Definition at line 258 of file conundrumpricer.hpp.
| Real lowerLimit | ( | ) | const |
| Real stdDeviations | ( | ) | const |
Definition at line 260 of file conundrumpricer.hpp.
| Real integrate | ( | Real | a, |
| Real | b, | ||
| const ConundrumIntegrand & | Integrand | ||
| ) | const |
Definition at line 281 of file conundrumpricer.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements HaganPricer.
Definition at line 346 of file conundrumpricer.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements HaganPricer.
Definition at line 380 of file conundrumpricer.cpp.
Here is the call graph for this function:Definition at line 411 of file conundrumpricer.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 425 of file conundrumpricer.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| Real refineIntegration | ( | Real | integralValue, |
| const ConundrumIntegrand & | integrand | ||
| ) | const |
|
mutable |
Definition at line 310 of file conundrumpricer.hpp.
| Real stdDeviationsForLowerLimit_ |
Definition at line 310 of file conundrumpricer.hpp.
| Real upperLimit_ |
Definition at line 310 of file conundrumpricer.hpp.
| Real stdDeviationsForUpperLimit_ |
Definition at line 310 of file conundrumpricer.hpp.
| const Real requiredStdDeviations_ = 8 |
Definition at line 311 of file conundrumpricer.hpp.
| const Real precision_ |
Definition at line 311 of file conundrumpricer.hpp.
| const Real refiningIntegrationTolerance_ = .0001 |
Definition at line 312 of file conundrumpricer.hpp.
| const Real hardUpperLimit_ |
Definition at line 313 of file conundrumpricer.hpp.