QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | Public Attributes | List of all members
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 stdDeviations () const
 
Real integrate (Real a, Real b, const ConundrumIntegrand &Integrand) const
 
virtual Real optionletPrice (Option::Type optionType, Rate strike) const
 
virtual Real swapletPrice () const
 
Real resetUpperLimit (Real stdDeviationsForUpperLimit) const
 
Real refineIntegration (Real integralValue, const ConundrumIntegrand &integrand) const
 
- Public Member Functions inherited from HaganPricer
virtual Rate swapletRate () const
 
virtual Real capletPrice (Rate effectiveCap) const
 
virtual Rate capletRate (Rate effectiveCap) const
 
virtual Real floorletPrice (Rate effectiveFloor) const
 
virtual Rate floorletRate (Rate effectiveFloor) const
 
Real meanReversion () const
 
void setMeanReversion (const Handle< Quote > &meanReversion)
 
- Public Member Functions inherited from CmsCouponPricer
 CmsCouponPricer (const Handle< SwaptionVolatilityStructure > &v=Handle< SwaptionVolatilityStructure >())
 
Handle< SwaptionVolatilityStructureswaptionVolatility () const
 
void setSwaptionVolatility (const Handle< SwaptionVolatilityStructure > &v=Handle< SwaptionVolatilityStructure >())
 
- Public Member Functions inherited from FloatingRateCouponPricer
void update ()
 
- 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 &)
 
void notifyObservers ()
 

Public Attributes

Real upperLimit_
 
Real stdDeviationsForUpperLimit_
 
const Real lowerLimit_
 
const Real requiredStdDeviations_
 
const Real precision_
 
const Real refiningIntegrationTolerance_
 
const Real hardUpperLimit_
 

Additional Inherited Members

- Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from HaganPricer
 HaganPricer (const Handle< SwaptionVolatilityStructure > &swaptionVol, GFunctionFactory::YieldCurveModel modelOfYieldCurve, const Handle< Quote > &meanReversion)
 
void initialize (const FloatingRateCoupon &coupon)
 
- 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_
 
Rate cutoffForFloorlet_
 
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