QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
NumericHaganPricer Class Reference

CMS-coupon pricer. More...

#include <ql/cashflows/conundrumpricer.hpp>

Inheritance diagram for NumericHaganPricer:

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
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< SwaptionVolatilityStructureswaptionVolatility () const
void setSwaptionVolatility (const Handle< SwaptionVolatilityStructure > &v=Handle< SwaptionVolatilityStructure >())
Public Member Functions inherited from FloatingRateCouponPricer
void update () override
Public Member Functions inherited from Observer
 Observer (const Observer &)
Observeroperator= (const 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 deepUpdate ()
Public Member Functions inherited from Observable
 Observable (const Observable &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()

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
Protected Attributes inherited from HaganPricer
ext::shared_ptr< YieldTermStructurerateCurve_
GFunctionFactory::YieldCurveModel modelOfYieldCurve_
ext::shared_ptr< GFunction > gFunction_
const CmsCouponcoupon_
Date paymentDate_
Date fixingDate_
Rate swapRateValue_
DiscountFactor discount_
Real annuity_
Real gearing_
Spread spread_
Real spreadLegValue_
Rate cutoffForCaplet_ = 2
Rate cutoffForFloorlet_ = 0
Handle< QuotemeanReversion_
Period swapTenor_
ext::shared_ptr< VanillaOptionPricer > vanillaOptionPricer_

Detailed Description

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

Member Function Documentation

◆ optionletPrice()

Real optionletPrice ( Option::Type optionType,
Rate strike ) const
overridevirtual

Implements HaganPricer.

◆ swapletPrice()

Real swapletPrice ( ) const
overridevirtual

Implements HaganPricer.