QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
CMS-coupon pricer. More...
#include <conundrumpricer.hpp>
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 () | |
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 253 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 264 of file conundrumpricer.hpp.
Real lowerLimit | ( | ) | const |
Real stdDeviations | ( | ) | const |
Definition at line 266 of file conundrumpricer.hpp.
Real integrate | ( | Real | a, |
Real | b, | ||
const ConundrumIntegrand & | Integrand | ||
) | const |
Definition at line 281 of file conundrumpricer.cpp.
|
overridevirtual |
Implements HaganPricer.
Definition at line 346 of file conundrumpricer.cpp.
|
overridevirtual |
Implements HaganPricer.
Definition at line 380 of file conundrumpricer.cpp.
Definition at line 411 of file conundrumpricer.cpp.
Definition at line 425 of file conundrumpricer.cpp.
Real refineIntegration | ( | Real | integralValue, |
const ConundrumIntegrand & | integrand | ||
) | const |
|
mutable |
Definition at line 316 of file conundrumpricer.hpp.
Real stdDeviationsForLowerLimit_ |
Definition at line 316 of file conundrumpricer.hpp.
Real upperLimit_ |
Definition at line 316 of file conundrumpricer.hpp.
Real stdDeviationsForUpperLimit_ |
Definition at line 316 of file conundrumpricer.hpp.
const Real requiredStdDeviations_ = 8 |
Definition at line 317 of file conundrumpricer.hpp.
const Real precision_ |
Definition at line 317 of file conundrumpricer.hpp.
const Real refiningIntegrationTolerance_ = .0001 |
Definition at line 318 of file conundrumpricer.hpp.
const Real hardUpperLimit_ |
Definition at line 319 of file conundrumpricer.hpp.